- Модуль: sender
- Путь к файлу: ~/bitrix/modules/sender/lib/trigger/manager.php
- Класс: BitrixSenderTriggerManager
- Вызов: Manager::actualizeHandlerForChild
static function actualizeHandlerForChild($activate = null)
{
$eventHandlerList = array(
array(
'sender',
'OnAfterMailingChainSend',
'sender',
__CLASS__,
'onAfterMailingChainSend'
),
array(
'sender',
'OnAfterPostingSendRecipient',
'sender',
__CLASS__,
'onAfterPostingSendRecipient'
)
);
if($activate === null)
{
$existsDb = MailingChainTable::getList(array(
'select' => array('ID'),
'filter' => array(
'!PARENT_ID' => null,
'=IS_TRIGGER' => 'Y',
'=MAILING.ACTIVE' => 'Y',
//'=STATUS' => array(MailingChainTable::STATUS_WAIT, MailingChainTable::STATUS_SEND)
),
'limit' => 1
));
if($existsDb->fetch())
{
$activate = true;
}
else
{
$activate = false;
}
}
if($activate === true)
{
$eventManager = EventManager::getInstance();
foreach($eventHandlerList as $h)
$eventManager->registerEventHandler($h[0],$h[1],$h[2],$h[3],$h[4]);
}
elseif($activate === false)
{
$eventManager = EventManager::getInstance();
foreach($eventHandlerList as $h)
$eventManager->unRegisterEventHandler($h[0],$h[1],$h[2],$h[3],$h[4]);
}
}