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