- Модуль: pull
- Путь к файлу: ~/bitrix/modules/pull/lib/event.php
- Класс: BitrixPullEvent
- Вызов: Event::generateEventsForUsers
static function generateEventsForUsers($recipients, $parameters, $channelType = CPullChannel::TYPE_PRIVATE)
{
if (!is_array($recipients))
{
$recipients = [$recipients];
}
if (is_array($parameters['dictionary']))
{
$dictionary = $parameters['dictionary'];
unset($parameters['dictionary']);
$parameters['params'] = array_merge($parameters['params'], $dictionary);
}
$processed = [];
if (is_array($parameters['user_params']))
{
$params = $parameters['params'];
$paramsByUser = $parameters['user_params'];
unset($parameters['user_params']);
foreach ($recipients as $recipient)
{
if (isset($paramsByUser[$recipient]) && is_array($paramsByUser[$recipient]))
{
$userParams = $parameters;
$userParams['params'] = array_merge($params, $paramsByUser[$recipient]);
self::addEvent($recipient, $userParams, $channelType);
$processed[] = $recipient;
}
}
}
$left = array_diff($recipients, $processed);
if (!empty($left))
{
self::addEvent($left, $parameters, $channelType);
}
}