- Модуль: rest
- Путь к файлу: ~/bitrix/modules/rest/classes/general/rest_provider.php
- Класс: CRestProvider
- Вызов: CRestProvider::getFeature
static function getFeature($params, $n, CRestServer $server)
{
$params = array_change_key_case($params, CASE_UPPER);
$result = [
'value' => '',
];
if (empty($params['CODE']))
{
throw new RestException(
'CODE can't be empty',
'CODE_EMPTY',
CRestServer::STATUS_WRONG_REQUEST
);
}
if(BitrixMainModuleManager::isModuleInstalled('bitrix24') && Loader::includeModule('bitrix24'))
{
$result['value'] = BitrixBitrix24Feature::isFeatureEnabled($params['CODE']) ? 'Y' : 'N';
}
else
{
foreach (GetModuleEvents('rest', 'onRestGetFeature', true) as $event)
{
$eventData = ExecuteModuleEventEx(
$event,
[
$params['CODE'],
]
);
if (is_array($eventData))
{
if ($eventData['value'] === true || $eventData['value'] === 'Y')
{
$result['value'] = 'Y';
}
else
{
$result['value'] = 'N';
}
}
}
if (empty($result['value']))
{
$result['value'] = LANGUAGE_ID . '_selfhosted';
}
}
return $result;
}