示例#1
0
 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;
 }
示例#2
0
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>
示例#3
0
                }
            }
            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>
		$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';
示例#5
0
 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;
 }
示例#6
0
?>
:</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 
    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")));