Beispiel #1
0
 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'));