• Модуль: rest
  • Путь к файлу: ~/bitrix/modules/rest/lib/configuration/manifest.php
  • Класс: BitrixRestConfigurationManifest
  • Вызов: Manifest::checkAccess
static function checkAccess(string $type, $manifestCode = ''): array
{
	$result = [
		'result' => false,
		'message' => '',
	];

	if (CRestUtil::isAdmin())
	{
		$result['result'] = true;
	}
	elseif (!empty($manifestCode))
	{
		$manifest = static::get($manifestCode);
		try
		{
			if (
				!empty($manifest['ACCESS']['MODULE_ID'])
				&& is_array($manifest['ACCESS']['CALLBACK'])
				&& Loader::includeModule($manifest['ACCESS']['MODULE_ID'])
				&& is_callable($manifest['ACCESS']['CALLBACK'])
			)
			{
				$access = call_user_func($manifest['ACCESS']['CALLBACK'], $type, $manifest);
				$result['result'] = $access['result'] === true;
				$result['message'] = (is_string($access['message']) && $access['message'] !== '') ? $access['message'] : '';
			}
		}
		catch (Exception $exception)
		{
		}
	}

	return $result;
}