Пример #1
0
 */
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 (!\Bitrix\Main\Loader::includeModule("scale")) {
    ShowError(Loc::getMessage("SCALE_GRAPH_MODULE_NOT_INSTALLED"));
}
if (!$USER->IsAdmin()) {
    $APPLICATION->AuthForm(Loc::getMessage("SCALE_GRAPH_ACCESS_DENIED"));
}
$APPLICATION->SetTitle(Loc::getMessage("SCALE_GRAPH_TITLE"));
$APPLICATION->SetAdditionalCSS("/bitrix/js/scale/css/scale-page-style.css");
$APPLICATION->AddHeadScript("/bitrix/js/scale/core.js");
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
if (\Bitrix\Scale\Helper::checkBxEnvVersion()) {
    if (\Bitrix\Scale\Monitoring::isEnabled()) {
        $serversList = \Bitrix\Scale\ServersData::getList();
        reset($serversList);
        $serverHostname = isset($_REQUEST["SERVER_HOSTNAME"]) ? htmlspecialcharsbx($_REQUEST["SERVER_HOSTNAME"]) : key($serversList);
        $monitoringCategoryId = isset($_REQUEST["GRAPH_CATEGORY"]) ? htmlspecialcharsbx($_REQUEST["GRAPH_CATEGORY"]) : "SYSTEM";
        $period = isset($_REQUEST["PERIOD"]) ? htmlspecialcharsbx($_REQUEST["PERIOD"]) : "day";
        $graphCategories = array();
        $sFilterID = "scale_graph_filter_id";
        $oFilter = new CAdminFilter($sFilterID, array(Loc::getMessage("SCALE_GRAPH_SELECT_SERVER"), Loc::getMessage("SCALE_GRAPH_SELECT_CATEGORY"), Loc::getMessage("SCALE_GRAPH_SELECT_PERIOD")));
        $graphs = \Bitrix\Scale\GraphData::getList();
        foreach ($serversList as $hostname => $server) {
            $graphCategories[$hostname] = \Bitrix\Scale\ServersData::getGraphCategories($hostname);
            foreach ($graphCategories[$hostname] as $key => $category) {
                if (!isset($graphs[$category])) {
                    continue;