Initial Commit
This commit is contained in:
43
dependencies/woocommerce/action-scheduler/lib/cron-expression/CronExpression_YearField.php
vendored
Normal file
43
dependencies/woocommerce/action-scheduler/lib/cron-expression/CronExpression_YearField.php
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Year field. Allows: * , / -
|
||||
*
|
||||
* @author Michael Dowling <mtdowling@gmail.com>
|
||||
*/
|
||||
class CronExpression_YearField extends CronExpression_AbstractField
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function isSatisfiedBy(DateTime $date, $value)
|
||||
{
|
||||
return $this->isSatisfied($date->format('Y'), $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function increment(DateTime $date, $invert = false)
|
||||
{
|
||||
if ($invert) {
|
||||
$date->modify('-1 year');
|
||||
$date->setDate($date->format('Y'), 12, 31);
|
||||
$date->setTime(23, 59, 0);
|
||||
} else {
|
||||
$date->modify('+1 year');
|
||||
$date->setDate($date->format('Y'), 1, 1);
|
||||
$date->setTime(0, 0, 0);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function validate($value)
|
||||
{
|
||||
return (bool) preg_match('/[\*,\/\-0-9]+/', $value);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user