$commonMerge = $request->get('common'); if ($staged == 1) { $revs = RevDeploy::getDeploymentRevs($deployment); if ($revs['currrev'] == $revs['nextrev']) { $apiResponse = new APIViewData(1, $deployment, "Unable to detect staged revision to reference"); $app->halt(404, $apiResponse->returnJson()); } $deployRev = $revs['nextrev']; } else { $deployRev = RevDeploy::getDeploymentRev($deployment); } $apiResponse = new APIViewData(0, $deployment, false); if ($commonMerge == 1) { $apiResponse->setExtraResponseData('contact_groups', RevDeploy::getCommonMergedDeploymentContactGroups($deployment, $deployRev)); } else { $apiResponse->setExtraResponseData('contact_groups', RevDeploy::getDeploymentContactGroupswInfo($deployment, $deployRev)); } $apiResponse->printJson(); })->name('saigon-api-get-contact-groups'); $app->get('/sapi/contactgroup/:deployment/:contactgroup(/:staged)', function ($deployment, $contactgroup, $staged = false) use($app) { check_deployment_exists($app, $deployment); if ($staged == 1) { $revs = RevDeploy::getDeploymentRevs($deployment); if ($revs['currrev'] == $revs['nextrev']) { $apiResponse = new APIViewData(1, $deployment, "Unable to detect staged revision to reference"); $app->halt(404, $apiResponse->returnJson()); } $deployRev = $revs['nextrev']; } else { $deployRev = RevDeploy::getDeploymentRev($deployment); }
public function del_write() { $viewData = new ViewData(); $deployment = $this->getDeployment('contact_error'); $this->checkGroupAuth($deployment); $this->checkDeploymentRevStatus($deployment); $contactName = $this->getParam('contactName'); if ($contactName === false) { $viewData->header = $this->getErrorHeader('contact_error'); $viewData->error = 'Unable to detect contact specified in post params'; $this->sendError('generic_error', $viewData); } $viewData->deployment = $deployment; $viewData->contact = $contactName; $modrevision = RevDeploy::getDeploymentNextRev($deployment); if ($deployment != 'common') { $cGrpsInfo = RevDeploy::getDeploymentContactGroupswInfo($deployment, $modrevision); foreach ($cGrpsInfo as $cGrp => $cGrpInfo) { if (empty($cGrpInfo['members'])) { continue; } $members = explode(',', $cGrpInfo['members']); if (($key = array_search($contactName, $members)) !== false) { unset($members[$key]); $members = array_values($members); $cGrpInfo['members'] = implode(',', $members); RevDeploy::modifyDeploymentContactGroup($deployment, $cGrp, $cGrpInfo, $modrevision); } } } else { $deployments = RevDeploy::getDeployments(); foreach ($deployments as $tmpDeployment) { $this->checkDeploymentRevStatus($tmpDeployment); $tmpRevision = RevDeploy::getDeploymentNextRev($tmpDeployment); $cGrpsInfo = RevDeploy::getDeploymentContactGroupswInfo($tmpDeployment, $tmpRevision); foreach ($cGrpsInfo as $cGrp => $cGrpInfo) { if (empty($cGrpInfo['members'])) { continue; } $members = explode(',', $cGrpInfo['members']); if (($key = array_search($contactName, $members)) !== false) { unset($members[$key]); $members = array_values($members); $cGrpInfo['members'] = implode(',', $members); RevDeploy::modifyDeploymentContactGroup($tmpDeployment, $cGrp, $cGrpInfo, $tmpRevision); } } } } RevDeploy::deleteDeploymentContact($deployment, $contactName, $modrevision); $this->sendResponse('contact_delete', $viewData); }