if (isset($_POST["act"]) && isset($userid) && $userid > 0) { $action = $_POST["act"]; $monitor_id = intval($_POST["monitor_id"]); $monitor_type = $_POST["monitor_type"]; $params = array('monitor_id' => $monitor_id, 'user_id' => $userid); switch ($action) { case 'suspend': $resp = monitisClientApi::suspendExternal($params); if ($resp["status"] == 'ok') { monitisClientUi::successMessage($MLANG['success_suspend']); } else { monitisClientUi::errorMessage($resp['error']); } break; case 'unsuspend': $resp = monitisClientApi::activateExternal($params); if ($resp["status"] == 'ok') { monitisClientUi::successMessage($MLANG['success_activate']); } else { monitisClientUi::errorMessage($resp['error']); } break; case 'edit': $monitor = monitisClientApi::getExternalMonitorInfo($monitor_id, $userid); $locationIDs = isset($_POST['locationIds']) ? $_POST['locationIds'] : ''; $timeout = ''; if (isset($_POST['timeout'])) { $timeout = $_POST['timeout']; } else { $timeout = $monitor['timeout']; }
private function toDo(&$data, $action, $hookType = '') { if (isset($data['products']) && count($data['products']) > 0) { $result = array('status' => 'ok', 'msg' => ''); $products = $data['products']; $arr = array(); for ($i = 0; $i < count($products); $i++) { $prdct = $products[$i]; $mon = $prdct['monitor']; $api = null; if ($mon) { $api = $mon['api']; } $rslt = null; switch ($action) { case 'active': case 'create': $status = ''; if ($prdct['producttype'] == 'addon') { $status = $this->addonStatus($prdct); } else { $status = $this->prdctStatus($data, $prdct); } if ($status) { if ($mon) { if ($api) { if ($api['isSuspended']) { $resp = monitisClientApi::activateExternal($mon); if (!$resp['error']) { $rslt = array('status' => 'ok', 'msg' => 'Monitor successfully activated'); } else { $rslt = array('status' => 'warning', 'msg' => $resp['error']); } } else { // edit $rslt = array('status' => 'warning', 'msg' => 'Monitor is exist and active'); } } else { // link $rslt = MonitisSeviceHelper::createMonitor($prdct); } } else { $rslt = MonitisSeviceHelper::createMonitor($prdct); } } else { $rslt = array('status' => 'error', 'msg' => 'Product status is inactive'); } break; case 'unlink': if ($mon) { $resp = monitisWhmcsServer::unlinkProductMonitorById($mon['monitor_id']); $rslt = array('status' => 'ok', 'msg' => 'Monitor unlinked successfully'); } else { $rslt = array('status' => 'warning', 'msg' => 'Monitor is not linked'); } break; case 'delete': if ($mon) { $resp = monitisClientApi::deleteExternalMonitor($mon); if ($resp['status'] == 'ok') { $rslt = array('status' => 'ok', 'msg' => 'Monitor deleted successfully'); } else { $rslt = array('status' => 'error', 'msg' => $resp['error']); } } else { $rslt = array('status' => 'warning', 'msg' => 'Monitor is not linked'); } break; case 'suspended': if ($mon) { $resp = monitisClientApi::suspendExternal($mon); if ($resp['status'] == 'ok') { if (@$resp['data']) { $rslt = array('status' => 'ok', 'msg' => $resp['data']); } else { $rslt = array('status' => 'ok', 'msg' => 'The monitor suspended successfully'); } } else { $rslt = array('status' => 'error', 'msg' => 'Error suspended'); } } else { $rslt = array('status' => 'warning', 'msg' => 'Monitor is not linked'); } break; } $arr[] = array('product' => $products[$i], 'response' => $rslt); } return $arr; } else { return null; } }