Your IP : 13.58.149.236
<?
/**
* Bitrix Framework
* Bitrix vars
* @global CUser $USER
* @global CMain $APPLICATION
*/
define("ADMIN_MODULE_NAME", "scale");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
use \Bitrix\Main\Localization\Loc;
Loc::loadMessages(__FILE__);
if (!$USER->IsAdmin())
$APPLICATION->AuthForm(Loc::getMessage("SCALE_PANEL_ACCESS_DENIED"));
if(!\Bitrix\Main\Loader::includeModule("scale"))
ShowError(Loc::getMessage("SCALE_PANEL_MODULE_NOT_INSTALLED"));
$APPLICATION->SetTitle(Loc::getMessage("SCALE_PANEL_TITLE"));
$APPLICATION->AddHeadScript("/bitrix/js/scale/core.js");
$APPLICATION->AddHeadScript("/bitrix/js/scale/communicator.js");
$APPLICATION->AddHeadScript("/bitrix/js/scale/collection.js");
$APPLICATION->AddHeadScript("/bitrix/js/scale/actionsparamstypes.js");
$APPLICATION->AddHeadScript("/bitrix/js/scale/actionprocessdialog.js");
$APPLICATION->AddHeadScript("/bitrix/js/scale/actionparamsdialog.js");
$APPLICATION->AddHeadScript("/bitrix/js/scale/actionresultdialog.js");
$APPLICATION->AddHeadScript("/bitrix/js/scale/loadbar.js");
$APPLICATION->AddHeadScript("/bitrix/js/scale/role.js");
$APPLICATION->AddHeadScript("/bitrix/js/scale/action.js");
$APPLICATION->AddHeadScript("/bitrix/js/scale/infotable.js");
$APPLICATION->AddHeadScript("/bitrix/js/scale/itloadbar.js");
$APPLICATION->AddHeadScript("/bitrix/js/scale/server.js");
$APPLICATION->AddHeadScript("/bitrix/js/scale/provider.js");
$APPLICATION->AddHeadScript("/bitrix/js/scale/admin_frame.js");
$APPLICATION->SetAdditionalCSS("/bitrix/js/scale/css/scale-page-style.css");
$jsLangMesIds = array(
"SCALE_PANEL_JS_APD_BUT_START",
"SCALE_PANEL_JS_APD_2_CONFIRM",
"SCALE_PANEL_JS_APD_2_NOT_CONCIDE",
"SCALE_PANEL_JS_ACT_CONFIRM",
"SCALE_PANEL_JS_ERROR",
"SCALE_PANEL_JS_ARD_RES",
"SCALE_PANEL_JS_ACT_RES_ERROR",
"SCALE_PANEL_JS_ARD_NAME",
"SCALE_PANEL_JS_ARD_RESULT",
"SCALE_PANEL_JS_ARD_MESSAGE",
"SCALE_PANEL_JS_APD_TITLE",
"SCALE_PANEL_JS_ACT_EXEC_ERROR",
"SCALE_PANEL_JS_ACT_EXEC_SUCCESS",
"SCALE_PANEL_JS_MENU",
"SCALE_PANEL_JS_PASS_MUST_BE_CHANGED",
"SCALE_PANEL_JS_BID_ERROR",
"SCALE_JS_SERVER_TITLE_TITLE",
"SCALE_PANEL_MONITORING_DISABLED",
"SCALE_PANEL_JS_ADVICE_TO_BACKUP",
"SCALE_PANEL_JS_GLOBAL_ACTIONS",
"SCALE_PANEL_JS_MONITORING_DATABASE_CREATING",
"SCALE_PANEL_JS_ACT_CONFIRM_TITLE",
"SCALE_PANEL_JS_ADVICE_TO_BACKUP_TITLE",
"SCALE_PANEL_JS_CANCEL",
"SCALE_PANEL_JS_CLOSE",
"SCALE_PANEL_JS_BX_ENV_NOT_INSTALLED",
"SCALE_PANEL_JS_BX_ENV_NEED_UPDATE",
"SCALE_PANEL_JS_BX_ENV_VERSION",
"SCALE_PANEL_JS_BX_INFO_ERROR",
"SCALE_PANEL_JS_ACT_SERVER_WILL_AVAILABLE",
"SCALE_PANEL_JS_ACT_HOUR",
"SCALE_PANEL_JS_ACT_MIN",
"SCALE_PANEL_JS_ACT_SEC",
"SCALE_PANEL_JS_EXTRA_DB_CONFIRM",
"SCALE_PANEL_JS_EXTRA_DB_CONFIRM_TITLE",
"SCALE_PANEL_JS_WFA_TITLE",
"SCALE_PANEL_JS_WFA_TEXT",
"SCALE_PANEL_JS_PROVIDER",
"SCALE_PANEL_JS_PROVIDER_CHOOSE",
"SCALE_PANEL_JS_PROVIDER_MANUAL",
"SCALE_PANEL_JS_PROVIDER_BUT_CHOOSE",
"SCALE_PANEL_JS_PROVIDER_CONFIG_CHOOSE",
"SCALE_PANEL_JS_PROVIDER_NO_CONFIGS",
"SCALE_PANEL_JS_PROVIDER_LIST_ERROR",
"SCALE_PANEL_JS_PROVIDER_ERROR",
"SCALE_PANEL_JS_PROVIDER_CONFIGS_ERROR",
"SCALE_PANEL_JS_PROVIDER_ORDER_ERROR",
"SCALE_PANEL_JS_REFRESH_TITLE",
"SCALE_PANEL_JS_REFRESH_TEXT",
"SCALE_PANEL_JS_BX_VER_ERROR",
"SCALE_PANEL_JS_BX_ENV_NEED_UPDATE2",
"SCALE_PANEL_JS_PROVIDER_ORDER_SUCCESS",
"SCALE_PANEL_JS_PROVIDER_ORDER_SUCCESS_TITLE",
"SCALE_PANEL_JS_WARNING",
"SCALE_PANEL_JS_LOAD_FILE"
);
$dataRefreshTimeInterval = 300000; //ms how often we want to refresh monitoring info.
$serversList = \Bitrix\Scale\ServersData::getList();
$runningAction = \Bitrix\Scale\ActionsData::checkRunningAction(); //If one of the actions runs now - get it params, to show dialog, and block page
$pullCreateAction = 'CREATE_PULL';
if(empty($serversList))
{
$netIfaces = \Bitrix\Scale\Helper::getNetworkInterfaces();
if(is_array($netIfaces) && count($netIfaces) > 1)
$pullCreateAction = "CREATE_PULL_NET_IFACE";
}
\CUserCounter::Increment($USER->GetID(),'SCALE_PANEL_VISITS', SITE_ID, false);
\CUserCounter::Set($USER->GetID(),'SCALE_SERVERS_COUNT',count($serversList), SITE_ID, '', false);
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
if(\Bitrix\Scale\Helper::checkBxEnvVersion())
{
?>
<div class="adm-scale-page-wrap" id="adm-scale-page-wrap">
<div class="adm-scale-blocks-wrapper" id="adm-scale-blocks-wrapper"<?=empty($serversList) ? ' style="width:100%;"' : ''?>>
<?if(Bitrix\Main\ModuleManager::isModuleInstalled("cluster") || empty($serversList)):?>
<?if(!empty($serversList)):?>
<div class="adm-scale-block adm-scale-block-empty" onclick="BX.Scale.Provider.getList();">
<?else:?>
<p class="adm-scale-page-notify"><?=Loc::getMessage("SCALE_PANEL_NOTIFY_CREATE_SRV")?></p>
<div class="adm-scale-block adm-scale-block-empty" onclick="BX.Scale.actionsCollection.getObject('<?=$pullCreateAction?>').start();">
<?endif;?>
<div class="adm-scale-block-header">
<span class="adm-scale-title"><?=Loc::getMessage("SCALE_PANEL_NEW_SERVER")?></span>
<span class="adm-scale-img"></span>
</div>
</div>
<?endif;?>
</div>
</div>
<?if(!Bitrix\Main\ModuleManager::isModuleInstalled("cluster") && !empty($serversList)):?>
<div class="adm-scale-page-wrap" id="adm-scale-page-wrap">
<div class="adm-scale-blocks-wrapper" id="adm-scale-blocks-wrapper">
<?=Loc::getMessage("SCALE_PANEL_MODULE_CLUSTER_NOT_INSTALLED")?>
</div>
</div>
<?endif;?>
<script type="text/javascript">
BX.ready(function(){
<?foreach($jsLangMesIds as $langMesId):?>BX.message["<?=$langMesId?>"] ="<?=\CUtil::JSEscape(Loc::getMessage($langMesId))?>"; <?endforeach;?>
BX.Scale.actionsCollection = new BX.Scale.Collection(BX.Scale.Action, <?=CUtil::PhpToJSObject( Bitrix\Scale\ActionsData::getList(true))?>);
BX.Scale.rolesList = <?=CUtil::PhpToJSObject( \Bitrix\Scale\RolesData::getList())?>;
BX.Scale.sitesList = <?=CUtil::PhpToJSObject( \Bitrix\Scale\SitesData::getList())?>;
BX.Scale.monitoringEnabled = <?=Bitrix\Scale\Monitoring::isEnabled() ? "true" : "false"?>;
BX.Scale.bitrixEnvType = "<?=getenv('BITRIX_ENV_TYPE')?>";
BX.Scale.monitoringCategories = {};
BX.Scale.isMonitoringDbCreated = {};
<?foreach($serversList as $hostname => $server):?>
BX.Scale.monitoringCategories["<?=$hostname?>"] = <?=CUtil::PhpToJSObject(\Bitrix\Scale\Monitoring::getInfoTableCategoriesList($hostname))?>;
BX.Scale.isMonitoringDbCreated["<?=$hostname?>"] = <?=Bitrix\Scale\Monitoring::isDatabaseCreated($hostname) ? "true" : "false"?>;
<?endforeach;?>
BX.Scale.serversCollection = new BX.Scale.Collection(BX.Scale.Server, <?=CUtil::PhpToJSObject($serversList)?>);
BX.Scale.Communicator.url = "/bitrix/admin/scale_ajax.php";
BX.Scale.AdminFrame.init({
frameObjectName: "adm-scale-page-wrap",
srvFrameObjectName: "adm-scale-blocks-wrapper",
graphPageUrl: "<?=$APPLICATION->GetCurDir()?>scale_graph.php?lang=<?=LANGUAGE_ID?>"
});
BX.Scale.AdminFrame.build();
<?if(Bitrix\Scale\Monitoring::isEnabled()):?>
BX.Scale.AdminFrame.refreshServersRolesLoadbars();
BX.Scale.AdminFrame.refreshingDataStart(<?=$dataRefreshTimeInterval?>);
<?endif;?>
<?if(!empty($runningAction)):?>
BX.Scale.AdminFrame.waitForAction("<?=key($runningAction)?>");
<?endif;?>
});
</script>
<?
}
else
{
?>
<div class="adm-scale-page-wrap" id="adm-scale-page-wrap">
<div class="adm-scale-blocks-wrapper" id="adm-scale-blocks-wrapper">
<?=Loc::getMessage("SCALE_PANEL_BVM_TOO_OLD").". ".Loc::getMessage("SCALE_PANEL_BVM_TOO_OLD_DOC")?>
</div>
</div>
<?
}
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");?>