Squashed 'libraries/action-scheduler/' content from commit a95f351
git-subtree-dir: libraries/action-scheduler git-subtree-split: a95f351058eada5e5281faa22e5a40865542e839
This commit is contained in:
58
classes/migration/LogMigrator.php
Normal file
58
classes/migration/LogMigrator.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Action_Scheduler\Migration;
|
||||
|
||||
use ActionScheduler_Logger;
|
||||
|
||||
/**
|
||||
* Class LogMigrator
|
||||
*
|
||||
* @package Action_Scheduler\Migration
|
||||
*
|
||||
* @since 3.0.0
|
||||
*
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
class LogMigrator {
|
||||
/**
|
||||
* Source logger instance.
|
||||
*
|
||||
* @var ActionScheduler_Logger
|
||||
*/
|
||||
private $source;
|
||||
|
||||
/**
|
||||
* Destination logger instance.
|
||||
*
|
||||
* @var ActionScheduler_Logger
|
||||
*/
|
||||
private $destination;
|
||||
|
||||
/**
|
||||
* ActionMigrator constructor.
|
||||
*
|
||||
* @param ActionScheduler_Logger $source_logger Source logger object.
|
||||
* @param ActionScheduler_Logger $destination_logger Destination logger object.
|
||||
*/
|
||||
public function __construct( ActionScheduler_Logger $source_logger, ActionScheduler_Logger $destination_logger ) {
|
||||
$this->source = $source_logger;
|
||||
$this->destination = $destination_logger;
|
||||
}
|
||||
|
||||
/**
|
||||
* Migrate an action log.
|
||||
*
|
||||
* @param int $source_action_id Source logger object.
|
||||
* @param int $destination_action_id Destination logger object.
|
||||
*/
|
||||
public function migrate( $source_action_id, $destination_action_id ) {
|
||||
$logs = $this->source->get_logs( $source_action_id );
|
||||
|
||||
foreach ( $logs as $log ) {
|
||||
if ( absint( $log->get_action_id() ) === absint( $source_action_id ) ) {
|
||||
$this->destination->log( $destination_action_id, $log->get_message(), $log->get_date() );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user