UMIhelp

Разработка дополнительного функционала => Разработка модулей => Тема начата: Byte от 21 Сентября 2014, 12:56:16

Название: Проблема с CRON
Отправлено: Byte от 21 Сентября 2014, 12:56:16
Всем привет!

Дело такое, пишу свой модуль, возникла необходимость периодически проверять все активные страницы модуля на соответствие некому параметру, проще говоря, если истек срок, то просто снимаем активность со страницы. В общем с самим 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 соответствуют типу в настройках шаблонов данных.

И тут самое интересное, код внезапно перестал выполняться, все поля имеются и заполнены корректно, не выполняется код именно когда функция вызывается кроном, при том уведомление на почту уходит, а страницы не снимаются с публикации, а если я вызываю ее напрямую из браузера, то она отрабатывает полностью, в общем судя по всему дело именно в типе данных, может быть нужно какие нибудь права доступа выставлять?
Название: Re:Проблема с CRON
Отправлено: Byte от 21 Сентября 2014, 14:01:03
Да, вот еще момент, только сейчас заметил ручной запуск cron.php дает желаемый результат, когда я авторизован в системе, если не авторизован, то результата ноль, а если то же самое делать с новостями, то даже без авторизации отрабатывает нормально
Название: Re:Проблема с CRON
Отправлено: Byte от 21 Сентября 2014, 14:50:18
Все, разобрался сам, все дело в правах доступа к странице
Название: Re:Проблема с CRON
Отправлено: Byte от 21 Сентября 2014, 15:28:26
блин, теперь проблема другая, не могу понять как дефолтно выставить галочки (права доступа к странице)
Название: Re:Проблема с CRON
Отправлено: Byte от 21 Сентября 2014, 15:34:35
Все, с этим,вроде, тоже разобрался =)
Название: Re:Проблема с CRON
Отправлено: admin от 27 Сентября 2014, 13:50:52
Все, с этим,вроде, тоже разобрался =)
поделитесь, каким именно способом решали данный вопрос?
Название: Re:Проблема с CRON
Отправлено: Byte от 27 Сентября 2014, 14:12:26
Для пользовательского метода
$permissions = permissionsCollection::getInstance();
$permissions->setDefaultPermissions($newElementId);

для добавления в админке установил права в permissions.php, правда не до конца еще понимаю всю правовую логику
Название: Re:Проблема с CRON
Отправлено: admin от 27 Сентября 2014, 14:33:42
для добавления в админке установил права в permissions.php, правда не до конца еще понимаю всю правовую логику

мой личный опыт показывает, что права на редактирование, например страниц каталога, можно автоматом проставить, если при создании пользователя или при создании группы пользователей сразу выставить права на редактирование страниц каталога. Еще раз обращу внимание, не потом пересохранить, а именно при создании группы пользователей или пользователя выставить все что требуется.
Название: Re:Проблема с CRON
Отправлено: Byte от 27 Сентября 2014, 15:16:59
Дело в том, что я работаю не с страницами каталога, а со страницами своего модуля, которые к каталогу иили к любому другому модулю отношения не имеют, то есть все права я устанавливаю именно в этом модуле, а уж только потом ставлю галочки в настройках группы пользователей, но эти галочки работают только при грамотно настроенном permissions.php
Название: Re:Проблема с CRON
Отправлено: admin от 27 Сентября 2014, 17:26:53
Дело в том, что я работаю не с страницами каталога, а со страницами своего модуля, которые к каталогу иили к любому другому модулю отношения не имеют, то есть все права я устанавливаю именно в этом модуле, а уж только потом ставлю галочки в настройках группы пользователей, но эти галочки работают только при грамотно настроенном permissions.php

понял, я думал что этот вопрос не актуален, что случается при настройке прав на существующие в umi модулях
Название: Re:Проблема с CRON
Отправлено: Byte от 27 Сентября 2014, 17:30:51
Это был вопрос? Я думаю ничего не случается, просто  открываются права и все, естественно до ближайшего обновления, которго скорее всего уже не будет
Название: Re:Проблема с CRON
Отправлено: admin от 27 Сентября 2014, 22:21:29
Это был вопрос? Я думаю ничего не случается, просто  открываются права и все, естественно до ближайшего обновления, которго скорее всего уже не будет

нет, не был вопросом)
Название: Re:Проблема с CRON
Отправлено: Byte от 28 Сентября 2014, 00:24:27
Тогда пардон