Пример #1
0
 /**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     @set_time_limit(0);
     @ignore_user_abort(true);
     define('CHK_EVENT', true);
     $agentManager = new \CAgent();
     $agentManager->CheckAgents();
     define('BX_CRONTAB_SUPPORT', true);
     define('BX_CRONTAB', true);
     $eventManager = new \CEvent();
     $eventManager->CheckEvents();
 }
Пример #2
0
    while ($ar_sales = $db_sales->Fetch()) {
        $arFilterBasket = array("ORDER_ID" => $ar_sales['ID']);
        $arBasketItems = array();
        $dbB = CSaleBasket::GetList(array("ID" => "ASC"), $arFilterBasket, false, false, array("ID", "PRODUCT_ID", "NAME", "QUANTITY", "PRICE", "CURRENCY", "DETAIL_PAGE_URL", "LID", "CAN_BUY", "SUBSCRIBE", "DELAY", 'ORDER_ID'));
        // Создадим массив с товарами, которые находятся в заказах, распределенными по пользователям
        while ($arB = $dbB->Fetch()) {
            $arOrderedItemsByUser[$arUser['ID']][$arB['PRODUCT_ID']] = $arB['PRODUCT_ID'];
        }
    }
}
// Отфильтруем из отложенных товаров те, которые были отправленны в заказ. Для этого создадим новый массив
foreach ($arItemsByUser as $userID => $userItems) {
    foreach ($userItems as $itemIndex => $arItem) {
        if (!in_array($arItem['PRODUCT_ID'], $arOrderedItemsByUser[$userID])) {
            $arItemsByUserFinal[$userID][] = $arItem;
        }
    }
}
// Создадим почтовые события
foreach ($arItemsByUserFinal as $userID => $arItems) {
    $arUser = $arUsers[$userID];
    $products = '';
    foreach ($arItems as $arItem) {
        $products .= $arItem['NAME'] . "\r\n";
    }
    $arEventFields = array("NAME" => $arUser['NAME'], "LAST_NAME" => $arUser['LAST_NAME'], "EMAIL_TO" => $arUser['EMAIL'], "PRODUCT_LIST" => $products);
    CEvent::Send("REMIND_BASKET", 's1', $arEventFields);
}
// Отправим письма
CEvent::CheckEvents();
Пример #3
0
 function EpilogActions()
 {
     global $DB;
     //send email events
     if (COption::GetOptionString("main", "check_events", "Y") !== "N") {
         $DB->StartUsingMasterOnly();
         CEvent::CheckEvents();
         $DB->StopUsingMasterOnly();
     }
     //files cleanup
     CMain::FileAction();
 }
Пример #4
0
 function EpilogActions()
 {
     CEvent::CheckEvents();
     CMain::FileAction();
 }