- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/site.php
- Класс: CAllSite
- Вызов: CAllSite::Add
public function Add($arFields)
{
global $DB, $DOCUMENT_ROOT, $CACHE_MANAGER;
if(!$this->CheckFields($arFields))
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";
}
$arInsert = $DB->PrepareInsert("b_lang", $arFields);
$strSql =
"INSERT INTO b_lang(".$arInsert[0].") ".
"VALUES(".$arInsert[1].")";
$DB->Query($strSql, false, "FILE: ".__FILE__."
LINE: ".__LINE__);
if(CACHED_b_lang!==false)
$CACHE_MANAGER->CleanDir("b_lang");
if(isset($arFields["DIR"]))
CheckDirPath($DOCUMENT_ROOT.$arFields["DIR"]);
if(isset($arFields["DOMAINS"]))
self::SaveDomains($arFields["LID"], $arFields["DOMAINS"]);
if(isset($arFields["TEMPLATE"]))
{
foreach($arFields["TEMPLATE"] as $arTemplate)
{
if(trim($arTemplate["TEMPLATE"]) <> '')
{
$arInsert = $DB->PrepareInsert("b_site_template", [
'SITE_ID' => $arFields["LID"],
'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 $arFields["LID"];
}