示例#1
0
 static function editPingMonitor(&$mParams)
 {
     $resp = MonitisApi::editExternalPing($mParams);
     if (isset($resp['data']) && isset($resp['data']['testId'])) {
         return true;
     }
     return false;
 }
示例#2
0
                $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');