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