• Модуль: 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]);
	}
}