function update_valuemap($valuemapid, $name, $mappings)
{
    if (!is_array($mappings)) {
        return FALSE;
    }
    $result = DBexecute('UPDATE valuemaps SET name=' . zbx_dbstr($name) . ' WHERE valuemapid=' . $valuemapid);
    if (!$result) {
        return $result;
    }
    $result = add_mapping_to_valuemap($valuemapid, $mappings);
    if (!$result) {
        delete_valuemap($valuemapid);
    }
    return $result;
}
Exemple #2
0
                     $audit_action = AUDIT_ACTION_ADD;
                     $msg_ok = S_VALUE_MAP_ADDED;
                     $msg_fail = S_CANNNOT_ADD_VALUE_MAP;
                     $valuemapid = $result;
                 }
                 if ($result) {
                     add_audit($audit_action, AUDIT_RESOURCE_VALUE_MAP, S_VALUE_MAP . ' [' . $_REQUEST['mapname'] . '] [' . $valuemapid . ']');
                     unset($_REQUEST['form']);
                 }
                 show_messages($result, $msg_ok, $msg_fail);
             } else {
                 if (isset($_REQUEST['delete']) && isset($_REQUEST['valuemapid'])) {
                     $result = false;
                     $sql = 'SELECT * FROM valuemaps WHERE ' . DBin_node('valuemapid') . ' AND valuemapid=' . $_REQUEST['valuemapid'];
                     if ($map_data = DBfetch(DBselect($sql))) {
                         $result = delete_valuemap($_REQUEST['valuemapid']);
                     }
                     if ($result) {
                         add_audit(AUDIT_ACTION_DELETE, AUDIT_RESOURCE_VALUE_MAP, S_VALUE_MAP . ' [' . $map_data['name'] . '] [' . $map_data['valuemapid'] . ']');
                         unset($_REQUEST['form']);
                     }
                     show_messages($result, S_VALUE_MAP_DELETED, S_CANNNOT_DELETE_VALUE_MAP);
                 }
             }
         }
     }
 } else {
     if (isset($_REQUEST['save']) && $_REQUEST['config'] == 9) {
         if (!count(get_accessible_nodes_by_user($USER_DETAILS, PERM_READ_WRITE, PERM_RES_IDS_ARRAY))) {
             access_deny();
         }