/** * * @return CDataXML * @throws CBitrixCloudException */ public function actionStart($domain, $is_https, $language_id, $emails, $tests) { $this->addStr = ""; $this->addParams = array("domain" => $domain, "domain_is_https" => $is_https ? "Y" : "N", "lang" => $language_id); if (is_array($emails)) { foreach ($emails as $email) { $email = trim($email); if (strlen($email) > 0) { $this->addStr .= "&ar_emails[]=" . urlencode($email); } } } if (is_array($tests)) { foreach ($tests as $test) { $test = trim($test); if (strlen($test) > 0) { $this->addStr .= "&ar_tests[]=" . urlencode($test); } } } $option = CBitrixCloudOption::getOption('monitoring_devices'); $devices = $option->getArrayValue(); foreach ($devices as $domain_device) { if (list($myDomain, $myDevice) = explode("|", $domain_device, 2)) { if ($myDomain === $domain) { $this->addStr .= "&ar_devices[]=" . urlencode($myDevice); } } } $this->monitoring_action("monitoring_start"); }
/** * * @param CBitrixCloudOption $option * @return CBitrixCloudCDNClasses * */ public function saveOption(CBitrixCloudOption $option) { $classes = array(); foreach ($this->classes as $class_name => $file_class) { /* @var CBitrixCloudCDNClass $file_class */ $classes[$class_name] = implode(",", $file_class->getExtensions()); } $option->setArrayValue($classes); return $this; }
/** * @return void * */ public static function unlock() { CBitrixCloudOption::unlock(); }
/** * Shows information about CDN free space in Admin's informer popup * * @return void */ public function OnAdminInformerInsertItems() { $CDNAIParams = array("TITLE" => GetMessage("BCL_BACKUP_AI_TITLE"), "COLOR" => "peach"); $backup = self::getInstance(); $backup->loadFromOptions(); $last_request_time_option = CBitrixCloudOption::getOption("backup_last_backup_time"); try { if ($backup->getQuota() <= 0 && $last_request_time_option->getIntegerValue() <= 0) { $backup->_getInformation(true); $backup->saveToOptions(); $last_request_time_option->setStringValue((string) time()); } } catch (CBitrixCloudException $e) { ///TODO show error to user return; } if ($backup->getQuota() <= 0) { return; } $arFiles = $backup->listFiles(); if (empty($arFiles)) { $PROGRESS_FREE = 100; $AVAIL = $backup->getQuota(); $ALLOWED = CFile::FormatSize($backup->getQuota(), 0); $CDNAIParams["ALERT"] = true; $MESS = '<span class="adm-informer-strong-text">' . GetMessage("BCL_BACKUP_AI_NO_FILES") . '</span>'; $CDNAIParams["FOOTER"] = '<a href="/bitrix/admin/dump.php?lang=' . LANGUAGE_ID . '">' . GetMessage("BCL_BACKUP_AI_DO_BACKUP_STRONGLY") . '</a>'; } elseif ($backup->getLastTimeBackup() < time() - 7 * 24 * 3600) { $AVAIL = $backup->getQuota() - $backup->getUsage(); if ($AVAIL < 0.0) { $AVAIL = 0.0; } $PROGRESS_FREE = round($AVAIL / $backup->getQuota() * 100); $ALLOWED = CFile::FormatSize($backup->getQuota(), 0); $CDNAIParams["ALERT"] = true; $MESS = '<span class="adm-informer-strong-text">' . GetMessage("BCL_BACKUP_AI_LAST_TIME") . ': ' . FormatDate(array("today" => "today", "yesterday" => "yesterday", "" => "dago"), $backup->getLastTimeBackup()) . '.</span>'; $CDNAIParams["FOOTER"] = '<a href="/bitrix/admin/dump.php?lang=' . LANGUAGE_ID . '">' . GetMessage("BCL_BACKUP_AI_DO_BACKUP_STRONGLY") . '</a>'; } else { $AVAIL = $backup->getQuota() - $backup->getUsage(); if ($AVAIL < 0.0) { $AVAIL = 0.0; } $PROGRESS_FREE = round($AVAIL / $backup->getQuota() * 100); $ALLOWED = CFile::FormatSize($backup->getQuota(), 0); $CDNAIParams["ALERT"] = false; $MESS = GetMessage("BCL_BACKUP_AI_LAST_TIME") . ': ' . FormatDate(array("today" => "today", "yesterday" => "yesterday", "" => "dago"), $backup->getLastTimeBackup()); $CDNAIParams["FOOTER"] = '<a href="/bitrix/admin/dump.php?lang=' . LANGUAGE_ID . '">' . GetMessage("BCL_BACKUP_AI_DO_BACKUP") . '</a>'; } if (isset($CDNAIParams["ALERT"])) { $PROGRESS_FREE_BAR = $PROGRESS_FREE < 0 ? 0 : $PROGRESS_FREE; $CDNAIParams["HTML"] = ' <div class="adm-informer-item-section"> <span class="adm-informer-item-l"> <span class="adm-informer-strong-text">' . GetMessage("BCL_BACKUP_AI_USAGE_TOTAL") . '</span> ' . $ALLOWED . ' </span> <span class="adm-informer-item-r"> <span class="adm-informer-strong-text">' . GetMessage("BCL_BACKUP_AI_USAGE_AVAIL") . '</span> ' . CFile::FormatSize($AVAIL, 0) . ' </span> </div> <div class="adm-informer-status-bar-block" > <div class="adm-informer-status-bar-indicator" style="width:' . (100 - $PROGRESS_FREE_BAR) . '%; "></div> <div class="adm-informer-status-bar-text">' . (100 - $PROGRESS_FREE) . '%</div> </div> ' . $MESS; CAdminInformer::AddItem($CDNAIParams); } }
/** * * @param CBitrixCloudOption $option * @return CBitrixCloudCDNQuota * */ public function saveOption(CBitrixCloudOption $option) { $values = array("expires" => (string) $this->expires, "allow" => (string) $this->allowed, "traffic" => (string) $this->traffic); $option->setArrayValue($values); return $this; }
/** * * @param CBitrixCloudOption $option * @return CBitrixCloudCDNServerGroups * */ public function saveOption(CBitrixCloudOption $option) { $groups = array(); foreach ($this->groups as $group_name => $group) { $groups[$group_name] = implode(",", $group->getServers()); } $option->setArrayValue($groups); return $this; }
public function saveToOptions() { $domainNames = array_keys($this->domains); CBitrixCloudOption::getOption("monitoring_result")->setArrayValue($domainNames); foreach ($domainNames as $i => $domainName) { $this->domains[$domainName]->saveToOptions(CBitrixCloudOption::getOption("monitoring_result_{$i}")); } }
/** * * @param CBitrixCloudOption $option * @return CBitrixCloudCDNLocations * */ public function saveOption(CBitrixCloudOption $option) { $locations = array(); foreach ($this->locations as $location_name => $location) { /* @var CBitrixCloudCDNLocation $location */ $locations[$location_name] = $location->getOptionValue(); } $option->setArrayValue($locations); return $this; }
public function storeAlertsCurrentResult() { $alerts = $this->getAlertsCurrentResult(); if (is_array($alerts)) { CBitrixCloudOption::getOption("monitoring_alert")->setArrayValue($alerts); } }