• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/Access/Permission/PermissionDictionary.php
  • Класс: BitrixCatalogAccessPermissionPermissionDictionary
  • Вызов: PermissionDictionary::getPermission
static function getPermission($permissionId): array
{
	$permission = parent::getPermission($permissionId);
	$storePermissions = [
		self::CATALOG_STORE_VIEW,
		self::CATALOG_STORE_RESERVE,
	];

	$permissionId = (int)$permissionId;
	if (in_array($permissionId, $storePermissions, true))
	{
		$permission['type'] = PermissionPermissionDictionary::TYPE_MULTIVARIABLES;
		$permission['enableSearch'] = true;
		$permission['variables'] = self::getStoreVariables();
		$permission['hintTitle'] = Loc::getMessage('CATALOG_STORE_VIEW_DESCRIPTION_HINT');
	}
	elseif ($permissionId === self::CATALOG_RESERVE_DEAL)
	{
		$permission['type'] = PermissionPermissionDictionary::TYPE_MULTIVARIABLES;
		$permission['variables'] = self::getDealCategoryVariables();
		$permission['showAvatars'] = false;
		$permission['compactView'] = true;
		$permission['hintTitle'] = Loc::getMessage('CATALOG_RESERVE_DEAL_DESCRIPTION_HINT');
	}
	elseif (
		$permissionId === self::CATALOG_PRODUCT_EDIT_ENTITY_PRICE
		|| $permissionId === self::CATALOG_PRODUCT_SET_DISCOUNT
	)
	{
		$permission['type'] = PermissionPermissionDictionary::TYPE_MULTIVARIABLES;
		$permission['variables'] = self::getPriceSelectorVariables();
		$permission['showAvatars'] = false;
		$permission['compactView'] = true;
	}
	elseif ($permissionId === self::CATALOG_STORE_ANALYTIC_VIEW)
	{
		$permission['type'] = PermissionPermissionDictionary::TYPE_MULTIVARIABLES;
		$permission['variables'] = self::getStoreAnalyticVariables();
		$permission['showAvatars'] = false;
		$permission['compactView'] = true;
	}

	if ($permission['type'] === PermissionPermissionDictionary::TYPE_MULTIVARIABLES)
	{
		$permission['allSelectedCode'] = static::VALUE_VARIATION_ALL;
	}

	return $permission;
}