- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/site.php
- Класс: CAllSite
- Вызов: CAllSite::SaveDomains
static function SaveDomains($LID, $domains)
{
global $DB, $CACHE_MANAGER;
if(CACHED_b_lang_domain !== false)
$CACHE_MANAGER->CleanDir("b_lang_domain");
$DB->Query("DELETE FROM b_lang_domain WHERE LID='".$DB->ForSQL($LID)."'");
$domains = str_replace("r", "n", $domains);
$arDomains = explode("n", $domains);
foreach($arDomains as $i => $domain)
{
$domain = preg_replace("#^(http://|https://)#", "", rtrim(trim(mb_strtolower($domain)), "/"));
$arErrors = array();
if ($domainTmp = CBXPunycode::ToASCII($domain, $arErrors))
$domain = $domainTmp;
$arDomains[$i] = $domain;
}
$arDomains = array_unique($arDomains);
$bIsDomain = false;
foreach($arDomains as $domain)
{
if($domain <> '')
{
$DB->Query("INSERT INTO b_lang_domain(LID, DOMAIN) VALUES('".$DB->ForSQL($LID, 2)."', '".$DB->ForSQL($domain, 255)."')");
$bIsDomain = true;
}
}
$DB->Query("UPDATE b_lang SET DOMAIN_LIMITED='".($bIsDomain? "Y":"N")."' WHERE LID='".$DB->ForSql($LID)."'");
MainSiteDomainTable::cleanCache();
}