Пример #1
0
     $params = array('type' => 'ping', 'name' => $serverInfo['hostname'] . '_ping', 'url' => $serverInfo['ipaddress'], 'timeout' => (int) $_POST['timeout'], 'tag' => $serverInfo['hostname'] . '_whmcs', 'locationIds' => $_POST['locationIds']);
     if (isset($_POST['id'])) {
         $monitorId = (int) $_POST['id'];
         $params['testId'] = $monitorId;
         $params['locationIds'] = str_replace(',', '-' . $interval . ',', $params['locationIds']);
         $params['locationIds'] .= '-' . $interval;
         $resp = MonitisApi::editExternalPing($params);
         if ($resp['status'] == 'ok') {
             MonitisApp::addMessage('Ping Monitor successfully updated');
             $serverInfo['ping'] = $serverMonitors->getMonitor($monitorId, 'ping');
         } else {
             MonitisApp::addError($resp['error']);
         }
     } else {
         $params['interval'] = $interval;
         $resp = MonitisApi::createExternalPing($params);
         if (isset($resp['data']) && isset($resp['data']['testId'])) {
             $newId = $resp['data']['testId'];
             $publicKey = MonitisApi::monitorPublicKey(array('moduleType' => 'external', 'monitorId' => $newId));
             $values = array('server_id' => $serverInfo['id'], 'available' => MonitisConf::$settings['ping']['available'], 'monitor_id' => $newId, 'monitor_type' => 'ping', 'client_id' => MONITIS_CLIENT_ID, 'publickey' => $publicKey);
             insert_query('mod_monitis_ext_monitors', $values);
             MonitisApp::addMessage('Ping Monitor successfully created');
             $serverInfo['ping'] = $serverMonitors->getMonitor($resp['data']['testId'], 'ping');
         } else {
             MonitisApp::addError($resp['error']);
         }
     }
     break;
 case 'cpu':
     if (isset($_POST['id'])) {
         $monitorId = (int) $_POST['id'];
Пример #2
0
 static function addDefaultPing($client_id, $server, $external)
 {
     $url = $server['ipaddress'];
     $name = $server['hostname'];
     $result = array('status' => 'error', 'msg' => 'Empty hostname or ip address ');
     if (empty($url) || empty($name)) {
         return $result;
     }
     $locationIDs = array_map("intval", MonitisConf::$settings['ping']['locationIds']);
     $monParams = array('type' => 'ping', 'name' => $name . '_ping', 'url' => $url, 'interval' => MonitisConf::$settings['ping']['interval'], 'timeout' => MonitisConf::$settings['ping']['timeout'], 'locationIds' => implode(',', $locationIDs), 'tag' => $name . '_whmcs');
     $resp = MonitisApi::createExternalPing($monParams);
     if (isset($resp['data']) && isset($resp['data']['testId'])) {
         $newID = $resp['data']['testId'];
         if ($external && self::isWhmcsMonitor('monitor_id', $newID, $external)) {
             $result["status"] = 'warning';
             $result["msg"] = 'Ping monitor already exists';
         } else {
             $pubKey = MonitisApi::monitorPublicKey(array('moduleType' => 'external', 'monitorId' => $newID));
             $values = array("server_id" => $server['id'], "available" => MonitisConf::$settings['ping']['available'], "monitor_id" => $newID, "monitor_type" => "ping", "client_id" => $client_id, "publickey" => $pubKey);
             @insert_query('mod_monitis_ext_monitors', $values);
             $result["status"] = 'ok';
             $result["msg"] = 'Ping monitor created successfully';
         }
     } else {
         $result["status"] = 'error';
         $result["msg"] = $resp["error"];
     }
     return $result;
 }