function CSeoPageChecker($site, $url, $get = true, $check_errors = true) { global $APPLICATION; if (CModule::IncludeModule('search')) { $this->bSearch = true; } else { $APPLICATION->ThrowException(GetMessage('SEO_ERROR_NO_SEARCH')); } // don't return false or set bError! $this->__bCheckErrors = $check_errors; $this->__site = $site; $dbRes = CSite::GetByID($this->__site); if ($arRes = $dbRes->Fetch()) { $this->__lang = $arRes['LANGUAGE_ID']; $this->__server_name = $arRes['SERVER_NAME']; if (strlen($this->__server_name) <= 0) { $this->__server_name = COption::GetOptionString('main', 'server_name', ''); } if (strlen($this->__server_name) > 0) { $this->__url = (CMain::IsHTTPS() ? "https://" : "http://") . CBXPunycode::ToASCII($this->__server_name, $e = null) . $url; return $get ? $this->GetHTTPData() : true; } else { $this->bError = true; $APPLICATION->ThrowException(str_replace('#SITE_ID#', $this->__site, GetMessage('SEO_ERROR_NO_SERVER_NAME'))); return false; } } return false; }
public function getConfiguredDomains() { $result = array(); $converter = CBXPunycode::GetConverter(); $domainName = COption::GetOptionString("main", "server_name", ""); if ($domainName != "") { $result[$domainName] = $domainName; } $by = ""; $order = ""; $siteList = CSite::GetList($by, $order, array("ACTIVE" => "Y")); while ($site = $siteList->Fetch()) { $domains = explode("\r\n", $site["DOMAINS"]); foreach ($domains as $domainName) { if ($domainName != "") { $punyName = $converter->Encode($domainName); if ($punyName !== false) { $result[$punyName] = $domainName; } } } } ksort($result); return $result; }
public function __construct($encoding = null) { if (self::$utfMode === null) { self::$utfMode = defined('BX_UTF'); } if (self::$punycodePrefix === null) { self::$punycodePrefix = "xn--"; self::$punycodePrefixLength = self::ByteLength(self::$punycodePrefix); self::$punycodePrefixUcs4 = $this->Utf8ToUcs4(self::$punycodePrefix); } if (self::$prefixUcs4 === null) { self::$prefixUcs4 = $this->Utf8ToUcs4(self::PREFIX); } if (self::$hyphenUcs4 === null) { self::$hyphenUcs4 = $this->Utf8ToUcs4("-"); } if (!is_null($encoding)) { $this->encoding = $encoding; } elseif (self::$utfMode) { $this->encoding = "utf-8"; } elseif (defined("SITE_CHARSET") && strlen(SITE_CHARSET) > 0) { $this->encoding = SITE_CHARSET; } elseif (defined("LANG_CHARSET") && strlen(LANG_CHARSET) > 0) { $this->encoding = LANG_CHARSET; } else { $this->encoding = "utf-8"; } }
/** * Return current domain name (in puny code for cyrillic domain) * * @return string */ public static function getCurrentHost() { $host = COption::GetOptionString("main", "server_name", $_SERVER["HTTP_HOST"]); if ($host == "") { $host = $_SERVER["HTTP_HOST"]; } return CBXPunycode::ToASCII($host, $arErrors); }
public function appendIBlockEntry($url, $modifiedDate, $priority = 0) { if ($this->isExists()) { $this->appendEntry(array('XML_LOC' => $this->settings['PROTOCOL'] . '://' . \CBXPunycode::toASCII($this->settings['DOMAIN'], $e = null) . $url, 'XML_LASTMOD' => date('c', $modifiedDate - \CTimeZone::getOffset()), 'XML_PRIORITY' => $priority ? $priority : self::DEFAULT_PRIORITY)); } else { $this->addHeader(); $this->addIBlockEntry($url, $modifiedDate, $priority); $this->addFooter(); } }
function findCorrectFile($path, &$strWarn, $warning = false) { $arUrl = CHTTP::ParseURL($path); if ($arUrl && is_array($arUrl)) { if (isset($arUrl['host'], $arUrl['scheme'])) { if (strpos($arUrl['host'], 'xn--') !== false) { // Do nothing } else { $originalPath = $path; $path = $arUrl['scheme'] . '://' . $arUrl['host']; $arErrors = array(); if (defined("BX_UTF")) { $punicodedPath = CBXPunycode::ToUnicode($path, $arErrors); } else { $punicodedPath = CBXPunycode::ToASCII($path, $arErrors); } if ($pathPunicoded == $path) { return $originalPath; } else { $path = $punicodedPath; } if ($arUrl['port'] && ($arUrl['scheme'] != 'http' || $arUrl['port'] != 80) && ($arUrl['scheme'] != 'https' || $arUrl['port'] != 443)) { $path .= ':' . $arUrl['port']; } $path .= $arUrl['path_query']; } } else { $DOC_ROOT = $_SERVER["DOCUMENT_ROOT"]; $path = Rel2Abs("/", $path); $path_ = $path; $io = CBXVirtualIo::GetInstance(); if (!$io->FileExists($DOC_ROOT . $path)) { if (CModule::IncludeModule('clouds')) { $path = CCloudStorage::FindFileURIByURN($path, "component:player"); if ($path == "") { if ($warning) { $strWarn .= $warning . "<br />"; } $path = $path_; } } else { if ($warning) { $strWarn .= $warning . "<br />"; } $path = $path_; } } elseif (strpos($_SERVER['HTTP_HOST'], 'xn--') !== false) { $path = CHTTP::URN2URI($path); } } } return $path; }
public static function getDomainsList() { static $arDomains = null; if($arDomains === null) { $arDomains = array(); $dbSites = Freetrix\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(Freetrix\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 = Freetrix\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; }
/** * Returns URL to update policy * * @param array[string]string $arParams * @return string * */ protected function getActionURL($arParams = array()) { $arErrors = array(); $domainTmp = CBXPunycode::ToASCII($this->domain, $arErrors); if (strlen($domainTmp) > 0) { $domain = $domainTmp; } else { $domain = $this->domain; } $arParams["license"] = md5(LICENSE_KEY); $arParams["domain"] = $domain; $url = COption::GetOptionString("bitrixcloud", "cdn_policy_url"); $url = CHTTP::urlAddParams($url, $arParams, array("encode" => true)); return $url; }
public function appendIndexEntry($file) { if ($this->isExists()) { $fileUrlEnc = Converter::getXmlConverter()->encode($this->settings['PROTOCOL'] . '://' . \CBXPunycode::toASCII($this->settings['DOMAIN'], $e = null) . $this->getFileUrl($file)); $contents = $this->getContents(); $reg = "/" . sprintf(preg_quote(self::ENTRY_TPL, "/"), preg_quote($fileUrlEnc, "/"), "[^<]*") . "/"; $newEntry = sprintf(self::ENTRY_TPL, $fileUrlEnc, date(c, $file->getModificationTime($file))); $count = 0; $contents = preg_replace($reg, $newEntry, $contents, 1, $count); if ($count <= 0) { $contents = substr($contents, 0, -strlen(self::FILE_FOOTER)) . $newEntry . self::FILE_FOOTER; } $this->putContents($contents); } else { $this->createIndex(array($file)); } }
function __construct($step = 0, $fast = 0, $fix_mode = 0) { if (!$this->step = intval($step)) $this->arTestVars['site_checker_success'] = 'Y'; $this->test_percent = 0; $this->strError = ''; $this->timeout = 10; // sec for one step $this->strResult = ''; $this->fix_mode = intval($fix_mode); $this->cafile = $_SERVER['DOCUMENT_ROOT'].'/bitrix/tmp/cacert.pem'; $this->host = $_REQUEST['HTTP_HOST'] ? $_REQUEST['HTTP_HOST'] : 'localhost'; if (!$fix_mode) // no need to know the host in fix mode { if (!preg_match('/^[a-z0-9\.\-]+$/i', $this->host)) // cyrillic domain hack { $host = $this->host; $host0 = CharsetConverter::ConvertCharset($host, 'utf8', 'cp1251'); if (preg_match("/[\xC0-\xFF]/",$host0)) { // utf-8; if (!defined('BX_UTF') && BX_UTF !== true) $host = $host0; } elseif (preg_match("/[\xC0-\xFF]/",$host)) { // windows-1251 if (defined('BX_UTF') && BX_UTF === true) $host = CharsetConverter::ConvertCharset($host, 'cp1251', 'utf8'); } $converter = new CBXPunycode(); $host = $converter->Encode($host); $this->host = $host; } } $this->ssl = $_REQUEST['HTTPS'] == 'on'; $this->port = $_REQUEST['SERVER_PORT'] ? $_REQUEST['SERVER_PORT'] : ($this->ssl ? 443 : 80); $arTestGroup = array(); $arGroupName = array(); $arGroupName[1] = IsModuleInstalled('intranet') ? GetMessage("MAIN_SC_GENERAL") : GetMessage("MAIN_SC_GENERAL_SITE"); $arGroupDesc[1] = GetMessage("MAIN_SC_REQUIRED_MODS_DESC"); $arTestGroup[1] = array( array('check_php_modules' =>GetMessage('SC_T_MODULES')), array('check_php_settings' =>GetMessage('SC_T_PHP')), array('check_security' => GetMessage('SC_T_APACHE')), array('check_server_vars' =>GetMessage('SC_T_SERVER')), array('check_session' => GetMessage('SC_T_SESS')), array('check_mbstring' =>GetMessage('SC_T_MBSTRING')), array('check_socket' => GetMessage('SC_T_SOCK')), ); $arGroupName[2] = GetMessage("MAIN_SC_BUSINESS"); $arGroupDesc[2] = GetMessage("MAIN_SC_CORRECT_DESC"); $arTestGroup[2] = array( array('check_pull_stream' => GetMessage("MAIN_SC_TEST_CHAT")), array('check_pull_comments' => GetMessage("MAIN_SC_TEST_COMMENTS")), array('check_turn' => GetMessage("MAIN_SC_TEST_VIDEO")), array('check_access_mobile' => GetMessage("MAIN_SC_TEST_MOBILE")), array('check_push_bitrix' => GetMessage("MAIN_SC_TEST_PUSH")), array('check_access_docs' => GetMessage("MAIN_SC_TEST_DOCS")), array('check_fast_download' => GetMessage("MAIN_SC_TEST_FAST_FILES")), array('check_search' => GetMessage("MAIN_SC_TEST_SEARCH_CONTENTS")), array('check_mail' => GetMessage("MAIN_SC_MAIL_TEST")), array('check_ca_file' => GetMessage("MAIN_SC_CLOUD_TEST")), array('check_connect_mail' => GetMessage("MAIN_SC_TEST_MAIL_INTEGRATION")), array('check_socnet' => GetMessage("MAIN_SC_TEST_SOCNET_INTEGRATION")), ); if (IsModuleInstalled('extranet')) $arTestGroup[2][] = array('check_extranet' => GetMessage("MAIN_SC_EXTRANET_ACCESS")); $arGroupName[4] = GetMessage("MAIN_SC_WINDOWS_ENV"); $arGroupDesc[4] = ''; $arTestGroup[4] = array( array('check_webdav' => GetMessage("MAIN_SC_DOCS_EDIT_MS_OFFICE")), array('check_socket_ssl' => GetMessage("MAIN_SC_EXTERNAL_APPS_TEST")), array('check_ad' => GetMessage("MAIN_SC_TEST_LDAP")), array('check_ntlm' => GetMessage("MAIN_SC_TEST_NTLM")), ); $arGroupName[8] = GetMessage("MAIN_SC_PERFORM"); $arGroupDesc[8] = ''; $arTestGroup[8] = array( array('check_perf' => GetMessage("MAIN_SC_PERF_TEST")), array('check_compression' => GetMessage("MAIN_SC_COMPRESSION_TEST")), ); $arGroupName[16] = GetMessage('SC_GR_EXTENDED'); $arTestGroup[16] = array( array('check_dbconn_settings' => GetMessage('SC_T_DBCONN_SETTINGS')), array('check_dbconn' => GetMessage('SC_T_DBCONN')), array('check_bx_crontab' => GetMessage("MAIN_SC_AGENTS_CRON")), array('check_session_ua' => GetMessage('SC_T_SESS_UA')), array('check_sites' => GetMessage('SC_T_SITES')), array('check_install_scripts' => GetMessage('SC_T_INSTALL_SCRIPTS')), array('check_clone' => GetMessage('SC_T_CLONE')), array('check_pcre_recursion' => GetMessage('SC_T_RECURSION')), array('check_method_exists' => GetMessage('SC_T_METHOD_EXISTS')), array('check_upload' => GetMessage('SC_T_UPLOAD')), array('check_upload_big' => GetMessage('SC_T_UPLOAD_BIG')), array('check_upload_raw' => GetMessage('SC_T_UPLOAD_RAW')), array('check_post' => GetMessage('SC_T_POST')), array('check_mail' => GetMessage('SC_T_MAIL')), array('check_mail_big' => GetMessage('SC_T_MAIL_BIG')), array('check_mail_b_event' => GetMessage('SC_T_MAIL_B_EVENT')), array('check_localredirect' => GetMessage('SC_T_REDIRECT')), array('check_memory_limit' => GetMessage('SC_T_MEMORY')), array('check_cache' => GetMessage('SC_T_CACHE')), array('check_update' => GetMessage('SC_UPDATE_ACCESS')), array('check_http_auth' => GetMessage('SC_T_AUTH')), array('check_exec' => GetMessage('SC_T_EXEC')), array('check_getimagesize' => GetMessage('SC_T_GETIMAGESIZE')), ); $arGroupName[32] = GetMessage('SC_GR_MYSQL'); $arTestGroup[32] = array( array('check_mysql_bug_version' => GetMessage('SC_T_MYSQL_VER')), array('check_mysql_time' => GetMessage('SC_T_TIME')), array('check_mysql_mode' => GetMessage('SC_T_SQL_MODE')), array('check_mysql_connection_charset' => GetMessage('SC_CONNECTION_CHARSET')), array('check_mysql_db_charset' => GetMessage('SC_DB_CHARSET')), // array('check_mysql_table_status' => GetMessage('SC_T_CHECK')), array('check_mysql_table_charset' => GetMessage('SC_T_CHARSET')), array('check_mysql_table_structure' => GetMessage('SC_T_STRUCTURE')), ); if ($this->fix_mode) { switch ($this->fix_mode) { case 1: $this->arTest = array( array('check_mysql_table_status' => GetMessage('SC_T_CHECK')), ); break; case 2: $this->arTest = array( array('check_mysql_connection_charset' => GetMessage('SC_CONNECTION_CHARSET')), array('check_mysql_db_charset' => GetMessage('SC_DB_CHARSET')), array('check_mysql_table_charset' => GetMessage('SC_T_CHARSET')), ); break; case 3: default: $this->arTest = array( array('check_mysql_table_structure' => GetMessage('SC_T_STRUCTURE')), ); break; } } else { $profile = 1; if ($fast) { if (IsModuleInstalled('intranet')) { $profile |= 2; $profile |= 4; $profile |= 8; } } else { $profile |= 16; if (strtolower($GLOBALS['DB']->type) == 'mysql') $profile |= 32; } $this->arTest = array(); $step0 = $step; foreach($arTestGroup as $i => $ar) { if ($i & $profile) { if (!$this->group_name) { $c = count($ar); if ($step0 >= $c) $step0 -= $c; else { $this->group_name = $arGroupName[$i]; $this->group_desc = $arGroupDesc[$i]; } } $this->arTest = array_merge($this->arTest, $ar); } } } list($this->function, $this->strCurrentTestName) = each($this->arTest[$this->step]); $this->strNextTestName = $this->strCurrentTestName; $LICENSE_KEY = ''; if (file_exists($file = $_SERVER['DOCUMENT_ROOT'].'/bitrix'.'/license_key.php')) include($file); if ($LICENSE_KEY == '') $LICENSE_KEY = 'DEMO'; define('LICENSE_HASH', md5('CONNECTION_TEST')); $this->LogFile = '/bitrix'.'/site_checker_'.md5('SITE_CHECKER'.$LICENSE_KEY).'.log'; }
public function getFeeds() { $queryResult = $this->queryJson(self::QUERY_BASE . self::SCOPE_FEED_SITES); if ($queryResult->getStatus() == self::HTTP_STATUS_OK && strlen($queryResult->getResult()) > 0) { $result = Json::decode($queryResult->getResult()); $response = array(); if (is_array($result)) { foreach ($result['siteEntry'] as $key => $siteInfo) { $siteUrlInfo = parse_url($siteInfo['siteUrl']); if ($siteUrlInfo) { $errors = array(); $hostKey = \CBXPunycode::toASCII($siteUrlInfo["host"], $errors); if (count($errors) > 0) { $hostKey = $siteUrlInfo["host"]; } $response[$hostKey] = array('binded' => $siteInfo["permissionLevel"] !== "siteRestrictedUser", 'verified' => $siteInfo["permissionLevel"] !== "siteRestrictedUser" && $siteInfo["permissionLevel"] !== "siteUnverifiedUser"); } } } return $response; } else { throw new \Exception('Query error! ' . $queryResult->getStatus() . ': ' . $queryResult->getResult()); } }
function URLEncode($str, $charset) { global $APPLICATION; $strEncodedURL = ''; $arUrlComponents = preg_split("#(://|/|\\?|=|&)#", $str, -1, PREG_SPLIT_DELIM_CAPTURE); foreach ($arUrlComponents as $i => $part_of_url) { if ($i % 2) { $strEncodedURL .= $part_of_url; } else { if ($i > 1 && $arUrlComponents[$i - 1] === "://") { $converter = CBXPunycode::GetConverter(); $strEncodedURL .= $converter->Encode($part_of_url); } else { $strEncodedURL .= urlencode($APPLICATION->ConvertCharset(urldecode($part_of_url), LANG_CHARSET, $charset)); } } } return $strEncodedURL; }
$domain = false; } if(!$domain) { require($_SERVER["DOCUMENT_ROOT"]."/freetrix/modules/main/include/prolog_admin_after.php"); ShowError(Loc::getMessage("SEO_ERROR_NO_DOMAIN")); require($_SERVER["DOCUMENT_ROOT"]."/freetrix/modules/main/include/epilog_admin.php"); } $APPLICATION->SetAdditionalCSS('/freetrix/panel/seo/seo.css'); $engine = new Engine\Google(); $siteDomainEnc = Converter::getHtmlConverter()->encode($arDomain['DOMAIN']); $siteDomainEncView = Converter::getHtmlConverter()->encode(\CBXPunycode::ToUnicode($arDomain['DOMAIN'], $e = null)); $siteDirEnc = Converter::getHtmlConverter()->encode($arDomain['SITE_DIR']); try { $arSiteInfo = $engine->getSiteInfo($arDomain['DOMAIN'], $arDomain['SITE_DIR']); } catch(Exception $e) { require($_SERVER["DOCUMENT_ROOT"]."/freetrix/modules/main/include/prolog_admin_after.php"); ShowError($e->getMessage()); require($_SERVER["DOCUMENT_ROOT"]."/freetrix/modules/main/include/epilog_admin.php"); } $bSiteVerified = $arSiteInfo[$domain]['verified'] == 'true';
public static function GetServerPath() { if (defined("SITE_SERVER_NAME") && strlen(SITE_SERVER_NAME) > 0) $server_name = SITE_SERVER_NAME; if (!$server_name) $server_name = COption::GetOptionString("main", "server_name", ""); if (!$server_name) $server_name = $_SERVER['HTTP_HOST']; $server_name = rtrim($server_name, '/'); if (!preg_match('/^[a-z0-9\.\-]+$/i', $server_name)) // cyrillic domain hack { $converter = new CBXPunycode(defined('BX_UTF') && BX_UTF === true ? 'UTF-8' : 'windows-1251'); $host = $converter->Encode($server_name); if (!preg_match('#--p1ai$#', $host)) // trying to guess $host = $converter->Encode(CharsetConverter::ConvertCharset($server_name, 'utf-8', 'windows-1251')); $server_name = $host; } $serverPath = (CMain::IsHTTPS() ? "https://" : "http://").$server_name; return $serverPath; }
public static function GetServerName() { if (defined("SITE_SERVER_NAME") && strlen(SITE_SERVER_NAME) > 0) { $server_name = SITE_SERVER_NAME; } if (!$server_name) { $server_name = COption::GetOptionString("main", "server_name", ""); } if (!$server_name) { $server_name = $_SERVER['HTTP_HOST']; } $server_name = rtrim($server_name, '/'); if (!preg_match('/^[a-z0-9\\.\\-]+$/i', $server_name)) { $converter = new CBXPunycode(defined('BX_UTF') && BX_UTF === true ? 'UTF-8' : 'windows-1251'); $host = $converter->Encode($server_name); if (!preg_match('#--p1ai$#', $host)) { // trying to guess $host = $converter->Encode(CharsetConverter::ConvertCharset($server_name, 'utf-8', 'windows-1251')); } $server_name = $host; } return $server_name; }
/** * Returns sitemap file URL * * @return string */ public function getUrl() { return $this->settings['PROTOCOL'].'://'.\CBXPunycode::toASCII($this->settings['DOMAIN'], $e = null).$this->getFileUrl($this); }
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php"; } if ($campaign['OWNER_ID'] != $currentUser['id']) { $bReadOnly = true; $bAllowUpdate = false; $message = new CAdminMessage(array("TYPE" => "ERROR", "MESSAGE" => Loc::getMessage('SEO_CAMPAIGN_WRONG_OWNER', array("#USERINFO#" => "(" . $campaign["OWNER_ID"] . ") " . $campaign["OWNER_NAME"])))); } elseif (!in_array($campaign["SETTINGS"]['Strategy']['StrategyName'], Adv\YandexCampaignTable::$supportedStrategy)) { $bReadOnly = true; $message = new CAdminMessage(array("TYPE" => "ERROR", "MESSAGE" => Loc::getMessage("SEO_CAMPAIGN_STRATEGY_NOT_SUPPORTED", array("#STRATEGY#" => Loc::getMessage('SEO_CAMPAIGN_STRATEGY_' . $campaign["SETTINGS"]['Strategy']['StrategyName']))))); } $bShowStats = $ID > 0 && $bAllowUpdate; $bShowAuto = $ID > 0 && $bAllowUpdate && IsModuleInstalled("catalog"); if ($ID <= 0) { $host = str_replace(array(':80', ':443'), '', $request->getHttpHost()); $errors = null; $host = \CBXPunycode::ToUnicode($host, $errors); $banner = array("SETTINGS" => array("CampaignID" => $campaign["SETTINGS"]["CampaignID"], "Title" => "", "Text" => "", "Href" => 'http' . ($request->isHttps() ? 's' : '') . '://' . $host, "Geo" => Main\Config\Option::get('seo', 'yandex_direct_region_last_list', ''), "Phrases" => array(), "MinusKeywords" => array())); if ($elementId > 0 && Main\Loader::includeModule('iblock')) { $dbElement = \CIBlockElement::getByID($elementId); if ($element = $dbElement->fetch()) { $banner['SETTINGS']['Href'] .= \CIBlock::replaceDetailUrl($element['DETAIL_PAGE_URL'], $element, false, "E"); } } else { $banner['SETTINGS']['Href'] .= '/'; } $banner['SETTINGS']['Href'] .= strpos($banner['SETTINGS']['Href'], "?") >= 0 ? '?' : '&'; $banner['SETTINGS']['Href'] .= AdvSession::URL_PARAM_CAMPAIGN . '=' . AdvSession::URL_PARAM_CAMPAIGN_VALUE . '&' . AdvSession::URL_PARAM_BANNER . '=' . AdvSession::URL_PARAM_BANNER_VALUE; } $banner["SETTINGS"]["Geo"] = explode(",", $banner["SETTINGS"]["Geo"]); $banner["SETTINGS"]["MinusKeywords"] = implode(", ", $banner["SETTINGS"]["MinusKeywords"]); $aTabs = array(array("DIV" => "edit_main", "TAB" => Loc::getMessage("SEO_BANNER_TAB_MAIN"), "TITLE" => Loc::getMessage("SEO_BANNER_TAB_MAIN_TITLE")), array("DIV" => "edit_geo", "TAB" => Loc::getMessage("SEO_BANNER_TAB_GEO"), "TITLE" => Loc::getMessage("SEO_BANNER_TAB_GEO_TITLE")), array("DIV" => "edit_keywords", "TAB" => Loc::getMessage("SEO_BANNER_TAB_KEYWORDS"), "TITLE" => Loc::getMessage("SEO_BANNER_TAB_KEYWORDS_TITLE")));
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } $APPLICATION->SetAdditionalCSS('/bitrix/gadgets/bitrix/bitrixcloud_monitoring/styles.css'); $converter = CBXPunycode::GetConverter(); $saleIncluded = CModule::IncludeModule('sale'); $intervalLang = array("sale" => array(7 => GetMessage("GD_BITRIXCLOUD_MONITOR_MESS_ALERT1_WEEK"), 30 => GetMessage("GD_BITRIXCLOUD_MONITOR_MESS_ALERT1_MONTH"), 90 => GetMessage("GD_BITRIXCLOUD_MONITOR_MESS_ALERT1_QUARTER"), 365 => GetMessage("GD_BITRIXCLOUD_MONITOR_MESS_ALERT1_YEAR")), "uptime" => array(7 => GetMessage("GD_BITRIXCLOUD_MONITOR_MESS_ALERT2_WEEK"), 30 => GetMessage("GD_BITRIXCLOUD_MONITOR_MESS_ALERT2_MONTH"), 90 => GetMessage("GD_BITRIXCLOUD_MONITOR_MESS_ALERT2_QUARTER"), 365 => GetMessage("GD_BITRIXCLOUD_MONITOR_MESS_ALERT2_YEAR"))); $uptime = ""; $testCount = 0; /** @var CBitrixCloudMonitoringTest $testAlert */ $testAlert = null; $testDomain = ""; $bAlert = false; if (CModule::IncludeModule('bitrixcloud')) { $monitoring = CBitrixCloudMonitoring::getInstance(); $monitoringResults = $monitoring->getMonitoringResults(); if (!is_string($monitoringResults)) { if ($monitoringResults->getStatus() === CBitrixCloudMonitoringResult::RED_LAMP) { $bAlert = true; foreach ($monitoringResults as $domainName => $domainResult) { foreach ($domainResult as $testId => $testResult) { if ($testResult->getStatus() === CBitrixCloudMonitoringResult::RED_LAMP) { $testCount++; $testAlert = $testResult; $testDomain = $domainName; } } } $uptime = $monitoring->getWorstUptime("test_http_response_time");
?> :</td> <td width="60%"><select name="PROTO"> <option value="0"<?php echo $arSitemap['SETTINGS']['PROTO'] == 0 ? ' selected="selected"' : ''; ?> >http</option> <option value="1"<?php echo $arSitemap['SETTINGS']['PROTO'] == 1 ? ' selected="selected"' : ''; ?> >https</option> </select> <b>://</b> <select name="DOMAIN"> <?php foreach ($arSite['DOMAINS'] as $domain) { $hd = Converter::getHtmlConverter()->encode($domain); $hdc = Converter::getHtmlConverter()->encode(CBXPunycode::ToUnicode($domain, $e = null)); ?> <option value="<?php echo $hd; ?> "<?php echo $domain == $arSitemap['SETTINGS']['DOMAIN'] ? ' selected="selected"' : ''; ?> ><?php echo $hdc; ?> </option> <?php } ?> </select> <b><?php
/** * Return current domain name (in puny code for cyrillic domain) * @return string */ protected static function getCurrentHost() { $host = $_SERVER['HTTP_HOST'] ? $_SERVER['HTTP_HOST'] : 'localhost'; return CBXPunycode::ToASCII($host, $arErrors); }
protected function processSiteResult($res) { $obXml = new \CDataXML(); if ($obXml->loadString($res)) { $hostName = $obXml->getTree()->elementsByName('name'); $hostName = \CBXPunycode::toASCII(ToLower($hostName[0]->textContent()), $e = null); if (preg_match("/^https:\\/\\//", $hostName)) { $hostName = substr($hostName, 8); } $this->engineSettings['SITES'][$hostName]['SERVICES'] = array(); $arLinks = $obXml->getTree()->elementsByName('link'); foreach ($arLinks as $link) { $this->engineSettings['SITES'][$hostName]['SERVICES'][$link->getAttribute('rel')] = $link->getAttribute('href'); } $this->saveSettings(); return true; } return false; }
$bCron = COption::GetOptionString("main", "agents_use_crontab", "N") == 'Y' || defined('BX_CRONTAB_SUPPORT') && BX_CRONTAB_SUPPORT === true || COption::GetOptionString("main", "check_agents", "Y") != 'Y'; require_once $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/prolog.php"; $APPLICATION->SetTitle(GetMessage("MAIN_DUMP_AUTO_PAGE_TITLE")); require $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/include/prolog_admin_after.php"; $arAllBucket = CBackup::GetBucketList(); $strError = ''; if ($DB->type != 'MYSQL') { echo BeginNote() . GetMessage('MAIN_DUMP_MYSQL_ONLY') . EndNote(); } $server_name = COption::GetOptionString("main", "server_name", ""); if (!$server_name) { $server_name = $_SERVER['HTTP_HOST']; } $server_name = rtrim($server_name, '/'); if (!preg_match('/^[a-z0-9\\.\\-]+$/i', $server_name)) { $converter = new CBXPunycode(defined('BX_UTF') && BX_UTF === true ? 'UTF-8' : 'windows-1251'); $host = $converter->Encode($server_name); if (!preg_match('#--p1ai$#', $host)) { // trying to guess $host = $converter->Encode(CharsetConverter::ConvertCharset($server_name, 'utf-8', 'windows-1251')); } $server_name = $host; } $url = (CMain::IsHTTPS() ? "https://" : "http://") . $server_name; define('LOCK_FILE', $_SERVER['DOCUMENT_ROOT'] . '/bitrix/backup/auto_lock'); $dump_auto_enable = IntOption('dump_auto_enable'); if ($_REQUEST['save']) { if (!check_bitrix_sessid()) { CAdminMessage::ShowMessage(array("MESSAGE" => GetMessage("MAIN_DUMP_ERROR"), "DETAILS" => GetMessage("DUMP_MAIN_SESISON_ERROR"), "TYPE" => "ERROR", "HTML" => true)); } else { $BUCKET_ID = $_REQUEST['dump_bucket_id'];
} } if (count($arDomains) <= 0) { $msg = new CAdminMessage(array('MESSAGE' => Loc::getMessage('SEO_YANDEX_ERROR'), 'HTML' => 'Y')); echo $msg->Show(); } else { ?> <div id="seo_original_text_form_form"> <form name="seo_original_text_form" style="padding:0;margin: 0;"> <b><?php echo Loc::getMessage('SEO_YANDEX_DOMAIN'); ?> : </b><select name="domain"> <?php foreach ($arDomains as $domain) { $domainView = \CBXPunycode::ToUnicode($domain['DOMAIN'], $errors = null); $domainEnc = Converter::getHtmlConverter()->encode($domain['DOMAIN']); $domainViewEnc = Converter::getHtmlConverter()->encode($domainView); ?> <option value="<?php echo $domainEnc; ?> "><?php echo $domainViewEnc; ?> </option> <?php } ?> </select><br /><br /> <textarea style="width: 700px; height: 450px;" name="original_text"></textarea>
function __construct($step = 0, $fix_mode = 0) { $this->step = intval($step); $this->test_percent = 0; $this->strError = ''; $this->timeout = 10; // sec for one step $this->strResult = ''; $this->fix_mode = intval($fix_mode); $this->host = $_REQUEST['HTTP_HOST'] ? $_REQUEST['HTTP_HOST'] : 'localhost'; if (!$fix_mode) // no kernel { if (!preg_match('/^[a-z0-9\.\-]+$/i', $this->host)) $this->host = CBXPunycode::ToASCII($this->host, ($err="")); } $this->ssl = $_REQUEST['HTTPS'] == 'on'; $this->port = $_REQUEST['SERVER_PORT'] ? $_REQUEST['SERVER_PORT'] : ($this->ssl ? 443 : 80); $this->arTest = array( array('OpenLog' => GetMessage('SC_T_LOG')), /**/ array('check_php_modules' =>GetMessage('SC_T_MODULES')), array('check_php_settings' =>GetMessage('SC_T_PHP')), array('check_server_vars' =>GetMessage('SC_T_SERVER')), array('check_suhosin' => GetMessage('SC_T_SUHOSIN')), array('check_security' => GetMessage('SC_T_APACHE')), array('check_install_scripts' => GetMessage('SC_T_INSTALL_SCRIPTS')), array('check_mbstring' =>GetMessage('SC_T_MBSTRING')), array('check_backtrack_limit' =>GetMessage('SC_T_BACKTRACK_LIMIT')), array('check_pcre_recursion' => GetMessage('SC_T_RECURSION')), array('check_method_exists' => GetMessage('SC_T_METHOD_EXISTS')), array('check_sites' =>GetMessage('SC_T_SITES')), array('check_socket' => GetMessage('SC_T_SOCK')), array('check_dbconn' => GetMessage('SC_T_DBCONN')), array('check_upload' => GetMessage('SC_T_UPLOAD')), array('check_upload_big' => GetMessage('SC_T_UPLOAD_BIG')), array('check_upload_raw' => GetMessage('SC_T_UPLOAD_RAW')), array('check_post' => GetMessage('SC_T_POST')), array('check_mail' => GetMessage('SC_T_MAIL')), array('check_mail_big' => GetMessage('SC_T_MAIL_BIG')), array('check_mail_b_event' => GetMessage('SC_T_MAIL_B_EVENT')), array('check_localredirect' => GetMessage('SC_T_REDIRECT')), array('check_memory_limit' => GetMessage('SC_T_MEMORY')), array('check_session' => GetMessage('SC_T_SESS')), array('check_session_ua' => GetMessage('SC_T_SESS_UA')), array('check_cache' => GetMessage('SC_T_CACHE')), array('check_update' => GetMessage('SC_UPDATE_ACCESS')), array('check_http_auth' => GetMessage('SC_T_AUTH')), array('check_exec' => GetMessage('SC_T_EXEC')), array('check_bx_crontab' => GetMessage('SC_T_BX_CRONTAB')), array('check_divider' => GetMessage('SC_T_DELIMITER')), array('check_precision' => GetMessage('SC_T_PRECISION')), array('check_clone' => GetMessage('SC_T_CLONE')), array('check_getimagesize' => GetMessage('SC_T_GETIMAGESIZE')), /**/ ); $this->arTestDB = array( array('check_mysql_bug_version' => GetMessage('SC_T_MYSQL_VER')), array('check_mysql_time' => GetMessage('SC_T_TIME')), array('check_mysql_mode' => GetMessage('SC_T_SQL_MODE')), array('check_mysql_increment' => GetMessage('SC_T_AUTOINC')), // array('check_mysql_table_status' => GetMessage('SC_T_CHECK')), array('check_mysql_connection_charset' => GetMessage('SC_CONNECTION_CHARSET')), array('check_mysql_db_charset' => GetMessage('SC_DB_CHARSET')), array('check_mysql_table_charset' => GetMessage('SC_T_CHARSET')), array('check_mysql_table_structure' => GetMessage('SC_T_STRUCTURE')), ); if ($this->fix_mode == 1) $this->arTest = array( array('check_mysql_table_status' => GetMessage('SC_T_CHECK')), ); elseif ($this->fix_mode == 2) $this->arTest = array( array('check_mysql_connection_charset' => GetMessage('SC_CONNECTION_CHARSET')), array('check_mysql_db_charset' => GetMessage('SC_DB_CHARSET')), array('check_mysql_table_charset' => GetMessage('SC_T_CHARSET')), ); elseif ($this->fix_mode == 3) $this->arTest = array( array('check_mysql_table_structure' => GetMessage('SC_T_STRUCTURE')), ); elseif (strtolower($GLOBALS['DB']->type) == 'mysql') { $this->arTest = array_merge($this->arTest, $this->arTestDB); // $this->arTest = array_merge(array(array('OpenLog'=>GetMessage('SC_T_LOG'))), $this->arTestDB); } list($this->function, $this->strCurrentTestName) = each($this->arTest[$this->step]); $this->strNextTestName = $this->strCurrentTestName; $LICENSE_KEY = ''; if (file_exists($file = $_SERVER['DOCUMENT_ROOT'].'/bitrix'.'/license_key.php')) include($file); if ($LICENSE_KEY == '') $LICENSE_KEY = 'DEMO'; $this->LogFile = '/bitrix'.'/site_checker_'.md5('SITE_CHECKER'.$LICENSE_KEY).'.log'; }
use Bitrix\Main\Analytics; Loc::loadMessages(__FILE__); if (!$USER->CanDoOperation("view_other_settings") || !Analytics\SiteSpeed::isLicenseAccepted()) { $APPLICATION->AuthForm(Loc::getMessage("ACCESS_DENIED")); } CJSCore::Init(array("site_speed", "date")); $APPLICATION->SetAdditionalCSS("/bitrix/panel/main/site_speed.css"); $APPLICATION->SetTitle(Loc::getMessage("MAIN_SITE_SPEED_TITLE")); require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; ?> <div class="site-speed-page"> <?php $currentHost = preg_replace("/:(80|443)\$/", "", $_SERVER["HTTP_HOST"]); $currentHost = htmlspecialcharsbx($currentHost); $currentHostTitle = htmlspecialcharsbx(\CBXPunycode::ToUnicode($currentHost, $errors)); ?> <div class="site-speed-domains"> <span class="site-speed-domains-label"><?php echo Loc::getMessage("MAIN_SITE_SPEED_DOMAINS_LABEL"); ?> </span> <select class="site-speed-domains-select" id="site-speed-domains"> <option value="<?php echo $currentHost; ?> "><?php echo $currentHostTitle; ?> </option> </select>
function Fetch() { if ($res = parent::Fetch()) { global $DB, $CACHE_MANAGER; static $arCache; if (!is_array($arCache)) { $arCache = array(); } if (is_set($arCache, $res["LID"])) { $res["DOMAINS"] = $arCache[$res["LID"]]; } else { if (CACHED_b_lang_domain === false) { $res["DOMAINS"] = ""; $db_res = $DB->Query("SELECT * FROM b_lang_domain WHERE LID='" . $res["LID"] . "'"); while ($ar_res = $db_res->Fetch()) { $domain = $ar_res["DOMAIN"]; $arErrorsTmp = array(); if ($domainTmp = CBXPunycode::ToUnicode($ar_res["DOMAIN"], $arErrorsTmp)) { $domain = $domainTmp; } $res["DOMAINS"] .= $domain . "\r\n"; } } else { if ($CACHE_MANAGER->Read(CACHED_b_lang_domain, "b_lang_domain", "b_lang_domain")) { $arLangDomain = $CACHE_MANAGER->Get("b_lang_domain"); } else { $arLangDomain = array("DOMAIN" => array(), "LID" => array()); $rs = $DB->Query("SELECT * FROM b_lang_domain ORDER BY " . $DB->Length("DOMAIN")); while ($ar = $rs->Fetch()) { $arLangDomain["DOMAIN"][] = $ar; $arLangDomain["LID"][$ar["LID"]][] = $ar; } $CACHE_MANAGER->Set("b_lang_domain", $arLangDomain); } $res["DOMAINS"] = ""; if (is_array($arLangDomain["LID"][$res["LID"]])) { foreach ($arLangDomain["LID"][$res["LID"]] as $ar_res) { $domain = $ar_res["DOMAIN"]; $arErrorsTmp = array(); if ($domainTmp = CBXPunycode::ToUnicode($ar_res["DOMAIN"], $arErrorsTmp)) { $domain = $domainTmp; } $res["DOMAINS"] .= $domain . "\r\n"; } } } $res["DOMAINS"] = Trim($res["DOMAINS"]); $arCache[$res["LID"]] = $res["DOMAINS"]; } if (trim($res["DOC_ROOT"]) == "") { $res["ABS_DOC_ROOT"] = $_SERVER["DOCUMENT_ROOT"]; } else { $res["ABS_DOC_ROOT"] = Rel2Abs($_SERVER["DOCUMENT_ROOT"], $res["DOC_ROOT"]); } if ($res["ABS_DOC_ROOT"] !== $_SERVER["DOCUMENT_ROOT"]) { $res["SITE_URL"] = (CMain::IsHTTPS() ? "https://" : "http://") . $res["SERVER_NAME"]; } } return $res; }