static function editPingMonitor(&$mParams) { $resp = MonitisApi::editExternalPing($mParams); if (isset($resp['data']) && isset($resp['data']['testId'])) { return true; } return false; }
$serverInfo['agent'][$monitorType]['available'] = $available; } break; } } elseif (isset($_POST['type'])) { switch ($_POST['type']) { case 'ping': $interval = (int) $_POST['interval']; $locationIds = mysql_escape_string($_POST['locationIds']); $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');