Commit 7e7021ac3c86165e88fe0da6a172cbe1f4150346

Authored by Edmar Moretti
1 parent 77785f14

Otimização da geração do serviço OGC por meio do uso de cache

Showing 1 changed file with 244 additions and 227 deletions   Show diff stats
ogc.php
... ... @@ -4,7 +4,7 @@
4 4  
5 5 Gera web services nos padrões OGC para os temas existentes na pasta i3geo/temas
6 6  
7   -A lista de projeções mostradas na função getcapabilities é definida na variável $listaepsg. Edite essa variável diretamente no programa
  7 +A lista de projeções mostradas na função getcapabilities é definida na variável $listaepsg. Edite essa variável diretamente no programa
8 8 se forem necessárias outras projeções além das existentes
9 9  
10 10 Licença:
... ... @@ -65,8 +65,7 @@ $cache = true;
65 65 require_once(__DIR__."/classesphp/carrega_ext.php");
66 66 include(__DIR__."/ms_configura.php");
67 67 include(__DIR__."/classesphp/pega_variaveis.php");
68   -if(!isset($temas) && isset($tema))
69   -{
  68 +if(!isset($temas) && isset($tema)){
70 69 $temas = $tema;
71 70 }
72 71 //
... ... @@ -173,37 +172,7 @@ for($i=0;$i<$n;$i++){
173 172 }
174 173 exit;
175 174 */
176   -$oMap = ms_newMapobj($locaplic."/aplicmap/ogcwsv".$versao.".map");
177   -//
178   -//altera os caminhos das imagens
179   -//
180   -if((isset($legenda)) && (strtolower($legenda) == "sim")){
181   - $leg = $oMap->legend;
182   - $leg->set("status",MS_EMBED);
183   - $cache = false;
184   -}
185   -$proto = "http" . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "s" : "") . "://";
186   -$server = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME'];
187   -$or = $proto.$server.$_SERVER['PHP_SELF'];
188   -if((isset($tema)) && ($tema != "") && ($tipo=="metadados")){
189   - $or = $or."?tema=".$tema."&";
190   -}
191   -//
192   -//parametros no nível maior
193   -//
194   -$oMap->setmetadata("ows_onlineresource",$or);
195   -$oMap->setmetadata("wms_onlineresource",$or);
196   -$oMap->setmetadata("wms_title",$tituloInstituicao." - i3geo");
197   -$oMap->setmetadata("wfs_title",$tituloInstituicao." - i3geo");
198   -$oMap->setmetadata("wms_attribution_logourl_format","image/png");
199   -$oMap->setmetadata("wms_attribution_logourl_height","56");
200   -$oMap->setmetadata("wms_attribution_logourl_width","85");
201   -$oMap->setmetadata("wms_attribution_logourl_href",$proto.$server.dirname($_SERVER['PHP_SELF'])."/imagens/i3geo.png");
202   -$oMap->setmetadata("wms_attribution_onlineresource",$proto.$server.dirname($_SERVER['PHP_SELF']));
203   -$oMap->setmetadata("wms_attribution_title",$tituloInstituicao);
204   -$oMap->setmetadata("ows_enable_request","*");
205   -$e = $oMap->extent;
206   -$extensaoMap = ($e->minx)." ".($e->miny)." ".($e->maxx)." ".($e->maxy);
  175 +
207 176 if (!isset($intervalo)){
208 177 $intervalo = "0,5000";
209 178 }
... ... @@ -211,68 +180,172 @@ else{
211 180 $tipo = "intervalo";
212 181 }
213 182 if(!isset($tema)){
214   - if(!isset($intervalo))
215   - {
216   - $intervalo = "0,5000";
  183 + if(!isset($intervalo)){
  184 + $intervalo = "0,5000";
217 185 }
218 186 $tipo = "intervalo";
219   -}
220   -if ($tipo == "" || $tipo == "metadados"){
221   - $tema = explode(" ",$tema);
222   - //para o caso do tema ser um arquivo mapfile existente em uma pasta qualquer
223   - //$temai3geo = true indica que o layer será buscado na pasta i3geo/temas
224   - $temai3geo = true;
225   - //FIXME não aceita gvp quando o caminho é completo
226   - if(file_exists($_GET["tema"])){
227   - $nmap = ms_newMapobj($_GET["tema"]);
228   - $temai3geo = false;
229   - $nmap->setmetadata("ows_enable_request","*");
  187 +}
  188 +
  189 +//nome do mapfile que ficara em cache
  190 +$nomeMapfileTmp = $dir_tmp."/ogc_".$tema.".map";
  191 +$nomeMapfileTmp = str_replace(",","",$nomeMapfileTmp);
  192 +$nomeMapfileTmp = str_replace(" ","",$nomeMapfileTmp);
  193 +if(file_exists($nomeMapfileTmp) && $tipo == ""){
  194 + $oMap = ms_newMapobj($nomeMapfileTmp);
  195 +}
  196 +else{
  197 + $oMap = ms_newMapobj($locaplic."/aplicmap/ogcwsv".$versao.".map");
  198 + $proto = "http" . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "s" : "") . "://";
  199 + $server = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME'];
  200 + $or = $proto.$server.$_SERVER['PHP_SELF'];
  201 + if((isset($tema)) && ($tema != "") && ($tipo=="metadados")){
  202 + $or = $or."?tema=".$tema."&";
230 203 }
231   - foreach ($tema as $tx){
232   - $extensao = ".map";
233   - if(file_exists($locaplic."/temas/".$tx.".php") && $temai3geo == true){
234   - $extensao = ".php";
235   - }
236   - if(file_exists($locaplic."/temas/".$tx.".gvp") && $temai3geo == true){
237   - $extensao = ".gvp";
  204 + //
  205 + //parametros no nível maior
  206 + //
  207 + $oMap->setmetadata("ows_onlineresource",$or);
  208 + $oMap->setmetadata("wms_onlineresource",$or);
  209 + $oMap->setmetadata("wms_title",$tituloInstituicao." - i3geo");
  210 + $oMap->setmetadata("wfs_title",$tituloInstituicao." - i3geo");
  211 + $oMap->setmetadata("wms_attribution_logourl_format","image/png");
  212 + $oMap->setmetadata("wms_attribution_logourl_height","56");
  213 + $oMap->setmetadata("wms_attribution_logourl_width","85");
  214 + $oMap->setmetadata("wms_attribution_logourl_href",$proto.$server.dirname($_SERVER['PHP_SELF'])."/imagens/i3geo.png");
  215 + $oMap->setmetadata("wms_attribution_onlineresource",$proto.$server.dirname($_SERVER['PHP_SELF']));
  216 + $oMap->setmetadata("wms_attribution_title",$tituloInstituicao);
  217 + $oMap->setmetadata("ows_enable_request","*");
  218 + $e = $oMap->extent;
  219 + $extensaoMap = ($e->minx)." ".($e->miny)." ".($e->maxx)." ".($e->maxy);
  220 +
  221 + //gera o mapa
  222 + if ($tipo == "" || $tipo == "metadados"){
  223 + $tema = explode(" ",$tema);
  224 + //para o caso do tema ser um arquivo mapfile existente em uma pasta qualquer
  225 + //$temai3geo = true indica que o layer será buscado na pasta i3geo/temas
  226 + $temai3geo = true;
  227 + //FIXME não aceita gvp quando o caminho é completo
  228 + if(file_exists($_GET["tema"])){
  229 + $nmap = ms_newMapobj($_GET["tema"]);
  230 + $temai3geo = false;
  231 + $nmap->setmetadata("ows_enable_request","*");
238 232 }
239   - if($extensao == ".map"){
240   - if($temai3geo == true){
241   - $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map");
242   - $nmap->setmetadata("ows_enable_request","*");
  233 + foreach ($tema as $tx){
  234 + $extensao = ".map";
  235 + if(file_exists($locaplic."/temas/".$tx.".php") && $temai3geo == true){
  236 + $extensao = ".php";
243 237 }
244   - if($temai3geo == false || empty($layers))
245   - {
246   - $ts = $nmap->getalllayernames();
  238 + if(file_exists($locaplic."/temas/".$tx.".gvp") && $temai3geo == true){
  239 + $extensao = ".gvp";
247 240 }
248   - else{
249   - $ts = explode(",",str_replace(" ",",",$layers));
250   - }
251   - foreach ($ts as $t){
252   - $l = $nmap->getlayerbyname($t);
253   - $permite = $l->getmetadata("permiteogc");
254   - if(strtolower($permite) != "nao"){
255   - //necessário pq o mapfile pode ter todos os layers como default
256   - if($temai3geo == false){
257   - $l->set("status",MS_OFF);
258   - }
259   - if($cache == true && strtolower($l->getmetadata('cache')) == 'sim' && $tipo == '' && count($tema) == 1){
260   - carregaCacheImagem($_GET['BBOX'],$tx,$_GET['WIDTH'],$_GET['HEIGHT'],$cachedir);
261   - }
262   - $l->setmetadata("ows_title",pegaNome($l));
263   - $l->setmetadata("ows_srs",$listaepsg);
264   - $l->set("group","");
265   - //essa linha é necessária pq as vezes no mapfile não tem nenhum layer com o nome igual ao nome do mapfile
266   - if(count($ts)==1 && $temai3geo == true){
267   - $l->set("name",$tx);
  241 + if($extensao == ".map"){
  242 + if($temai3geo == true){
  243 + $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map");
  244 + $nmap->setmetadata("ows_enable_request","*");
  245 + }
  246 + if($temai3geo == false || empty($layers))
  247 + {
  248 + $ts = $nmap->getalllayernames();
  249 + }
  250 + else{
  251 + $ts = explode(",",str_replace(" ",",",$layers));
  252 + }
  253 + foreach ($ts as $t){
  254 + $l = $nmap->getlayerbyname($t);
  255 + $permite = $l->getmetadata("permiteogc");
  256 + if(strtolower($permite) != "nao"){
  257 + //necessário pq o mapfile pode ter todos os layers como default
  258 + if($temai3geo == false){
  259 + $l->set("status",MS_OFF);
  260 + }
  261 + /*
  262 + if($cache == true && strtolower($l->getmetadata('cache')) == 'sim' && $tipo == '' && count($tema) == 1){
  263 + carregaCacheImagem($_GET['BBOX'],$tx,$_GET['WIDTH'],$_GET['HEIGHT'],$cachedir);
  264 + }
  265 + */
  266 + $l->setmetadata("ows_title",pegaNome($l));
  267 + $l->setmetadata("ows_srs",$listaepsg);
  268 + $l->set("group","");
  269 + //essa linha é necessária pq as vezes no mapfile não tem nenhum layer com o nome igual ao nome do mapfile
  270 + if(count($ts)==1 && $temai3geo == true){
  271 + $l->set("name",$tx);
  272 + }
  273 + $l->setmetadata("gml_include_items","all");
  274 + $l->set("template","none.htm");
  275 + $l->set("dump",MS_TRUE);
  276 + $l->setmetadata("WMS_INCLUDE_ITEMS","all");
  277 + $l->setmetadata("WFS_INCLUDE_ITEMS","all");
  278 + if(file_exists($locaplic."/temas/miniaturas/".$t.".map.mini.png")){
  279 + $mini = $proto.$server.dirname($_SERVER['PHP_SELF'])."/temas/miniaturas/".$t.".map.mini.png";
  280 + $l->setmetadata("wms_attribution_logourl_format","image/png");
  281 + $l->setmetadata("wms_attribution_logourl_height","50");
  282 + $l->setmetadata("wms_attribution_logourl_width","50");
  283 + $l->setmetadata("wms_attribution_logourl_href",$mini);
  284 + }
  285 + if($l->type == MS_LAYER_RASTER && $l->numclasses > 0){
  286 + $c = $l->getclass(0);
  287 + if($c->name == "")
  288 + {
  289 + $c->name = " ";
  290 + }
  291 + }
  292 + //inclui extensao geografica
  293 + $extensao = $l->getmetadata("EXTENSAO");
  294 + if($extensao == ""){
  295 + $extensao = $extensaoMap;
  296 + }
  297 + $l->setmetadata("wms_extent",$extensao);
  298 + if (!empty($postgis_mapa)){
  299 + if ($l->connectiontype == MS_POSTGIS){
  300 + $lcon = $l->connection;
  301 + if (($lcon == " ") || ($lcon == "") || (in_array($lcon,array_keys($postgis_mapa)))){
  302 + //
  303 + //o metadata CONEXAOORIGINAL guarda o valor original para posterior substituição
  304 + //
  305 + if(($lcon == " ") || ($lcon == "")){
  306 + $l->set("connection",$postgis_mapa);
  307 + $l->setmetadata("CONEXAOORIGINAL",$lcon);
  308 + }
  309 + else{
  310 + $l->set("connection",$postgis_mapa[$lcon]);
  311 + $l->setmetadata("CONEXAOORIGINAL",$lcon);
  312 + }
  313 + }
  314 + }
  315 + }
  316 + autoClasses($l,$oMap);
  317 + ms_newLayerObj($oMap, $l);
  318 + //$req->setParameter("LAYERS", "mundo");
268 319 }
  320 + }
  321 + }
  322 + if($extensao == ".php"){
  323 + include_once($locaplic."/temas/".$tx.".php");
  324 + eval($tx."(\$oMap);");
  325 + }
  326 + if($extensao == ".gvp"){
  327 + include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");
  328 + $gm = new gvsig2mapfile($locaplic."/temas/".$tx.".gvp");
  329 + $gvsigview = $gm->getViewsNames();
  330 + foreach($gvsigview as $gv){
  331 + $dataView = $gm->getViewData($gv);
  332 + $oMap = $gm->addLayers($oMap,$gv,$dataView["layerNames"]);
  333 + }
  334 + $numlayers = $oMap->numlayers;
  335 + $layers = array();
  336 + //$layers[] = "default";
  337 + for ($i=0;$i < $numlayers;$i++){
  338 + $l = $oMap->getlayer($i);
269 339 $l->setmetadata("gml_include_items","all");
270   - $l->set("template","none.htm");
271 340 $l->set("dump",MS_TRUE);
272 341 $l->setmetadata("WMS_INCLUDE_ITEMS","all");
273 342 $l->setmetadata("WFS_INCLUDE_ITEMS","all");
274   - if(file_exists($locaplic."/temas/miniaturas/".$t.".map.mini.png")){
275   - $mini = $proto.$server.dirname($_SERVER['PHP_SELF'])."/temas/miniaturas/".$t.".map.mini.png";
  343 + $l->setmetadata("ows_srs",$listaepsg);
  344 + $l->setmetadata("ows_title",$l->getmetadata("TEMA"));
  345 + $l->set("status",MS_OFF);
  346 + $layers[] = $l->name;
  347 + if(file_exists($locaplic."/temas/miniaturas/".$tx.".map.mini.png")){
  348 + $mini = $proto.$server.dirname($_SERVER['PHP_SELF'])."/temas/miniaturas/".$tx.".map.mini.png";
276 349 $l->setmetadata("wms_attribution_logourl_format","image/png");
277 350 $l->setmetadata("wms_attribution_logourl_height","50");
278 351 $l->setmetadata("wms_attribution_logourl_width","50");
... ... @@ -291,176 +364,120 @@ if ($tipo == &quot;&quot; || $tipo == &quot;metadados&quot;){
291 364 $extensao = $extensaoMap;
292 365 }
293 366 $l->setmetadata("wms_extent",$extensao);
294   - if (!empty($postgis_mapa)){
295   - if ($l->connectiontype == MS_POSTGIS){
296   - $lcon = $l->connection;
297   - if (($lcon == " ") || ($lcon == "") || (in_array($lcon,array_keys($postgis_mapa)))){
298   - //
299   - //o metadata CONEXAOORIGINAL guarda o valor original para posterior substitui&ccedil;&atilde;o
300   - //
301   - if(($lcon == " ") || ($lcon == "")){
302   - $l->set("connection",$postgis_mapa);
303   - $l->setmetadata("CONEXAOORIGINAL",$lcon);
304   - }
305   - else{
306   - $l->set("connection",$postgis_mapa[$lcon]);
307   - $l->setmetadata("CONEXAOORIGINAL",$lcon);
308   - }
309   - }
310   - }
311   - }
312   - autoClasses($l,$oMap);
313   - ms_newLayerObj($oMap, $l);
314   - //$req->setParameter("LAYERS", "mundo");
315 367 }
  368 + $req->setParameter("LAYERS", implode(",",$layers));
  369 + $req->setParameter("STYLES", "");
  370 + //r_dump($req);exit;
316 371 }
317 372 }
318   - if($extensao == ".php"){
319   - include_once($locaplic."/temas/".$tx.".php");
320   - eval($tx."(\$oMap);");
321   - }
322   - if($extensao == ".gvp"){
323   - include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");
324   - $gm = new gvsig2mapfile($locaplic."/temas/".$tx.".gvp");
325   - $gvsigview = $gm->getViewsNames();
326   - foreach($gvsigview as $gv){
327   - $dataView = $gm->getViewData($gv);
328   - $oMap = $gm->addLayers($oMap,$gv,$dataView["layerNames"]);
329   - }
330   - $numlayers = $oMap->numlayers;
331   - $layers = array();
332   - //$layers[] = "default";
333   - for ($i=0;$i < $numlayers;$i++){
334   - $l = $oMap->getlayer($i);
335   - $l->setmetadata("gml_include_items","all");
336   - $l->set("dump",MS_TRUE);
337   - $l->setmetadata("WMS_INCLUDE_ITEMS","all");
338   - $l->setmetadata("WFS_INCLUDE_ITEMS","all");
339   - $l->setmetadata("ows_srs",$listaepsg);
340   - $l->setmetadata("ows_title",$l->getmetadata("TEMA"));
341   - $l->set("status",MS_OFF);
342   - $layers[] = $l->name;
343   - if(file_exists($locaplic."/temas/miniaturas/".$tx.".map.mini.png")){
344   - $mini = $proto.$server.dirname($_SERVER['PHP_SELF'])."/temas/miniaturas/".$tx.".map.mini.png";
345   - $l->setmetadata("wms_attribution_logourl_format","image/png");
346   - $l->setmetadata("wms_attribution_logourl_height","50");
347   - $l->setmetadata("wms_attribution_logourl_width","50");
348   - $l->setmetadata("wms_attribution_logourl_href",$mini);
349   - }
350   - if($l->type == MS_LAYER_RASTER && $l->numclasses > 0){
351   - $c = $l->getclass(0);
352   - if($c->name == "")
353   - {
354   - $c->name = " ";
355   - }
356   - }
357   - //inclui extensao geografica
358   - $extensao = $l->getmetadata("EXTENSAO");
359   - if($extensao == ""){
360   - $extensao = $extensaoMap;
361   - }
362   - $l->setmetadata("wms_extent",$extensao);
363   - }
364   - $req->setParameter("LAYERS", implode(",",$layers));
365   - $req->setParameter("STYLES", "");
366   - //r_dump($req);exit;
367   - }
368 373 }
369   -}
370   -else{
371   - $conta = 0;
372   - $int = explode(",",$intervalo);
373   - $codigosTema = array();
374   - if(empty($perfil)){
375   - $perfil = "";
376   - }
377   - include("classesphp/classe_menutemas.php");
378   - $m = new Menutemas("",$perfil,$locaplic,$urli3geo);
379   - $menus = $m->pegaListaDeMenus();
380   - foreach ($menus as $menu){
381   - $grupos = $m->pegaListaDeGrupos($menu["idmenu"],$listasistemas="nao",$listasgrupos="sim");
382   - foreach($grupos as $grupo){
383   - if(strtolower($grupo["ogc"]) == "sim"){
384   - foreach($grupo["subgrupos"] as $sgrupo){
385   - if(strtolower($sgrupo["ogc"]) == "sim"){
386   - $temas = $m->pegaListaDeTemas($grupo["id_n1"],$sgrupo["id_n2"],$menu["idmenu"]);
387   - foreach($temas as $tema){
388   - if(strtolower($tema["ogc"]) == "sim"){
389   - $codigosTema[] = array("tema"=>$tema["tid"],"fonte"=>$tema["link"]);
  374 + else{
  375 + $conta = 0;
  376 + $int = explode(",",$intervalo);
  377 + $codigosTema = array();
  378 + if(empty($perfil)){
  379 + $perfil = "";
  380 + }
  381 + include("classesphp/classe_menutemas.php");
  382 + $m = new Menutemas("",$perfil,$locaplic,$urli3geo);
  383 + $menus = $m->pegaListaDeMenus();
  384 + foreach ($menus as $menu){
  385 + $grupos = $m->pegaListaDeGrupos($menu["idmenu"],$listasistemas="nao",$listasgrupos="sim");
  386 + foreach($grupos as $grupo){
  387 + if(strtolower($grupo["ogc"]) == "sim"){
  388 + foreach($grupo["subgrupos"] as $sgrupo){
  389 + if(strtolower($sgrupo["ogc"]) == "sim"){
  390 + $temas = $m->pegaListaDeTemas($grupo["id_n1"],$sgrupo["id_n2"],$menu["idmenu"]);
  391 + foreach($temas as $tema){
  392 + if(strtolower($tema["ogc"]) == "sim"){
  393 + $codigosTema[] = array("tema"=>$tema["tid"],"fonte"=>$tema["link"]);
  394 + }
390 395 }
391 396 }
392 397 }
393 398 }
394 399 }
395 400 }
396   - }
397   - //echo "<pre>";
398   - //var_dump($codigosTema);
399   - //exit;
400   - foreach($codigosTema as $c){
401   - $codigoTema = $c["tema"];
402   - if(file_exists($locaplic."/temas/".$codigoTema.".map")){
403   - if (@ms_newMapobj($locaplic."/temas/".$codigoTema.".map")){
404   - $nmap = ms_newMapobj($locaplic."/temas/".$codigoTema.".map");
405   - $nmap->setmetadata("ows_enable_request","*");
406   - $ts = $nmap->getalllayernames();
407   - if (count($ts) == 1){
408   - foreach ($ts as $t){
409   - if ($oMap->getlayerbyname($t) == ""){
410   - $conta++;
411   - if (($conta >= $int[0]) && ($conta <= $int[1])){
412   - $l = $nmap->getlayerbyname($t);
413   - $extensao = $l->getmetadata("EXTENSAO");
414   - if($extensao == "")
415   - {
416   - $extensao = $extensaoMap;
417   - }
418   - $l->setmetadata("wms_extent",$extensao);
  401 + //echo "<pre>";
  402 + //var_dump($codigosTema);
  403 + //exit;
  404 + foreach($codigosTema as $c){
  405 + $codigoTema = $c["tema"];
  406 + if(file_exists($locaplic."/temas/".$codigoTema.".map")){
  407 + if (@ms_newMapobj($locaplic."/temas/".$codigoTema.".map")){
  408 + $nmap = ms_newMapobj($locaplic."/temas/".$codigoTema.".map");
  409 + $nmap->setmetadata("ows_enable_request","*");
  410 + $ts = $nmap->getalllayernames();
  411 + if (count($ts) == 1){
  412 + foreach ($ts as $t){
  413 + if ($oMap->getlayerbyname($t) == ""){
  414 + $conta++;
  415 + if (($conta >= $int[0]) && ($conta <= $int[1])){
  416 + $l = $nmap->getlayerbyname($t);
  417 + $extensao = $l->getmetadata("EXTENSAO");
  418 + if($extensao == "")
  419 + {
  420 + $extensao = $extensaoMap;
  421 + }
  422 + $l->setmetadata("wms_extent",$extensao);
419 423  
420   - $l->setmetadata("ows_title",pegaNome($l));
421   - $l->setmetadata("ows_srs",$listaepsg);
422   - $l->set("status",MS_OFF);
423   - $l->setmetadata("gml_include_items","all");
424   - $l->set("dump",MS_TRUE);
425   - $l->setmetadata("WMS_INCLUDE_ITEMS","all");
426   - $l->setmetadata("WFS_INCLUDE_ITEMS","all");
  424 + $l->setmetadata("ows_title",pegaNome($l));
  425 + $l->setmetadata("ows_srs",$listaepsg);
  426 + $l->set("status",MS_OFF);
  427 + $l->setmetadata("gml_include_items","all");
  428 + $l->set("dump",MS_TRUE);
  429 + $l->setmetadata("WMS_INCLUDE_ITEMS","all");
  430 + $l->setmetadata("WFS_INCLUDE_ITEMS","all");
427 431  
428   - $l->setmetadata("ows_metadataurl_href",$c["fonte"]);
429   - $l->setmetadata("ows_metadataurl_type","TC211");
430   - $l->setmetadata("ows_metadataurl_format","text/html");
431   - if(file_exists($locaplic."/temas/miniaturas/".$t.".map.mini.png")){
432   - $mini = $proto.$server.dirname($_SERVER['PHP_SELF'])."/temas/miniaturas/".$t.".map.mini.png";
433   - $l->setmetadata("wms_attribution_logourl_format","image/png");
434   - $l->setmetadata("wms_attribution_logourl_height","50");
435   - $l->setmetadata("wms_attribution_logourl_width","50");
436   - $l->setmetadata("wms_attribution_logourl_href",$mini);
  432 + $l->setmetadata("ows_metadataurl_href",$c["fonte"]);
  433 + $l->setmetadata("ows_metadataurl_type","TC211");
  434 + $l->setmetadata("ows_metadataurl_format","text/html");
  435 + if(file_exists($locaplic."/temas/miniaturas/".$t.".map.mini.png")){
  436 + $mini = $proto.$server.dirname($_SERVER['PHP_SELF'])."/temas/miniaturas/".$t.".map.mini.png";
  437 + $l->setmetadata("wms_attribution_logourl_format","image/png");
  438 + $l->setmetadata("wms_attribution_logourl_height","50");
  439 + $l->setmetadata("wms_attribution_logourl_width","50");
  440 + $l->setmetadata("wms_attribution_logourl_href",$mini);
  441 + }
  442 + ms_newLayerObj($oMap, $l);
437 443 }
438   - ms_newLayerObj($oMap, $l);
439 444 }
440 445 }
441 446 }
442 447 }
443   - }
444   - else{
445   - echo "Erro no arquivo ".$locaplic."/temas/".$codigoTema.".map <br>";
446   - $error = ms_GetErrorObj();
447   - while($error && $error->code != MS_NOERR){
448   - printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);
449   - $error = $error->next();
  448 + else{
  449 + echo "Erro no arquivo ".$locaplic."/temas/".$codigoTema.".map <br>";
  450 + $error = ms_GetErrorObj();
  451 + while($error && $error->code != MS_NOERR){
  452 + printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);
  453 + $error = $error->next();
  454 + }
450 455 }
451 456 }
452   - }
  457 + }
453 458 }
  459 + $oMap->setSymbolSet($locaplic."/symbols/".basename($oMap->symbolsetfilename));
  460 + $oMap->setFontSet($locaplic."/symbols/".basename($oMap->fontsetfilename));
  461 + $oMap->save($nomeMapfileTmp);
454 462 }
455 463 if($cache == true){
456 464  
  465 +}
  466 +
  467 +//
  468 +//altera os caminhos das imagens
  469 +//
  470 +if((isset($legenda)) && (strtolower($legenda) == "sim")){
  471 + $leg = $oMap->legend;
  472 + $leg->set("status",MS_EMBED);
  473 + $cache = false;
457 474 }
  475 +
458 476 ms_ioinstallstdouttobuffer();
459 477  
460 478 $oMap->owsdispatch($req);
461 479 $contenttype = ms_iostripstdoutbuffercontenttype();
462   -if(strtolower($request) == "getcapabilities")
463   -{
  480 +if(strtolower($request) == "getcapabilities"){
464 481 header('Content-Disposition: attachment; filename=getcapabilities.xml');
465 482 }
466 483 //header("Content-type: application/xml");
... ...