- Модуль: rest
- Путь к файлу: ~/bitrix/modules/rest/lib/configuration/manifest.php
- Класс: BitrixRestConfigurationManifest
- Вызов: Manifest::callEventInit
static function callEventInit($code, $params = [])
{
$result = [];
$manifest = static::get($code);
if ($manifest !== false && isset($params['TYPE']) && isset($params['CONTEXT_USER']))
{
$step = intval($params['STEP']);
$setting = new Setting($params['CONTEXT_USER']);
if ($step === 0)
{
$setting->delete(Setting::SETTING_MANIFEST);
}
$event = new Event(
'rest',
static::ON_REST_APP_CONFIGURATION_GET_MANIFEST_SETTING,
[
'CODE' => $manifest['CODE'],
'MANIFEST' => $manifest,
'TYPE' => $params['TYPE'],
'CONTEXT' => $params['CONTEXT'] ?? false,
'CONTEXT_USER' => $params['CONTEXT_USER'],
'STEP' => $step,
'NEXT' => isset($params['NEXT']) ? $params['NEXT'] : null,
'ITEM_CODE' => $params['ITEM_CODE'] ? : null,
'ADDITIONAL_OPTION' => is_array($params['ADDITIONAL_OPTION']) ? $params['ADDITIONAL_OPTION'] : [],
'SETTING' => $setting->get(Setting::SETTING_MANIFEST),
'USER_ID' => $setting->get(Setting::SETTING_USER_ID) ?? 0,
]
);
EventManager::getInstance()->send($event);
foreach ($event->getResults() as $eventResult)
{
$parameters = $eventResult->getParameters();
if (isset($parameters['SETTING']))
{
$setting->set(Setting::SETTING_MANIFEST, $parameters['SETTING']);
}
$result[] = [
'NEXT' => isset($parameters['NEXT']) ? $parameters['NEXT'] : false,
'ERROR_MESSAGES' => $parameters['ERROR_MESSAGES'] ?? null,
'ERROR_ACTION' => $parameters['ERROR_ACTION'] ?? null
];
}
}
return $result;
}