Current File : /var/www/vinorea/modules/ipexportimport/classes/import/order/EIACronExpression.php |
<?php
/**
*
* NOTICE OF LICENSE
*
* @author SmartPresta <tehran.alishov@gmail.com>
* @copyright 2024 SmartPresta
* @license Commercial License
*/
if (!defined('_PS_VERSION_')) {
exit;
}
require_once(_PS_MODULE_DIR_ . 'ipexportimport/libraries/Schedule/CrontabValidator.php');
require_once(_PS_MODULE_DIR_ . 'ipexportimport/libraries/Schedule/CronSchedule.php');
require_once(_PS_MODULE_DIR_ . 'ipexportimport/libraries/Schedule/csd_parser.php');
class EIACronExpression
{
private $expression;
const DEFAULT_EXPRESSION = '0 * * * *';
public function __construct($expression)
{
$this->expression = trim($expression);
$this->expression = preg_replace('#\s+#', ' ', $expression);
$this->expression = $this->decode($expression);
}
public function get()
{
return $this->expression;
}
private function decode($encoded_expression)
{
switch ($encoded_expression) {
case "@yearly":
case "@annually":
return "0 0 1 1 *";
case "@monthly":
return "0 0 1 * *";
case "@weekly":
return "0 0 * * 0";
case "@daily":
case "@midnight":
return "0 0 * * *";
case "@hourly":
return "0 * * * *";
default:
return $encoded_expression;
}
}
}