• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/controller_member.php
  • Класс: CControllerClient
  • Вызов: CControllerClient::RestoreSecurity
static function RestoreSecurity($arExcludeGroups = array())
{
	$arBackup = CControllerClient::GetBackup();
	if(!is_array($arBackup))
		return true;

	if(is_array($arBackup["security"]))
	{
		foreach($arBackup["security"] as $group_code=>$perms)
		{
			if(in_array($group_code, $arExcludeGroups))
				continue;

			if(($group_id = CGroup::GetIDByCode($group_code))>0)
			{
				foreach($perms as $module_id=>$level)
					CGroup::SetModulePermission($group_id, $module_id, $level);

				if(isset($arBackup["security_subord_groups"][$group_code]))
					CGroup::SetSubordinateGroups($group_id, $arBackup["security_subord_groups"][$group_code]);
			}
			unset($arBackup["security"][$group_code]);
			unset($arBackup["security_subord_groups"][$group_code]);
		}

		if(empty($arBackup["security"]))
			unset($arBackup["security"]);

		CControllerClient::SetBackup($arBackup);
	}

	return true;
}