$row->AddViewField("ADMIN_SECTION", $f_ADMIN_SECTION == "Y" ? GetMessage("MAIN_YES") : GetMessage("MAIN_NO")); $row->AddViewField("RULE_TYPE", $arAccessTypes[$f_RULE_TYPE]); if ($f_ACTIVE == "Y" && ($f_ACTIVE_FROM == "" || intval($f_ACTIVE_FROM_TIMESTAMP) < $current_time) && ($f_ACTIVE_TO == "" || intval($f_ACTIVE_TO_TIMESTAMP) > $current_time)) { $row->AddViewField("ACTIVE", '<div class="lamp-green"></div>'); } else { $row->AddViewField("ACTIVE", '<div class="lamp-red"></div>'); } if (array_key_exists("INCL_PATH", $arVisibleColumnsMap)) { $arMasks = CSecurityIPRule::GetRuleInclMasks($f_ID); foreach ($arMasks as $i => $mask) { $arMasks[$i] = htmlspecialcharsex($mask); } $row->AddViewField("INCL_PATH", implode("<br>", $arMasks)); } if (array_key_exists("EXCL_PATH", $arVisibleColumnsMap)) { $arMasks = CSecurityIPRule::GetRuleExclMasks($f_ID); foreach ($arMasks as $i => $mask) { $arMasks[$i] = htmlspecialcharsex($mask); } $row->AddViewField("EXCL_PATH", implode("<br>", $arMasks)); } if (array_key_exists("INCL_IP", $arVisibleColumnsMap)) { $arIPs = CSecurityIPRule::GetRuleInclIPs($f_ID); foreach ($arIPs as $i => $ip) { $arIPs[$i] = htmlspecialcharsex($ip); } $row->AddViewField("INCL_IP", implode("<br>", $arIPs)); } if (array_key_exists("EXCL_IP", $arVisibleColumnsMap)) { $arIPs = CSecurityIPRule::GetRuleExclIPs($f_ID); foreach ($arIPs as $i => $ip) {
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); } }