• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/mail/tracking.php
  • Класс: BitrixMainMailTracking
  • Вызов: Tracking::getSubscriptionList
static function getSubscriptionList($data)
{
	$subscription = array();

	if(array_key_exists('MODULE_ID', $data))
		$filter = array($data['MODULE_ID']);
	else
		$filter = null;

	if(!is_array($data['FIELDS'])) return false;

	$event = new MainEvent("main", "OnMailEventSubscriptionList", array($data['FIELDS']), $filter);
	$event->send();
	foreach ($event->getResults() as $eventResult)
	{
		if ($eventResult->getType() == EventResult::ERROR)
		{
			return false;
		}

		$subscriptionList = $eventResult->getParameters();
		if($subscriptionList && is_array($subscriptionList['LIST']))
		{
			$subscription = array_merge(
				$subscription,
				array($eventResult->getModuleId() => $subscriptionList['LIST'])
			);
		}
	}

	if (empty($data['MODULE_ID']) || $data['MODULE_ID'] === 'main')
	{
		if (empty($subscription['main']))
		{
			$subscription['main'] = [];
		}
		$subscription['main'] = array_merge(
			$subscription['main'],
			EventManager::onMailEventSubscriptionList($data)
		);
	}

	if(array_key_exists('MODULE_ID', $data))
		$subscription = $subscription[$data['MODULE_ID']];

	return $subscription;
}