| 4860 | } |
| 4861 | |
| 4862 | int loadWeb(webObj *web, mapObj *map) |
| 4863 | { |
| 4864 | web->map = (mapObj *)map; |
| 4865 | |
| 4866 | for(;;) { |
| 4867 | switch(msyylex()) { |
| 4868 | case(BROWSEFORMAT): /* change to use validation in 6.0 */ |
| 4869 | free(web->browseformat); web->browseformat = NULL; /* there is a default */ |
| 4870 | if(getString(&web->browseformat) == MS_FAILURE) return(-1); |
| 4871 | break; |
| 4872 | case(EMPTY): |
| 4873 | if(getString(&web->empty) == MS_FAILURE) return(-1); |
| 4874 | break; |
| 4875 | case(WEB): |
| 4876 | break; /* for string loads */ |
| 4877 | case(EOF): |
| 4878 | msSetError(MS_EOFERR, NULL, "loadWeb()"); |
| 4879 | return(-1); |
| 4880 | case(END): |
| 4881 | return(0); |
| 4882 | break; |
| 4883 | case(ERROR): |
| 4884 | if(getString(&web->error) == MS_FAILURE) return(-1); |
| 4885 | break; |
| 4886 | case(EXTENT): |
| 4887 | if(getDouble(&(web->extent.minx)) == -1) return(-1); |
| 4888 | if(getDouble(&(web->extent.miny)) == -1) return(-1); |
| 4889 | if(getDouble(&(web->extent.maxx)) == -1) return(-1); |
| 4890 | if(getDouble(&(web->extent.maxy)) == -1) return(-1); |
| 4891 | if (!MS_VALID_EXTENT(web->extent)) { |
| 4892 | msSetError(MS_MISCERR, "Given web extent is invalid. Check that it is in the form: minx, miny, maxx, maxy", "loadWeb()"); |
| 4893 | return(-1); |
| 4894 | } |
| 4895 | break; |
| 4896 | case(FOOTER): |
| 4897 | if(getString(&web->footer) == MS_FAILURE) return(-1); /* getString() cleans up previously allocated string */ |
| 4898 | if(msyysource == MS_URL_TOKENS) { |
| 4899 | if(msValidateParameter(web->footer, msLookupHashTable(&(web->validation), "footer"), map->templatepattern, NULL, NULL) != MS_SUCCESS) { |
| 4900 | msSetError(MS_MISCERR, "URL-based FOOTER configuration failed pattern validation." , "loadWeb()"); |
| 4901 | msFree(web->footer); web->footer=NULL; |
| 4902 | return(-1); |
| 4903 | } |
| 4904 | } |
| 4905 | break; |
| 4906 | case(HEADER): |
| 4907 | if(getString(&web->header) == MS_FAILURE) return(-1); /* getString() cleans up previously allocated string */ |
| 4908 | if(msyysource == MS_URL_TOKENS) { |
| 4909 | if(msValidateParameter(web->header, msLookupHashTable(&(web->validation), "header"), map->templatepattern, NULL, NULL) != MS_SUCCESS) { |
| 4910 | msSetError(MS_MISCERR, "URL-based HEADER configuration failed pattern validation." , "loadWeb()"); |
| 4911 | msFree(web->header); web->header=NULL; |
| 4912 | return(-1); |
| 4913 | } |
| 4914 | } |
| 4915 | break; |
| 4916 | case(IMAGEPATH): |
| 4917 | if(getString(&web->imagepath) == MS_FAILURE) return(-1); |
| 4918 | break; |
| 4919 | case(TEMPPATH): |
no test coverage detected