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