• Модуль: security
  • Путь к файлу: ~/bitrix/modules/security/classes/general/iprule.php
  • Класс: CSecurityIPRule
  • Вызов: CSecurityIPRule::Update
public function Update($ID, $arFields)
{
	global $DB, $CACHE_MANAGER;
	$ID = intval($ID);

	if($ID <= 0)
		return false;

	if(!$this->CheckFields($arFields, $ID))
		return false;

	$strUpdate = $DB->PrepareUpdate("b_sec_iprule", $arFields);
	if($strUpdate <> '')
	{
		$strSql = "
			UPDATE b_sec_iprule SET
			".$strUpdate."
			WHERE ID = ".$ID."
		";
		if(!$DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__)) return false; } if(array_key_exists("INCL_MASKS", $arFields)) { if(array_key_exists("EXCL_MASKS", $arFields)) $this->UpdateRuleMasks($ID, $arFields["INCL_MASKS"], $arFields["EXCL_MASKS"]); else $this->UpdateRuleMasks($ID, $arFields["INCL_MASKS"], false); } else { if(array_key_exists("EXCL_MASKS", $arFields)) $this->UpdateRuleMasks($ID, false, $arFields["EXCL_MASKS"]); } if(array_key_exists("INCL_IPS", $arFields)) { if(array_key_exists("EXCL_IPS", $arFields)) $this->UpdateRuleIPs($ID, $arFields["INCL_IPS"], $arFields["EXCL_IPS"]); else $this->UpdateRuleIPs($ID, $arFields["INCL_IPS"], false); } else { if(array_key_exists("EXCL_IPS", $arFields)) $this->UpdateRuleIPs($ID, false, $arFields["EXCL_IPS"]); } COption::RemoveOption("security", "iprules_count"); CSecurityIPRule::SetActive(CSecurityIPRule::GetActiveCount() > 0); if(CACHED_b_sec_iprule !== false) $CACHE_MANAGER->CleanDir("b_sec_iprule"); return true; }