Changeset 7572

Show
Ignore:
Timestamp:
05/08/08 10:14:39 (2 months ago)
Author:
sdlime
Message:

Slowly towards RFC 36...

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/mapserver/maptemplate.c

    r7569 r7572  
    192192  } 
    193193 
    194   /* does the format reference an outputFormatObj */ 
    195194  if((outputFormat = msSelectOutputFormat( mapserv->Map, queryFormat)) != NULL) { 
    196195 
    197     printf("got an output format!\n"); 
    198  
    199   } else { 
    200     if(mapserv->Map->querymap.status) { 
    201       checkWebScale(mapserv); 
    202  
    203       img = msDrawMap(mapserv->Map, MS_TRUE); 
     196    if( !MS_RENDERER_TEMPLATE(outputFormat) ) { /* got an image format, return the query results that way */ 
     197 
     198    } 
     199  } 
     200 
     201  /*  
     202  ** At this point we know we have a template of some sort, either the new style that references a or the old 
     203  ** style made up of external files slammed together. Either way we may have to compute a query map. 
     204  */  
     205  if(mapserv->Map->querymap.status) { 
     206    checkWebScale(mapserv); 
     207 
     208    img = msDrawMap(mapserv->Map, MS_TRUE); 
     209    if(!img) return MS_FAILURE; 
     210    snprintf(buffer, 1024, "%s%s%s.%s", mapserv->Map->web.imagepath, mapserv->Map->name, mapserv->Id, MS_IMAGE_EXTENSION(mapserv->Map->outputformat)); 
     211    status = msSaveImage(mapserv->Map, img, buffer); 
     212    if(status != MS_SUCCESS) return status; 
     213    msFreeImage(img); 
     214 
     215    if((mapserv->Map->legend.status == MS_ON || mapserv->UseShapes) && mapserv->Map->legend.template == NULL) { 
     216      img = msDrawLegend(mapserv->Map, MS_FALSE); 
    204217      if(!img) return MS_FAILURE; 
    205  
    206       snprintf(buffer, 1024, "%s%s%s.%s", mapserv->Map->web.imagepath, mapserv->Map->name, mapserv->Id, MS_IMAGE_EXTENSION(mapserv->Map->outputformat)); 
    207  
     218      snprintf(buffer, 1024, "%s%sleg%s.%s", mapserv->Map->web.imagepath, mapserv->Map->name, mapserv->Id, MS_IMAGE_EXTENSION(mapserv->Map->outputformat)); 
    208219      status = msSaveImage(mapserv->Map, img, buffer); 
    209220      if(status != MS_SUCCESS) return status; 
    210  
    211221      msFreeImage(img); 
    212  
    213       if((mapserv->Map->legend.status == MS_ON || mapserv->UseShapes) && mapserv->Map->legend.template == NULL) { 
    214         img = msDrawLegend(mapserv->Map, MS_FALSE); 
    215         if(!img) return MS_FAILURE; 
    216         snprintf(buffer, 1024, "%s%sleg%s.%s", mapserv->Map->web.imagepath, mapserv->Map->name, mapserv->Id, MS_IMAGE_EXTENSION(mapserv->Map->outputformat)); 
    217         status = msSaveImage(mapserv->Map, img, buffer); 
    218         if(status != MS_SUCCESS) return status; 
    219         msFreeImage(img); 
    220       } 
     222    } 
    221223   
    222       if(mapserv->Map->scalebar.status == MS_ON) { 
    223         img = msDrawScalebar(mapserv->Map); 
    224         if(!img) return MS_FAILURE; 
    225         snprintf(buffer, 1024, "%s%ssb%s.%s", mapserv->Map->web.imagepath, mapserv->Map->name, mapserv->Id, MS_IMAGE_EXTENSION(mapserv->Map->outputformat)); 
    226         status = msSaveImage( mapserv->Map, img, buffer); 
    227         if(status != MS_SUCCESS) return status; 
    228         msFreeImage(img); 
    229      
     224    if(mapserv->Map->scalebar.status == MS_ON) { 
     225      img = msDrawScalebar(mapserv->Map); 
     226      if(!img) return MS_FAILURE; 
     227      snprintf(buffer, 1024, "%s%ssb%s.%s", mapserv->Map->web.imagepath, mapserv->Map->name, mapserv->Id, MS_IMAGE_EXTENSION(mapserv->Map->outputformat)); 
     228      status = msSaveImage( mapserv->Map, img, buffer); 
     229      if(status != MS_SUCCESS) return status; 
     230      msFreeImage(img); 
     231   
    230232   
    231       if(mapserv->Map->reference.status == MS_ON) { 
    232         img = msDrawReferenceMap(mapserv->Map); 
    233         if(!img) return MS_FAILURE; 
    234         snprintf(buffer, 1024, "%s%sref%s.%s", mapserv->Map->web.imagepath, mapserv->Map->name, mapserv->Id, MS_IMAGE_EXTENSION(mapserv->Map->outputformat)); 
    235         status = msSaveImage(mapserv->Map, img, buffer); 
    236         if(status != MS_SUCCESS) return status; 
    237         msFreeImage(img); 
    238       } 
    239     } 
    240     
     233    if(mapserv->Map->reference.status == MS_ON) { 
     234      img = msDrawReferenceMap(mapserv->Map); 
     235      if(!img) return MS_FAILURE; 
     236      snprintf(buffer, 1024, "%s%sref%s.%s", mapserv->Map->web.imagepath, mapserv->Map->name, mapserv->Id, MS_IMAGE_EXTENSION(mapserv->Map->outputformat)); 
     237      status = msSaveImage(mapserv->Map, img, buffer); 
     238      if(status != MS_SUCCESS) return status; 
     239      msFreeImage(img); 
     240    } 
     241  } 
     242    
     243  if(outputFormat) { 
     244    printf("got an output format!\n"); 
     245  } else { 
    241246    if((status = msReturnQuery(mapserv, queryFormat, papszBuffer)) != MS_SUCCESS) 
    242247      return status; 
     
    796801 
    797802/* 
    798 ** Function to process a [features ...] tag. This tag can *only* be found within 
     803** Function to process a [feature ...] tag. This tag can *only* be found within 
    799804** a [resultset ...][/resultset] block. 
    800805*/ 
    801 static int processFeaturesTag(mapservObj *mapserv, char **line, layerObj *layer)  
     806static int processFeatureTag(mapservObj *mapserv, char **line, layerObj *layer)  
    802807{ 
    803808  char *preTag, *postTag; /* text before and after the tag */ 
     
    809814 
    810815  if(!*line) { 
    811     msSetError(MS_WEBERR, "Invalid line pointer.", "processFeaturesTag()"); 
     816    msSetError(MS_WEBERR, "Invalid line pointer.", "processFeatureTag()"); 
    812817    return(MS_FAILURE); 
    813818  } 
    814819 
    815   tagStart = findTag(*line, "features"); 
     820  tagStart = findTag(*line, "feature"); 
    816821  if(!tagStart) return(MS_SUCCESS); /* OK, just return; */ 
    817822 
    818823  /* check for any tag arguments */ 
    819   if(getTagArgs("features", tagStart, &tagArgs) != MS_SUCCESS) return(MS_FAILURE); 
     824  if(getTagArgs("feature", tagStart, &tagArgs) != MS_SUCCESS) return(MS_FAILURE); 
    820825  if(tagArgs) { 
    821826    /* todo */ 
    822827  } 
    823828 
    824   if(strstr(*line, "[/features]") == NULL) { /* we know the closing tag must be here, if not throw an error */ 
    825     msSetError(MS_WEBERR, "[features] tag found without closing [/features].", "processFeaturesTag()"); 
     829  if(strstr(*line, "[/feature]") == NULL) { /* we know the closing tag must be here, if not throw an error */ 
     830    msSetError(MS_WEBERR, "[feature] tag found without closing [/feature].", "processFeatureTag()"); 
    826831    return(MS_FAILURE); 
    827832  } 
    828833 
    829   if(getInlineTag("features", *line, &tag) != MS_SUCCESS) { 
    830     msSetError(MS_WEBERR, "Malformed features tag.", "processFeaturesTag()"); 
     834  if(getInlineTag("feature", *line, &tag) != MS_SUCCESS) { 
     835    msSetError(MS_WEBERR, "Malformed feature tag.", "processFeatureTag()"); 
    831836    return MS_FAILURE; 
    832837  } 
    833838 
    834   preTag = getPreTagText(*line, "[features"); 
    835   postTag = getPostTagText(*line, "[/featres]"); 
     839  preTag = getPreTagText(*line, "[feature"); 
     840  postTag = getPostTagText(*line, "[/feature]"); 
    836841 
    837842  /* start rebuilding **line */