public function getMonitor($monitorId, $type) { $resp = null; if ($monitorId && $monitorId > 0) { if ($type == 'cpu') { $resp = MonitisApi::getCPUMonitor($monitorId); $resp = $this->whmcsInfo($resp, $monitorId, 'internal'); } elseif ($type == 'memory') { $resp = MonitisApi::getMemoryInfo($monitorId); $resp = $this->whmcsInfo($resp, $monitorId, 'internal'); } elseif ($type == 'drive') { $resp = MonitisApi::getDriveInfo($monitorId); $resp = $this->whmcsInfo($resp, $monitorId, 'internal'); } elseif ($type == 'ping' || $type == 'external') { $ping = MonitisApi::getExternalMonitorInfo($monitorId); $locs = array(); $intervals = array(); for ($i = 0; $i < count($ping['locations']); $i++) { $locs[] = $ping['locations'][$i]['id']; $intervals[] = $ping['locations'][$i]['checkInterval']; } $ping['locations'] = implode(',', $locs); $ping['intervals'] = implode(',', $intervals); $ping['id'] = $monitorId; $resp = $this->whmcsInfo($ping, $monitorId, 'external'); } } return $resp; }
$cpuSettings = array('platform' => array($platform => array())); foreach ($cpu as $key => $val) { $cpuSettings['platform'][$platform][$key] = isset($_POST[$key]) ? intval($_POST[$key]) : $cpu[$key]; } $resp = MonitisApiHelper::addCPUMonitor($serverInfo, MONITIS_CLIENT_ID, $agentInfo, $internalMonitors['cpus'], $cpuSettings['platform']); if ($resp['status'] === 'ok') { MonitisApp::addMessage('CPU Monitor successfully created'); $serverInfo['agent']['cpu'] = $serverMonitors->getMonitor($resp['id'], 'cpu'); } else { MonitisApp::addError($resp['msg']); } } break; case 'memory': if (isset($_POST['id'])) { $monitor = MonitisApi::getMemoryInfo((int) $_POST['id']); $platform = $monitor['agentPlatform']; $monitorId = (int) $_POST['id']; $params = array('testId' => $monitorId, 'name' => 'memory@' . $serverInfo['hostname'], 'tag' => $serverInfo['hostname'] . '_whmcs', 'platform' => $platform); $memory = MonitisConf::$settings['memory'][$platform]; foreach ($memory as $key => $val) { $params[$key] = isset($_POST[$key]) ? intval($_POST[$key]) : $memory[$key]; } $resp = MonitisApi::editMemoryMonitor($params); if ($resp && $resp['status'] == 'ok') { MonitisApp::addMessage('Memory Monitor successfully updated'); $serverInfo['agent']['memory'] = $serverMonitors->getMonitor($monitorId, 'memory'); } else { MonitisApp::addError($resp['error']); } } else {