1 Отредактировано Ярослав (11.02.2019 18:15:53)

Тема: Пример триггера для модуля рассылки

Здравствуйте, коллеги!
Пишу свой триггер, но что то не выходит каменный цветок.
Задача при появлении новых товаров выполнять рассылку.

 function match()
    {
         \RS\HashStore\Api::set(self::DATE_LAST_CHECK, (string) time());
        $lastrun = \RS\HashStore\Api::get(self::DATE_LAST_RUN,0);
        $days = floor((time() - $lastrun) / (60 * 60 * 24));
        $new = \RS\HashStore\Api::get(self::DATE_NEW);
        $last = \RS\HashStore\Api::get(self::DATE_LAST);
        $daysnew = floor((time() - strtotime($new)) / (60 * 60 * 24));
        $dayslast = floor((time() - strtotime($last)) / (60 * 60 * 24));
        
       
      file_put_contents('mlog.txt',var_export(date("Y-m-d H:i:s") ,true),FILE_APPEND);
      file_put_contents('mlog.txt',var_export($daysnew." ".$dayslast ,true),FILE_APPEND);
        
        $result = array();
        if ((\RS\Module\Manager::staticModuleExists('mailsender')) 
                && ($days > 0) 
                && ($daysnew <= $days || $dayslast <= $days)) { 
          

            $users = \RS\Orm\Request::make() //получим всех пользователей
                    ->from(new \Users\Model\Orm\User(), 'U')     
                    ->whereIn('e_mail',array('alerts@ev-lab.ru','mail@bnm-socks.ru'))
                    ->objects();
            foreach ($users as $user) {
                $result[] = new \MailSender\Model\TriggerData($user);
            }
            file_put_contents('mlog.txt','sending',FILE_APPEND);   
            
            \RS\HashStore\Api::set(self::DATE_LAST_RUN, (string) time());

        }
        return $result;
    }

Есть ли примеры триггеров?