• Модуль: pull
  • Путь к файлу: ~/bitrix/modules/pull/lib/event.php
  • Класс: BitrixPullEvent
  • Вызов: Event::prepareParameters
static function prepareParameters(array $parameters)
{
	if (empty($parameters['command']))
	{
		self::$error = new Error(__METHOD__, 'EVENT_PARAMETERS_FORMAT', Loc::getMessage('PULL_EVENT_PARAMETERS_FORMAT_ERROR'), $parameters);
		return false;
	}

	$parameters['module_id'] = mb_strtolower($parameters['module_id']);
	$parameters['expiry'] = (int)($parameters['expiry'] ?? 86400);

	if (isset($parameters['paramsCallback']))
	{
		if (empty($parameters['paramsCallback']['class']) || empty($parameters['paramsCallback']['method']))
		{
			self::$error = new Error(__METHOD__, 'EVENT_CALLBACK_FORMAT', Loc::getMessage('PULL_EVENT_CALLBACK_FORMAT_ERROR'), $parameters);
			return false;
		}

		if (empty($parameters['paramsCallback']['module_id']))
		{
			$parameters['paramsCallback']['module_id'] = $parameters['module_id'];
		}

		MainLoader::includeModule($parameters['paramsCallback']['module_id']);

		if (!method_exists($parameters['paramsCallback']['class'], $parameters['paramsCallback']['method']))
		{
			self::$error = new Error(__METHOD__, 'EVENT_CALLBACK_NOT_FOUND', Loc::getMessage('PULL_EVENT_CALLBACK_FORMAT_ERROR'), $parameters);
			return false;
		}
		if (!isset($parameters['paramsCallback']['params']))
		{
			$parameters['paramsCallback']['params'] = [];
		}

		$parameters['params'] = [];
		$parameters['hasCallback'] = true;
	}
	else
	{
		if (!isset($parameters['params']) || !is_array($parameters['params']))
		{
			$parameters['params'] = [];
		}
	}

	$parameters['extra']['server_time'] ??= date('c');
	$parameters['extra']['server_time_unix'] ??= microtime(true);

	$parameters['extra']['server_name'] = Option::get('main', 'server_name', $_SERVER['SERVER_NAME']);
	$parameters['extra']['revision_web'] = PULL_REVISION_WEB;
	$parameters['extra']['revision_mobile'] = PULL_REVISION_MOBILE;

	return $parameters;
}