예제 #1
0
 public function getMonitoringResults($interval = false)
 {
     if ($interval === false) {
         $interval = $this->getInterval();
     } else {
         $interval = $this->setInterval($interval);
     }
     if ($this->result === null) {
         try {
             if (CBitrixCloudMonitoringResult::isExpired()) {
                 $web_service = new CBitrixCloudMonitoringWebService();
                 $xml = $web_service->actionGetInfo($interval);
                 $domains = $xml->SelectNodes("/control/domains");
                 if (is_object($domains)) {
                     $this->result = CBitrixCloudMonitoringResult::fromXMLNode($domains);
                     $control = $xml->SelectNodes("/control");
                     if (is_object($control)) {
                         $this->result->saveToOptions();
                         CBitrixCloudMonitoringResult::setExpirationTime(strtotime($control->getAttribute("expires")));
                     }
                 }
             } else {
                 $this->result = CBitrixCloudMonitoringResult::loadFromOptions();
             }
         } catch (CBitrixCloudException $e) {
             CBitrixCloudMonitoringResult::setExpirationTime(time() + 1800);
             return $e->getMessage();
             //."[".htmlspecialcharsEx($e->getErrorCode())."]";
         }
     }
     return $this->result;
 }
예제 #2
0
 /**
  *
  * @param CDataXMLNode $node
  * @return CBitrixCloudMonitoringResult
  *
  */
 public static function fromXMLNode(CDataXMLNode $node)
 {
     $domains = new CBitrixCloudMonitoringResult();
     if (is_array($node->children())) {
         foreach ($node->children() as $sub_node) {
             $domains->addDomainResult(CBitrixCloudMonitoringDomainResult::fromXMLNode($sub_node));
         }
     }
     return $domains;
 }
<?php

define("ADMIN_MODULE_NAME", "bitrixcloud");
if (isset($_REQUEST["referer"]) && $_REQUEST["referer"] === "monitoring") {
    define("NOT_CHECK_PERMISSIONS", true);
}
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php";
IncludeModuleLangFile(__FILE__);
/* @global CMain $APPLICATION */
/* @global CUser $USER */
if (!CModule::IncludeModule("bitrixcloud")) {
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
if ($_REQUEST["referer"] === "monitoring") {
    CBitrixCloudMonitoringResult::setExpirationTime(0);
    require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_after.php";
    die;
}
if (!$USER->IsAdmin()) {
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
$strError = "";
$arNotes = array();
$monitoringResults = null;
$APPLICATION->SetTitle(GetMessage("BCL_MONITORING_TITLE"));
$converter = CBXPunycode::GetConverter();
$monitoring = CBitrixCloudMonitoring::getInstance();
$sTableID = "t_bitrixcloud_monitoring";
$lAdmin = new CAdminList($sTableID);
$arHeaders = array(array("id" => "DOMAIN", "content" => GetMessage("BCL_MONITORING_DOMAIN"), "default" => true), array("id" => "RESULT", "content" => GetMessage("BCL_MONITORING_RESULT"), "default" => true));
try {