• Модуль: seo
  • Путь к файлу: ~/bitrix/modules/seo/classes/general/seo_utils.php
  • Класс: CSeoUtils
  • Вызов: CSeoUtils::getDomainsList
static function getDomainsList()
{
	static $arDomains = null;

	if($arDomains === null)
	{
		$arDomains = array();

		$dbSites = BitrixMainSiteDomainTable::getList(
			array(
				'select'=>array(
					'DOMAIN', 'LID',
					'SITE_NAME'=>'SITE.NAME', 'SITE_ACTIVE' => 'SITE.ACTIVE',
					'SITE_DIR' => 'SITE.DIR', 'SITE_DOC_ROOT' => 'SITE.DOC_ROOT'
				)
			)
		);

		$defaultDomain = CBXPunycode::ToASCII(BitrixMainConfigOption::getRealValue('main', 'server_name'), $e);

		$bCurrentHostFound = false;
		while($arSite = $dbSites->fetch())
		{
			$arDomains[] = $arSite;
			if($arSite['DOMAIN'] == $defaultDomain)
				$bCurrentHostFound = true;
		}

		if(!$bCurrentHostFound)
		{
			$dbDefSite = BitrixMainSiteTable::getList(array(
				'filter' => array('DEF' => 'Y'),
				'select' => array('LID', 'NAME', 'ACTIVE'),
			));
			$arDefSite = $dbDefSite->fetch();
			if($arDefSite)
			{
				array_unshift($arDomains, array(
					'DOMAIN' => $defaultDomain,
					'LID' => $arDefSite['LID'],
					'SITE_NAME' => $arDefSite['NAME'],
					'SITE_ACTIVE' => $arDefSite['ACTIVE'],
					'SITE_DIR' => $arDefSite['DIR'],
					'SITE_DOC_ROOT' => $arDefSite['DOC_ROOT'],
				));
			}
		}
	}

	return $arDomains;
}