/** * Create a new period * * @method post * @route /scheduled-downtime/add */ public function createAction() { $givenParameters = $this->getParams('post'); $periods = json_decode($givenParameters['periods'], true); $id = parent::createAction(false); /* Update the periods */ if (is_array($periods)) { ScheduledDowntimeRepository::updatePeriods($id, $periods); } $this->router->response()->json(array('success' => true)); }
/** * Create a new resource * * @method post * @route /resource/add */ public function createAction() { parent::createAction(); }
/** * Create a new host template * * @method post * @route /hosttemplate/add */ public function createAction() { $macroList = array(); $aTagList = array(); $aTags = array(); $givenParameters = $this->getParams('post'); $givenParameters['host_register'] = 0; if (isset($givenParameters['macro_name']) && isset($givenParameters['macro_value'])) { $macroName = $givenParameters['macro_name']; $macroValue = $givenParameters['macro_value']; $macroHidden = $givenParameters['macro_hidden']; foreach ($macroName as $key => $name) { if (!empty($name)) { if (isset($macroHidden[$key])) { $isPassword = '******'; } else { $isPassword = '******'; } $macroList[$name] = array('value' => $macroValue[$key], 'ispassword' => $isPassword); } } } $id = parent::createAction(false); if (count($macroList) > 0) { try { CustomMacroRepository::saveHostCustomMacro(self::$objectName, $id, $macroList); } catch (\Exception $ex) { $errorMessage = $ex->getMessage(); $this->router->response()->json(array('success' => false, 'error' => $errorMessage)); } } if (isset($givenParameters['host_tags'])) { $aTagList = explode(",", $givenParameters['host_tags']); foreach ($aTagList as $var) { $var = trim($var); if (!empty($var)) { array_push($aTags, $var); } } if (count($aTags) > 0) { TagsRepository::saveTagsForResource('host', $id, $aTags, '', false, 1); } } $this->router->response()->json(array('success' => true)); }
/** * * @method post * @route /configuration/graphtemplate/add */ public function createAction() { $id = parent::createAction(false); $givenParameters = clone $this->getParams('post'); $listMetrics = array(); if (isset($givenParameters['metric_name'])) { foreach ($givenParameters['metric_name'] as $key => $value) { if (!empty($value)) { $listMetrics[$key]['metric_name'] = $value; if (isset($givenParameters['metric_fill'][$key])) { $listMetrics[$key]['metric_fill'] = '1'; } else { $listMetrics[$key]['metric_fill'] = '0'; } if (isset($givenParameters['metric_negative'][$key])) { $listMetrics[$key]['metric_negative'] = '1'; } else { $listMetrics[$key]['metric_negative'] = '0'; } if (isset($givenParameters['metric_color'][$key])) { $listMetrics[$key]['metric_color'] = $givenParameters['metric_color'][$key]; } else { $listMetrics[$key]['metric_color'] = '#000000'; } } } } try { GraphTemplateRepository::saveMetrics($id, 'add', $listMetrics); } catch (\Exception $ex) { $errorMessage = $ex->getMessage(); $this->router->response()->json(array('success' => false, 'error' => $errorMessage)); } $this->router->response()->json(array('success' => true)); }
/** * Create a new host * * @method post * @route /contact/add */ public function createAction() { $aTags = array(); $givenParameters = $this->getParams('post'); $id = parent::createAction(false); $listWays = array(); if (isset($givenParameters['way_name']) && isset($givenParameters['way_value'])) { $wayName = $givenParameters['way_name']; $wayValue = $givenParameters['way_value']; foreach ($wayName as $key => $name) { if (!empty($name) && !empty($wayValue[$key])) { $listWays[$name] = array('value' => $wayValue[$key]); } } } try { NotificationWayRepository::saveNotificationWays($id, 'create', $listWays); } catch (\Exception $ex) { $errorMessage = $ex->getMessage(); $this->router->response()->json(array('success' => false, 'error' => $errorMessage)); } if (isset($givenParameters['contact_tags'])) { $aTagList = explode(",", $givenParameters['contact_tags']); foreach ($aTagList as $var) { $var = trim($var); if (!empty($var)) { array_push($aTags, $var); } } if (count($aTags) > 0) { TagsRepository::saveTagsForResource(self::$objectName, $id, $aTags, '', false, 1); } } $this->router->response()->json(array('success' => true)); }