Exemple #1
0
 function AddRuleExclFiles($files)
 {
     if (empty($files)) {
         return;
     }
     $exclToUpdate = array();
     if (!is_array($files)) {
         $files = array($files);
     }
     foreach ($files as $file) {
         $rsIPRule = CSecurityIPRule::GetList(array("ID"), array("PATH" => $file, "ACTIVE" => "Y"), array("ID" => "ASC"));
         $masks = array();
         while ($arIPRule = $rsIPRule->Fetch()) {
             if (array_key_exists($arIPRule["ID"], $exclToUpdate)) {
                 $masks = array_merge($exclToUpdate[$arIPRule["ID"]], $masks);
             } else {
                 $masks = array($file);
             }
             $exclToUpdate[$arIPRule["ID"]] = $masks;
         }
     }
     foreach ($exclToUpdate as $rule_id => $excl_mask) {
         $masks = CSecurityIPRule::GetRuleExclMasks($rule_id);
         $masks = array_unique(array_merge($masks, $excl_mask));
         CSecurityIPRule::UpdateRuleMasks($rule_id, false, $masks);
     }
 }