- Модуль: sender
- Путь к файлу: ~/bitrix/modules/sender/lib/trigger/manager.php
- Класс: BitrixSenderTriggerManager
- Вызов: Manager::activateAllHandlers
static function activateAllHandlers($activate = true)
{
static::actualizeHandlerForChild($activate);
$itemDb = MailingTriggerTable::getList(array(
'select' => array('ENDPOINT', 'MAILING_CHAIN_ID'),
'filter' => array(
'=MAILING_CHAIN.IS_TRIGGER' => 'Y',
'=MAILING_CHAIN.MAILING.ACTIVE' => 'Y',
)
));
while($item = $itemDb->fetch())
{
if(!is_array($item['ENDPOINT']))
{
continue;
}
if($activate)
{
MailingTriggerTable::actualizeHandlers($item['MAILING_CHAIN_ID'], $item['ENDPOINT'], null);
}
else
{
MailingTriggerTable::actualizeHandlers($item['MAILING_CHAIN_ID'], null, $item['ENDPOINT']);
}
$settings = new Settings($item['ENDPOINT']);
if(!$settings->isClosedTrigger() && $settings->getEventModuleId() && $settings->getEventType())
{
static::actualizeHandler(
array('MODULE_ID' => $settings->getEventModuleId(), 'EVENT_TYPE' => $settings->getEventType()),
$activate
);
}
}
}