• Модуль: rest
  • Путь к файлу: ~/bitrix/modules/rest/lib/api/event.php
  • Класс: BitrixRestApiEvent
  • Вызов: Event::eventsList
static function eventsList($query, $n, CRestServer $server)
{
	if($server->getAuthType() !== Auth::AUTH_TYPE)
	{
		throw new AuthTypeException();
	}

	$serviceDescription = $server->getServiceDescription();

	$scopeList = array(CRestUtil::GLOBAL_SCOPE);
	$result = array();

	$query = array_change_key_case($query, CASE_UPPER);

	if(isset($query['SCOPE']))
	{
		if($query['SCOPE'] != '')
		{
			$scopeList = array($query['SCOPE']);
		}
	}
	elseif($query['FULL'] == true)
	{
		$scopeList = array_keys($serviceDescription);
	}
	else
	{
		$scopeList = $server->getAuthScope();
		$scopeList[] = CRestUtil::GLOBAL_SCOPE;
	}

	foreach ($serviceDescription as $scope => $scopeMethods)
	{
		if(in_array($scope, $scopeList) && isset($scopeMethods[CRestUtil::EVENTS]))
		{
			$result = array_merge($result, array_keys($scopeMethods[CRestUtil::EVENTS]));
		}
	}

	return $result;
}