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