示例#1
0
 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 (count($arBackup["security"]) <= 0) {
             unset($arBackup["security"]);
         }
         CControllerClient::SetBackup($arBackup);
     }
     return true;
 }
 public function getGroupId($code)
 {
     return \CGroup::GetIDByCode($code);
 }