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