/**
  * 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));
 }
Beispiel #5
0
 /**
  * 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));
 }