• Модуль: 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);
	}
}