- Модуль: pull
- Путь к файлу: ~/bitrix/modules/pull/lib/event.php
- Класс: BitrixPullEvent
- Вызов: Event::add
static function add($recipient, array $parameters, $channelType = CPullChannel::TYPE_PRIVATE)
{
if (!isset($parameters['module_id']))
{
self::$error = new Error(__METHOD__, 'EVENT_PARAMETERS_FORMAT', Loc::getMessage('PULL_EVENT_PARAMETERS_FORMAT_ERROR'), $parameters);
return false;
}
$badUnicodeSymbolsPath = Common::findInvalidUnicodeSymbols($parameters);
if ($badUnicodeSymbolsPath)
{
$warning = 'Parameters array contains invalid UTF-8 characters by the path ' . $badUnicodeSymbolsPath;
self::$error = new Error(__METHOD__, 'EVENT_BAD_ENCODING', $warning, $parameters);
return false;
}
if (isset($parameters['command']) && !empty($parameters['command']))
{
if (!Config::isJsonRpcUsed() && (isset($parameters['user_params']) || isset($parameters['dictionary'])))
{
self::generateEventsForUsers($recipient, $parameters, $channelType);
}
else
{
$result = self::addEvent($recipient, $parameters, $channelType);
}
}
else if (isset($parameters['push']) || isset($parameters['pushParamsCallback']))
{
$result = self::addPush($recipient, $parameters);
}
else
{
self::$error = new Error(__METHOD__, 'EVENT_PARAMETERS_FORMAT', Loc::getMessage('PULL_EVENT_PARAMETERS_FORMAT_ERROR'), $parameters);
return false;
}
return $result;
}