/**
  * Update a host
  *
  *
  * @method post
  * @route /hosttemplate/update
  */
 public function updateAction()
 {
     $givenParameters = $this->getParams('post');
     $macroList = array();
     $aTagList = array();
     $aTags = array();
     $aTagsTemplate = array();
     $aTagsInTpl = array();
     $aTagsIdTpl = array();
     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);
             }
         }
     }
     if ($givenParameters['host_create_services_from_template']) {
         \CentreonConfiguration\Models\Host::deployServices($givenParameters['object_id']);
     }
     if (count($macroList) > 0) {
         try {
             CustomMacroRepository::saveHostCustomMacro(self::$objectName, $givenParameters['object_id'], $macroList);
         } catch (\Exception $ex) {
             $errorMessage = $ex->getMessage();
             $this->router->response()->json(array('success' => false, 'error' => $errorMessage));
         }
     }
     //Delete tags directilly rattached to the object
     TagsRepository::deleteTagsForResource(self::$objectName, $givenParameters['object_id'], 0);
     //Insert tags affected to the HOST
     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(self::$objectName, $givenParameters['object_id'], $aTags, '', false, 1);
         }
     }
     parent::updateAction();
 }
Example #2
0
 /**
  * Add a service
  *
  * @method post
  * @route /service/add
  */
 public function createAction()
 {
     $macroList = array();
     $aTagList = array();
     $aTags = array();
     $givenParameters = $this->getParams('post');
     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::saveServiceCustomMacro(self::$objectName, $id, $macroList);
         } catch (\Exception $ex) {
             $errorMessage = $ex->getMessage();
             $this->router->response()->json(array('success' => false, 'error' => $errorMessage));
         }
     }
     if (isset($givenParameters['service_tags'])) {
         $aTagList = explode(",", $givenParameters['service_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));
 }
 /**
  * Update a business activity
  *
  *
  * @method post
  * @route /businessactivity/update
  */
 public function updateAction()
 {
     $givenParameters = $this->getParams('post');
     $aTagList = array();
     $aTags = array();
     parent::updateAction();
     if (isset($givenParameters['ba_tags'])) {
         $aTagList = explode(",", $givenParameters['ba_tags']);
         foreach ($aTagList as $var) {
             if (strlen($var) > 1) {
                 array_push($aTags, $var);
             }
         }
         if (count($aTags) > 0) {
             TagsRepository::saveTagsForResource('ba', $givenParameters['object_id'], $aTags, '', false, 1);
         }
     }
 }
Example #4
0
 /**
  * Update contact
  * @param array $givenParameters
  */
 public static function update($givenParameters, $origin = "", $route = "", $validate = true, $validateMandatory = true)
 {
     if ($validate) {
         self::validateForm($givenParameters, $origin, $route, $validateMandatory);
     }
     $aTagList = array();
     $aTags = array();
     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, $givenParameters['object_id'], $aTags, '', false, 1);
     }
     $infoToUpdate['contact_id'] = $givenParameters['object_id'];
     if (isset($givenParameters['timezone_id']) && is_numeric($givenParameters['timezone_id'])) {
         $infoToUpdate['timezone_id'] = $givenParameters['timezone_id'];
     } else {
         $infoToUpdate['timezone_id'] = "";
     }
     if (isset($givenParameters['description'])) {
         $infoToUpdate['description'] = $givenParameters['description'];
     }
     $class = static::$objectClass;
     $sField = $class::getUniqueLabelField();
     if (isset($givenParameters[$sField])) {
         $oSlugify = new CentreonSlugify($class, get_called_class());
         $sSlug = $oSlugify->slug($givenParameters[$sField]);
         $infoToUpdate[$class::getSlugField()] = $sSlug;
     }
     return Contact::update($givenParameters['object_id'], $infoToUpdate);
 }
Example #5
0
 /**
  * Add a tag
  *
  * @method post
  * @route /tag/addMassive
  */
 public function addMassiveAction()
 {
     $di = Di::getDefault();
     $router = $di->get('router');
     $post = $router->request()->paramsPost();
     $sGlobal = 0;
     $bStatus = false;
     $addErrorMessage = '';
     $bNotDelete = true;
     $sTagName = trim($post['tagName']);
     if (empty($sTagName)) {
         return;
     }
     if (!is_array($post['resourceId'])) {
         $listResources = array($post['resourceId']);
     } else {
         $listResources = $post['resourceId'];
     }
     if (!is_array($sTagName)) {
         $listTag = explode(",", $sTagName);
     } else {
         $listTag = $sTagName;
     }
     if (isset($post['typeTag']) && $post['typeTag'] == 1) {
         $sGlobal = 1;
     }
     $listTag = array_diff($listTag, array(''));
     if (count($listTag) > 0) {
         try {
             foreach ($listResources as $resourceId) {
                 TagsRepository::saveTagsForResource($post['resourceName'], $resourceId, $listTag, 0, $bNotDelete, $sGlobal);
             }
             $bStatus = true;
         } catch (Exception $e) {
             $addErrorMessage = $e->getMessage();
             $bStatus = false;
         }
     }
     return $this->router->response()->json(array('success' => $bStatus, 'error' => $addErrorMessage));
 }
Example #6
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));
 }