/** * Acknowledge host / service problems * * @method post * @route /externalcommands/advanced/[i:cmdid] * @todo */ public function advancedAction() { $params = $this->getParams(); $cmdId = $params['cmdid']; $router = Di::getDefault()->get('router'); try { if ($cmdId == ServicedetailRepository::DOWNTIME || $cmdId == HostdetailRepository::DOWNTIME) { list($start, $end) = explode(' - ', $params['period']); $params['start_time'] = strtotime($start); $params['end_time'] = strtotime($end); } switch ($cmdId) { case ServicedetailRepository::DOWNTIME: case ServicedetailRepository::ACKNOWLEDGE: ServicedetailRepository::processCommand($cmdId, $params['ids'], $params); break; case HostdetailRepository::DOWNTIME: case HostdetailRepository::ACKNOWLEDGE: HostdetailRepository::processCommand($cmdId, $params['ids'], $params); break; } $router->response()->json(array('message' => _('Command has been successfully submitted'))); } catch (\Exception $e) { $router->response()->json(array('message' => $e->getMessage())); } }