public static function getDomainsList() { static $arDomains = null; if ($arDomains === null) { $arDomains = array(); $dbSites = Bitrix\Main\SiteDomainTable::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(Bitrix\Main\Config\Option::getRealValue('main', 'server_name'), $e = null); $bCurrentHostFound = false; while ($arSite = $dbSites->fetch()) { $arDomains[] = $arSite; if ($arSite['DOMAIN'] == $defaultDomain) { $bCurrentHostFound = true; } } if (!$bCurrentHostFound) { $dbDefSite = Bitrix\Main\SiteTable::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; }
$robotsFile = new RobotsFile($SITE_ID); if ($robotsFile->isExists()) { $arHostsList = $robotsFile->getRules('Host'); foreach ($arHostsList as $rule) { $host = $rule[1]; if (strncmp($host, 'https://', 8) === 0) { $host = substr($host, 8); $bDefaultHttps = true; } $arSite['DOMAINS'][] = $host; } } if ($arSite['SERVER_NAME'] != '') { $arSite['DOMAINS'][] = $arSite['SERVER_NAME']; } $dbDomains = Bitrix\Main\SiteDomainTable::getList(array('filter' => array('LID' => $SITE_ID), 'select' => array('DOMAIN'))); while ($arDomain = $dbDomains->fetch()) { $arSite['DOMAINS'][] = $arDomain['DOMAIN']; } $arSite['DOMAINS'][] = \Bitrix\Main\Config\Option::get('main', 'server_name', ''); $arSite['DOMAINS'] = array_unique($arSite['DOMAINS']); } } if (strlen($SITE_ID) <= 0) { require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; ShowError(Loc::getMessage("SEO_ERROR_SITEMAP_NO_SITE")); require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php"; } $aTabs = array(array("DIV" => "seo_sitemap_common", "TAB" => Loc::getMessage('SEO_SITEMAP_COMMON'), "ICON" => "main_settings", "TITLE" => Loc::getMessage('SEO_SITEMAP_COMMON_TITLE')), array("DIV" => "seo_sitemap_files", "TAB" => Loc::getMessage('SEO_SITEMAP_FILES'), "ICON" => "main_settings", "TITLE" => Loc::getMessage('SEO_SITEMAP_FILES_TITLE'))); if ($bIBlock) { $aTabs[] = array("DIV" => "seo_sitemap_iblock", "TAB" => Loc::getMessage('SEO_SITEMAP_IBLOCK'), "ICON" => "main_settings", "TITLE" => Loc::getMessage('SEO_SITEMAP_IBLOCK_TITLE'));