- Модуль: security
- Путь к файлу: ~/bitrix/modules/security/classes/general/iprule.php
- Класс: CSecurityIPRule
- Вызов: CSecurityIPRule::AddRuleExclFiles
static 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);
}
}