- Модуль: pull
- Путь к файлу: ~/bitrix/modules/pull/lib/event.php
- Класс: BitrixPullEvent
- Вызов: Event::preparePushParameters
static function preparePushParameters(array $parameters)
{
$parameters['module_id'] = mb_strtolower($parameters['module_id']);
if (isset($parameters['pushParamsCallback']))
{
if (
empty($parameters['pushParamsCallback']['class'])
|| empty($parameters['pushParamsCallback']['method'])
)
{
self::$error = new Error(__METHOD__, 'EVENT_PUSH_CALLBACK_FORMAT', Loc::getMessage('PULL_EVENT_PUSH_CALLBACK_FORMAT_ERROR'), $parameters);
return false;
}
if (empty($parameters['pushParamsCallback']['module_id']))
{
$parameters['pushParamsCallback']['module_id'] = $parameters['module_id'];
}
MainLoader::includeModule($parameters['pushParamsCallback']['module_id']);
if (!method_exists($parameters['pushParamsCallback']['class'], $parameters['pushParamsCallback']['method']))
{
self::$error = new Error(__METHOD__, 'EVENT_PUSH_CALLBACK_NOT_FOUND', Loc::getMessage('PULL_EVENT_PUSH_CALLBACK_FORMAT_ERROR'), $parameters);
return false;
}
if (!isset($parameters['pushParamsCallback']['params']))
{
$parameters['pushParamsCallback']['params'] = [];
}
$parameters['push']['pushParamsCallback'] = $parameters['pushParamsCallback'];
$parameters['hasPushCallback'] = true;
}
else
{
$parameters['hasPushCallback'] = false;
$parameters['pushParamsCallback'] = [];
if (isset($parameters['badge']) && $parameters['badge'] == 'Y')
{
$parameters['send_immediately'] = 'Y';
unset($parameters['badge']);
}
if (empty($parameters['push']))
{
self::$error = new Error(__METHOD__, 'EVENT_PUSH_PARAMETERS_FORMAT', Loc::getMessage('PULL_EVENT_PUSH_PARAMETERS_FORMAT_ERROR'), $parameters);
return false;
}
}
if (!isset($parameters['extra']['server_time']))
{
$parameters['extra']['server_time'] = date('c');
}
if (!$parameters['extra']['server_time_unix'])
{
$parameters['extra']['server_time_unix'] = microtime(true);
}
return $parameters;
}