/** * @param string $cronDayOfMonth * @param Noovias_Cron_Data_CronExpression $data */ protected function convertDayOfMonth($cronDayOfMonth, Noovias_Cron_Data_CronExpression &$data) { if (strpos($cronDayOfMonth, ',') !== false) { $data->setDayOfMonthOption(Noovias_Cron_Data_CronExpression::OPTION_SPECIFY); $data->setSpecifyDayOfMonth(explode(',', $cronDayOfMonth)); } elseif (strpos($cronDayOfMonth, '-') !== false) { $data->setDayOfMonthOption(Noovias_Cron_Data_CronExpression::OPTION_FROMTO); preg_match('#(\\d+)-(\\d+)#', $cronDayOfMonth, $pockets); if (array_key_exists(1, $pockets) && array_key_exists(2, $pockets)) { $data->setFromDayOfMonth($pockets[1]); $data->setToDayOfMonth($pockets[2]); } else { throw new Exception('From or to day of month parameter wrong.'); } } elseif ($cronDayOfMonth === '*') { $data->setDayOfMonthOption(Noovias_Cron_Data_CronExpression::OPTION_EVERY); } elseif (is_numeric($cronDayOfMonth)) { $data->setDayOfMonthOption(Noovias_Cron_Data_CronExpression::OPTION_SPECIFY); $data->setSpecifyDayOfMonth(array($cronDayOfMonth)); } }