Всем привет!
Дело такое, пишу свой модуль, возникла необходимость периодически проверять все активные страницы модуля на соответствие некому параметру, проще говоря, если истек срок, то просто снимаем активность со страницы. В общем с самим CRON проблем не возникло, заданная функция выполняется каждую минуту, код я стянул из модуля новостей, немного изменил так что бы он снимал с публикации новость, ну и он прекрасно стал работать
$pages = new selector('pages');
$pages->types('hierarchy-type')->name('news', 'item');
$pages->where('is_active')->notequals(false);
$pages->where('end_time')->eqless(time());
foreach ($pages as $page){
$page->setIsActive(false);
$page->commit();
}
после чего я изменил тип данных новостей на свой, код получился следующий
public function checkFinish(){
$this -> sendNotifications(); //тут я отправляю себе на почту письмо
$pages = new selector('pages');
$pages->types('hierarchy-type')->name('mymodule', 'mymethod');
$pages->where('is_active')->notequals(false);
$pages->where('end_time')->eqless(time());
foreach ($pages as $page){
$page->setIsActive(false);
$page->commit();
}
}
mymodule и mymethod соответствуют типу в настройках шаблонов данных.
И тут самое интересное, код внезапно перестал выполняться, все поля имеются и заполнены корректно, не выполняется код именно когда функция вызывается кроном, при том уведомление на почту уходит, а страницы не снимаются с публикации, а если я вызываю ее напрямую из браузера, то она отрабатывает полностью, в общем судя по всему дело именно в типе данных, может быть нужно какие нибудь права доступа выставлять?