Changeset 11078
- Timestamp:
- Mar 4, 2011, 9:20:03 PM (13 years ago)
- Location:
- trunk/mapserver
- Files:
-
- 4 edited
-
HISTORY.TXT (modified) (1 diff)
-
mapserv.c (modified) (10 diffs)
-
mapserv.h (modified) (1 diff)
-
maptemplate.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/mapserver/HISTORY.TXT
r11068 r11078 14 14 Current Version (SVN trunk): 15 15 ---------------------------- 16 17 - Remove map-oriented query modes (e.g. QUERYMAP). Use qformat parameter instead. (#3712) 16 18 17 19 - Implement single-pass query handling in mssql2008 driver as per RFC 65. -
trunk/mapserver/mapserv.c
r10924 r11078 1567 1567 case ITEMFEATUREQUERY: 1568 1568 case ITEMFEATURENQUERY: 1569 case ITEMFEATUREQUERYMAP:1570 case ITEMFEATURENQUERYMAP:1571 1569 if((SelectLayerIndex = msGetLayerIndex(mapserv->map, SelectLayer)) == -1) { /* force the selection layer on */ 1572 1570 msSetError(MS_WEBERR, "Selection layer not set or references an invalid layer.", "mapserv()"); … … 1593 1591 1594 1592 mapserv->map->query.mode = MS_QUERY_MULTIPLE; 1595 if(mapserv->Mode == ITEMFEATUREQUERY || mapserv->Mode == ITEMFEATUREQUERYMAP)1593 if(mapserv->Mode == ITEMFEATUREQUERY) 1596 1594 mapserv->map->query.mode = MS_QUERY_SINGLE; 1597 1595 … … 1601 1599 case FEATUREQUERY: 1602 1600 case FEATURENQUERY: 1603 case FEATUREQUERYMAP:1604 case FEATURENQUERYMAP:1605 1601 if((SelectLayerIndex = msGetLayerIndex(mapserv->map, SelectLayer)) == -1) { /* force the selection layer on */ 1606 1602 msSetError(MS_WEBERR, "Selection layer not set or references an invalid layer.", "mapserv()"); … … 1609 1605 GET_LAYER(mapserv->map, SelectLayerIndex)->status = MS_ON; 1610 1606 1611 if(mapserv->Mode == FEATUREQUERY || mapserv->Mode == FEATUREQUERYMAP) {1607 if(mapserv->Mode == FEATUREQUERY) { 1612 1608 switch(QueryCoordSource) { 1613 1609 case FROMIMGPNT: … … 1631 1627 mapserv->map->query.layer = QueryLayerIndex; 1632 1628 mapserv->map->query.slayer = SelectLayerIndex; /* this will trigger the feature query eventually */ 1633 } else { /* FEATURENQUERY /FEATURENQUERYMAP*/1629 } else { /* FEATURENQUERY */ 1634 1630 switch(QueryCoordSource) { 1635 1631 case FROMIMGPNT: … … 1661 1657 case ITEMQUERY: 1662 1658 case ITEMNQUERY: 1663 case ITEMQUERYMAP:1664 case ITEMNQUERYMAP:1665 1659 if(QueryLayerIndex < 0 || QueryLayerIndex >= mapserv->map->numlayers) { 1666 1660 msSetError(MS_WEBERR, "Query layer not set or references an invalid layer.", "mapserv()"); … … 1687 1681 1688 1682 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; 1690 1684 break; 1691 1685 case NQUERY: 1692 case NQUERYMAP:1693 1686 mapserv->map->query.mode = MS_QUERY_MULTIPLE; /* all of these cases return multiple results */ 1694 1687 mapserv->map->query.layer = QueryLayerIndex; … … 1788 1781 break; 1789 1782 case QUERY: 1790 case QUERYMAP:1791 1783 switch(QueryCoordSource) { 1792 1784 case FROMIMGPNT: … … 1813 1805 break; 1814 1806 case INDEXQUERY: 1815 case INDEXQUERYMAP:1816 1807 mapserv->map->query.type = MS_QUERY_BY_INDEX; 1817 1808 mapserv->map->query.mode = MS_QUERY_SINGLE; … … 1832 1823 setExtentFromShapes(); 1833 1824 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(); 1853 1826 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 1860 1832 } else if(mapserv->Mode == COORDINATE) { 1861 1833 setCoordinate(); /* mouse click => map coord */ -
trunk/mapserver/mapserv.h
r9942 r11078 58 58 ** Enumerated types, keep the query modes in sequence and at the end of the enumeration (mode enumeration is in maptemplate.h). 59 59 */ 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"}; 60 int numModes = 21; 61 static 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"}; 67 65 68 66 /* -
trunk/mapserver/maptemplate.h
r10902 r11078 44 44 45 45 enum 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}; 51 49 52 50
Note:
See TracChangeset
for help on using the changeset viewer.
