Beispiel #1
0
 private static function hostgroup($action, $params)
 {
     CHostGroup::$error = array();
     switch ($action) {
         case 'add':
             $result = CHostGroup::add($params);
             break;
         case 'get':
             $result = CHostGroup::get($params);
             break;
         case 'getById':
             $result = CHostGroup::getById($params);
             break;
         case 'getId':
             $result = CHostGroup::getId($params);
             break;
         case 'update':
             $result = CHostGroup::update($params);
             break;
         case 'addHosts':
             $result = CHostGroup::addHosts($params);
             break;
         case 'removeHosts':
             $result = CHostGroup::removeHosts($params);
             break;
         case 'addGroupsToHost':
             $result = CHostGroup::addGroupsToHost($params);
             break;
         case 'updateGroupsToHost':
             $result = CHostGroup::updateGroupsToHost($params);
             break;
         case 'delete':
             $result = CHostGroup::delete($params);
             break;
         default:
             self::$result = array('error' => ZBX_API_ERROR_NO_METHOD, 'data' => 'Method: "' . $action . '" doesn\'t exist.');
             return;
             //exit function
     }
     if ($result !== false) {
         self::$result = array('result' => $result);
     } else {
         self::$result = CHostGroup::$error;
     }
 }
Beispiel #2
0
         access_deny();
     }
 } else {
     if (!count(get_accessible_nodes_by_user($USER_DETAILS, PERM_READ_WRITE, PERM_RES_IDS_ARRAY))) {
         access_deny();
     }
 }
 $clone_templateid = false;
 if ($_REQUEST['form'] == 'full_clone') {
     $clone_templateid = $templateid;
     $templateid = null;
 }
 DBstart();
 // CREATE NEW GROUP
 if (!empty($newgroup)) {
     if ($groupid = CHostGroup::add(array($newgroup))) {
         $groups += $groupid;
     } else {
         $result = false;
     }
 }
 // <<<--- CREATE|UPDATE TEMPLATE WITH GROUPS ANT LINKED TEMPLATES --->>>
 if ($templateid) {
     if (isset($_REQUEST['clear_templates'])) {
         foreach ($_REQUEST['clear_templates'] as $id) {
             $result &= unlink_template($_REQUEST['templateid'], $id, false);
         }
     }
     $result = CTemplate::update(array(array('hostid' => $templateid, 'host' => $template_name)));
     $result &= CHostGroup::updateGroupsToHost(array('hostid' => $templateid, 'groupids' => $groups));
     $msg_ok = S_TEMPLATE_UPDATED;