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

	unset(static::$MAIN_LANGS_CACHE[$ID]);
	unset(static::$MAIN_LANGS_ADMIN_CACHE[$ID]);

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

	if(isset($arFields["ACTIVE"]) && $arFields["ACTIVE"]!="Y")
		$arFields["ACTIVE"]="N";

	if(isset($arFields["DEF"]))
	{
		if($arFields["DEF"]=="Y")
			$DB->Query("UPDATE b_lang SET DEF='N' WHERE DEF='Y'");
		else
			$arFields["DEF"]="N";
	}

	$strUpdate = $DB->PrepareUpdate("b_lang", $arFields);
	if($strUpdate <> '')
	{
		$strSql = "UPDATE b_lang SET ".$strUpdate." WHERE LID='".$DB->ForSql($ID, 2)."'";
		$DB->Query($strSql, false, "FILE: ".__FILE__."
LINE: ".__LINE__); } if(CACHED_b_lang!==false) $CACHE_MANAGER->CleanDir("b_lang"); if(isset($arFields["DIR"])) CheckDirPath($_SERVER["DOCUMENT_ROOT"].$arFields["DIR"]); if(isset($arFields["DOMAINS"])) self::SaveDomains($ID, $arFields["DOMAINS"]); if(isset($arFields["TEMPLATE"])) { $DB->Query("DELETE FROM b_site_template WHERE SITE_ID='".$DB->ForSQL($ID)."'"); foreach($arFields["TEMPLATE"] as $arTemplate) { if(trim($arTemplate["TEMPLATE"]) <> '') { $arInsert = $DB->PrepareInsert("b_site_template", [ 'SITE_ID' => $ID, 'CONDITION' => trim($arTemplate["CONDITION"]), 'SORT' => $arTemplate["SORT"], 'TEMPLATE' => trim($arTemplate["TEMPLATE"]), ]); $strSql = "INSERT INTO b_site_template(".$arInsert[0].") VALUES (".$arInsert[1].")"; $DB->Query($strSql, false, "FILE: ".__FILE__."
LINE: ".__LINE__); } } if(CACHED_b_site_template!==false) $CACHE_MANAGER->Clean("b_site_template"); } SiteTable::cleanCache(); return true; }