Changeset 11078


Ignore:
Timestamp:
Mar 4, 2011, 9:20:03 PM (13 years ago)
Author:
sdlime
Message:

Remove map-oriented query modes (e.g.QUERYMAP). Use qformat parameter instead. (#3712)

Location:
trunk/mapserver
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/mapserver/HISTORY.TXT

    r11068 r11078  
    1414Current Version (SVN trunk):
    1515----------------------------
     16
     17- Remove map-oriented query modes (e.g. QUERYMAP). Use qformat parameter instead. (#3712)
    1618
    1719- Implement single-pass query handling in mssql2008 driver as per RFC 65.
  • trunk/mapserver/mapserv.c

    r10924 r11078  
    15671567        case ITEMFEATUREQUERY:
    15681568        case ITEMFEATURENQUERY:
    1569         case ITEMFEATUREQUERYMAP:
    1570         case ITEMFEATURENQUERYMAP:
    15711569          if((SelectLayerIndex = msGetLayerIndex(mapserv->map, SelectLayer)) == -1) { /* force the selection layer on */
    15721570            msSetError(MS_WEBERR, "Selection layer not set or references an invalid layer.", "mapserv()");
     
    15931591
    15941592          mapserv->map->query.mode = MS_QUERY_MULTIPLE;
    1595           if(mapserv->Mode == ITEMFEATUREQUERY || mapserv->Mode == ITEMFEATUREQUERYMAP)
     1593          if(mapserv->Mode == ITEMFEATUREQUERY)
    15961594            mapserv->map->query.mode = MS_QUERY_SINGLE;
    15971595
     
    16011599        case FEATUREQUERY:
    16021600        case FEATURENQUERY:
    1603         case FEATUREQUERYMAP:
    1604         case FEATURENQUERYMAP:
    16051601          if((SelectLayerIndex = msGetLayerIndex(mapserv->map, SelectLayer)) == -1) { /* force the selection layer on */
    16061602            msSetError(MS_WEBERR, "Selection layer not set or references an invalid layer.", "mapserv()");
     
    16091605          GET_LAYER(mapserv->map, SelectLayerIndex)->status = MS_ON;
    16101606     
    1611           if(mapserv->Mode == FEATUREQUERY || mapserv->Mode == FEATUREQUERYMAP) {
     1607          if(mapserv->Mode == FEATUREQUERY) {
    16121608            switch(QueryCoordSource) {
    16131609            case FROMIMGPNT:
     
    16311627            mapserv->map->query.layer = QueryLayerIndex;
    16321628            mapserv->map->query.slayer = SelectLayerIndex; /* this will trigger the feature query eventually */
    1633           } else { /* FEATURENQUERY/FEATURENQUERYMAP */
     1629          } else { /* FEATURENQUERY */
    16341630            switch(QueryCoordSource) {
    16351631            case FROMIMGPNT:
     
    16611657        case ITEMQUERY:
    16621658        case ITEMNQUERY:
    1663         case ITEMQUERYMAP:
    1664         case ITEMNQUERYMAP:
    16651659          if(QueryLayerIndex < 0 || QueryLayerIndex >= mapserv->map->numlayers) {
    16661660            msSetError(MS_WEBERR, "Query layer not set or references an invalid layer.", "mapserv()");
     
    16871681
    16881682          mapserv->map->query.mode = MS_QUERY_MULTIPLE;
    1689           if(mapserv->Mode == ITEMQUERY || mapserv->Mode == ITEMQUERYMAP) mapserv->map->query.mode = MS_QUERY_SINGLE;
     1683          if(mapserv->Mode == ITEMQUERY) mapserv->map->query.mode = MS_QUERY_SINGLE;
    16901684          break;
    16911685        case NQUERY:
    1692         case NQUERYMAP:
    16931686          mapserv->map->query.mode = MS_QUERY_MULTIPLE; /* all of these cases return multiple results */
    16941687          mapserv->map->query.layer = QueryLayerIndex;
     
    17881781          break;
    17891782        case QUERY:
    1790         case QUERYMAP:
    17911783          switch(QueryCoordSource) {
    17921784          case FROMIMGPNT:
     
    18131805          break;
    18141806        case INDEXQUERY:
    1815         case INDEXQUERYMAP:
    18161807          mapserv->map->query.type = MS_QUERY_BY_INDEX;
    18171808          mapserv->map->query.mode = MS_QUERY_SINGLE;
     
    18321823        setExtentFromShapes();
    18331824
    1834       /* just return the image, should be able to depricate these */
    1835       if(mapserv->Mode == QUERYMAP || mapserv->Mode == NQUERYMAP || mapserv->Mode == ITEMQUERYMAP || mapserv->Mode == ITEMNQUERYMAP || mapserv->Mode == FEATUREQUERYMAP || mapserv->Mode == FEATURENQUERYMAP || mapserv->Mode == ITEMFEATUREQUERYMAP || mapserv->Mode == ITEMFEATURENQUERYMAP || mapserv->Mode == INDEXQUERYMAP) {
    1836 
    1837         checkWebScale(mapserv);
    1838 
    1839         img = msDrawMap(mapserv->map, MS_TRUE);
    1840         if(!img) writeError();
    1841 
    1842         if(mapserv->sendheaders) {
    1843           const char *attachment = msGetOutputFormatOption(mapserv->map->outputformat, "ATTACHMENT", NULL );
    1844           if(attachment) msIO_printf("Content-disposition: attachment; filename=%s\n", attachment);
    1845           msIO_printf("Content-type: %s%c%c",MS_IMAGE_MIME_TYPE(mapserv->map->outputformat), 10,10);
    1846          }
    1847         status = msSaveImage(mapserv->map, img, NULL);
    1848         if(status != MS_SUCCESS) writeError();
    1849         msFreeImage(img);
    1850 
    1851       } else { /* process the query through templates */
    1852         if(msReturnTemplateQuery(mapserv, mapserv->map->web.queryformat, NULL) != MS_SUCCESS) writeError();
     1825      if(msReturnTemplateQuery(mapserv, mapserv->map->web.queryformat, NULL) != MS_SUCCESS) writeError();
    18531826         
    1854         if(mapserv->savequery) {
    1855           snprintf(buffer, sizeof(buffer), "%s%s%s%s", mapserv->map->web.imagepath, mapserv->map->name, mapserv->Id, MS_QUERY_EXTENSION);
    1856           if((status = msSaveQuery(mapserv->map, buffer, MS_FALSE)) != MS_SUCCESS) return status;
    1857         }
    1858       }
    1859 
     1827      if(mapserv->savequery) {
     1828        snprintf(buffer, sizeof(buffer), "%s%s%s%s", mapserv->map->web.imagepath, mapserv->map->name, mapserv->Id, MS_QUERY_EXTENSION);
     1829        if((status = msSaveQuery(mapserv->map, buffer, MS_FALSE)) != MS_SUCCESS) return status;
     1830      }
     1831     
    18601832    } else if(mapserv->Mode == COORDINATE) {
    18611833      setCoordinate(); /* mouse click => map coord */
  • trunk/mapserver/mapserv.h

    r9942 r11078  
    5858** Enumerated types, keep the query modes in sequence and at the end of the enumeration (mode enumeration is in maptemplate.h).
    5959*/
    60 int numModes = 30;
    61 static char *modeStrings[30] = {"BROWSE","ZOOMIN","ZOOMOUT","MAP","LEGEND","LEGENDICON","REFERENCE","SCALEBAR","COORDINATE",
    62                                 "QUERY","QUERYMAP","NQUERY","NQUERYMAP",
    63                                 "ITEMQUERY","ITEMQUERYMAP","ITEMNQUERY","ITEMNQUERYMAP",
    64                                 "FEATUREQUERY","FEATUREQUERYMAP","FEATURENQUERY","FEATURENQUERYMAP",
    65                                 "ITEMFEATUREQUERY","ITEMFEATUREQUERYMAP","ITEMFEATURENQUERY","ITEMFEATURENQUERYMAP",
    66                                 "INDEXQUERY","INDEXQUERYMAP","TILE","OWS", "WFS"};
     60int numModes = 21;
     61static char *modeStrings[21] = {"BROWSE","ZOOMIN","ZOOMOUT","MAP","LEGEND","LEGENDICON","REFERENCE","SCALEBAR","COORDINATE",
     62                                "QUERY","NQUERY","ITEMQUERY","ITEMNQUERY",
     63                                "FEATUREQUERY","FEATURENQUERY","ITEMFEATUREQUERY","ITEMFEATURENQUERY",
     64                                "INDEXQUERY","TILE","OWS", "WFS"};
    6765
    6866/*
  • trunk/mapserver/maptemplate.h

    r10902 r11078  
    4444
    4545enum modes {BROWSE, ZOOMIN, ZOOMOUT, MAP, LEGEND, LEGENDICON, REFERENCE, SCALEBAR, COORDINATE,
    46             QUERY, QUERYMAP, NQUERY, NQUERYMAP,
    47             ITEMQUERY, ITEMQUERYMAP, ITEMNQUERY, ITEMNQUERYMAP,
    48             FEATUREQUERY, FEATUREQUERYMAP, FEATURENQUERY, FEATURENQUERYMAP,
    49             ITEMFEATUREQUERY, ITEMFEATUREQUERYMAP, ITEMFEATURENQUERY, ITEMFEATURENQUERYMAP,
    50             INDEXQUERY, INDEXQUERYMAP, TILE, OWS, WFS};
     46            QUERY, NQUERY, ITEMQUERY, ITEMNQUERY,
     47            FEATUREQUERY, FEATURENQUERY, ITEMFEATUREQUERY, ITEMFEATURENQUERY,
     48            INDEXQUERY, TILE, OWS, WFS};
    5149
    5250
Note: See TracChangeset for help on using the changeset viewer.