• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/rights.php
  • Класс: BitrixLandingRights
  • Вызов: Rights::getAdditionalRightExtended
static function getAdditionalRightExtended($code)
{
	static $access = null;
	$return = [];

	if (!is_string($code))
	{
		return $return;
	}
	if ($access === null)
	{
		$access = new CAccess;
	}

	$option = Manager::getOption('access_codes_' . $code, '');
	$option = unserialize($option, ['allowed_classes' => false]);
	$accessCodes = isset($option[0]) ? (array)$option[0] : [];
	$codesNames  = $access->getNames($accessCodes);

	foreach ($accessCodes as $code)
	{
		if (isset($codesNames[$code]))
		{
			$provider = (
				isset($codesNames[$code]['provider']) &&
				$codesNames[$code]['provider']
			)
				? $codesNames[$code]['provider']
				: '';
			$name = isset($codesNames[$code]['name'])
				? $codesNames[$code]['name']
				: $code;
			$return[$code] = [
				'CODE' => $code,
				'PROVIDER' => $provider,
				'NAME' => $name
			];
		}
	}

	return $return;
}