File "ActionScheduler_Abstract_RecurringSchedule.php"
Full Path: /home/warrior1/public_html/wp-content/plugins/mailpoet/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_Abstract_RecurringSchedule.php
File size: 1.03 KB
MIME-type: text/x-php
Charset: utf-8
<?php
if (!defined('ABSPATH')) exit;
abstract class ActionScheduler_Abstract_RecurringSchedule extends ActionScheduler_Abstract_Schedule {
private $first_date = NULL;
protected $first_timestamp = NULL;
protected $recurrence;
public function __construct( DateTime $date, $recurrence, DateTime $first = null ) {
parent::__construct( $date );
$this->first_date = empty( $first ) ? $date : $first;
$this->recurrence = $recurrence;
}
public function is_recurring() {
return true;
}
public function get_first_date() {
return clone $this->first_date;
}
public function get_recurrence() {
return $this->recurrence;
}
public function __sleep() {
$sleep_params = parent::__sleep();
$this->first_timestamp = $this->first_date->getTimestamp();
return array_merge( $sleep_params, array(
'first_timestamp',
'recurrence'
) );
}
public function __wakeup() {
parent::__wakeup();
if ( $this->first_timestamp > 0 ) {
$this->first_date = as_get_datetime_object( $this->first_timestamp );
} else {
$this->first_date = $this->get_date();
}
}
}