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; }
/** * * @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 {