Commit 1ce492752eb7add251a9e2e8317184a4f0193f27

Authored by Edmar Moretti
1 parent 373d8e2c

Inclusão de mensagem de denied em camadas não disponíveis como OGC

Showing 1 changed file with 38 additions and 15 deletions   Show diff stats
@@ -294,8 +294,7 @@ $cortePixels = 0; @@ -294,8 +294,7 @@ $cortePixels = 0;
294 if(file_exists($nomeMapfileTmp) && $tipo == ""){ 294 if(file_exists($nomeMapfileTmp) && $tipo == ""){
295 $oMap = ms_newMapobj($nomeMapfileTmp); 295 $oMap = ms_newMapobj($nomeMapfileTmp);
296 } 296 }
297 -else{  
298 - 297 +else{
299 if(empty($ogcwsmap)){ 298 if(empty($ogcwsmap)){
300 $oMap = ms_newMapobj($locaplic."/aplicmap/ogcwsv".$versao.".map"); 299 $oMap = ms_newMapobj($locaplic."/aplicmap/ogcwsv".$versao.".map");
301 } 300 }
@@ -328,7 +327,7 @@ else{ @@ -328,7 +327,7 @@ else{
328 } 327 }
329 $e = $oMap->extent; 328 $e = $oMap->extent;
330 $extensaoMap = ($e->minx)." ".($e->miny)." ".($e->maxx)." ".($e->maxy); 329 $extensaoMap = ($e->minx)." ".($e->miny)." ".($e->maxx)." ".($e->maxy);
331 - 330 +
332 //gera o mapa 331 //gera o mapa
333 if ($tema != ""){ 332 if ($tema != ""){
334 $listatema = explode(" ",$tema); 333 $listatema = explode(" ",$tema);
@@ -341,7 +340,6 @@ else{ @@ -341,7 +340,6 @@ else{
341 $temai3geo = false; 340 $temai3geo = false;
342 $nmap->setmetadata("ows_enable_request","*"); 341 $nmap->setmetadata("ows_enable_request","*");
343 } 342 }
344 -  
345 foreach ($listatema as $tx){ 343 foreach ($listatema as $tx){
346 $extensao = ".map"; 344 $extensao = ".map";
347 if($temai3geo == true && file_exists($locaplic."/temas/".$tx.".php")){ 345 if($temai3geo == true && file_exists($locaplic."/temas/".$tx.".php")){
@@ -351,13 +349,10 @@ else{ @@ -351,13 +349,10 @@ else{
351 $extensao = ".gvp"; 349 $extensao = ".gvp";
352 } 350 }
353 if($extensao == ".map"){ 351 if($extensao == ".map"){
354 -  
355 //cria o mapfile com base no sistema de metadados estatisticos 352 //cria o mapfile com base no sistema de metadados estatisticos
356 //verifica se o id_medida_variavel existe no mapfile e nao foi passado como um parametro 353 //verifica se o id_medida_variavel existe no mapfile e nao foi passado como um parametro
357 if(!isset($id_medida_variavel) && $temai3geo == true){ 354 if(!isset($id_medida_variavel) && $temai3geo == true){
358 -  
359 - $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map");  
360 - 355 + $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map");
361 $l = $nmap->getlayer(0); 356 $l = $nmap->getlayer(0);
362 $teste = $l->getmetadata("METAESTAT_ID_MEDIDA_VARIAVEL"); 357 $teste = $l->getmetadata("METAESTAT_ID_MEDIDA_VARIAVEL");
363 if($teste != "" && $l->data == ""){ 358 if($teste != "" && $l->data == ""){
@@ -373,13 +368,11 @@ else{ @@ -373,13 +368,11 @@ else{
373 $nmap = ms_newMapobj($mapfileMetaestat["mapfile"]); 368 $nmap = ms_newMapobj($mapfileMetaestat["mapfile"]);
374 $nmap->setmetadata("ows_enable_request","*"); 369 $nmap->setmetadata("ows_enable_request","*");
375 $req->setParameter("LAYERS", "ogcmetaestat".$id_medida_variavel); 370 $req->setParameter("LAYERS", "ogcmetaestat".$id_medida_variavel);
376 - }  
377 - 371 + }
378 if($temai3geo == true){ 372 if($temai3geo == true){
379 $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map"); 373 $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map");
380 $nmap->setmetadata("ows_enable_request","*"); 374 $nmap->setmetadata("ows_enable_request","*");
381 } 375 }
382 -  
383 if($temai3geo == false || empty($layers)){ 376 if($temai3geo == false || empty($layers)){
384 $ts = $nmap->getalllayernames(); 377 $ts = $nmap->getalllayernames();
385 $nmap->setmetadata("ows_enable_request","*"); 378 $nmap->setmetadata("ows_enable_request","*");
@@ -387,16 +380,13 @@ else{ @@ -387,16 +380,13 @@ else{
387 else{ 380 else{
388 $ts = explode(",",str_replace(" ",",",$layers)); 381 $ts = explode(",",str_replace(" ",",",$layers));
389 } 382 }
390 -  
391 foreach ($ts as $t){ 383 foreach ($ts as $t){
392 $l = $nmap->getlayerbyname($t); 384 $l = $nmap->getlayerbyname($t);
393 if($l == ""){ 385 if($l == ""){
394 $l = $nmap->getlayer(0); 386 $l = $nmap->getlayer(0);
395 } 387 }
396 - $permite = $l->getmetadata("permiteogc");  
397 - 388 + $permite = $l->getmetadata("permiteogc");
398 if(strtolower($permite) != "nao"){ 389 if(strtolower($permite) != "nao"){
399 -  
400 //necessário pq o mapfile pode ter todos os layers como default 390 //necessário pq o mapfile pode ter todos os layers como default
401 if($temai3geo == false){ 391 if($temai3geo == false){
402 $l->set("status",MS_OFF); 392 $l->set("status",MS_OFF);
@@ -476,6 +466,39 @@ else{ @@ -476,6 +466,39 @@ else{
476 $cache = false; 466 $cache = false;
477 } 467 }
478 ms_newLayerObj($oMap, $l); 468 ms_newLayerObj($oMap, $l);
  469 + }
  470 + else{
  471 + //a camada nao pode ser usada como servico WMS, entao e enviada uma mensagem
  472 + $l->set("data","");
  473 + $l->set("type",MS_POINT);
  474 + $l->setmetadata("cache","nao");
  475 + //apaga as classes
  476 + $nclass = $l->numclasses;
  477 + for($i=0;$i<$nclass;$i++){
  478 + $classe = $l->getclass($i);
  479 + $classe->set("status",MS_DELETE);
  480 + }
  481 + $l->updatefromstring('
  482 + LAYER
  483 + SIZEUNITS PIXELS
  484 + TRANSFORM FALSE
  485 + CLASS
  486 + LABEL
  487 + SIZE 10
  488 + TYPE truetype
  489 + FONT arial
  490 + COLOR 255 0 0
  491 + POSITION cc
  492 + FORCE true
  493 + END
  494 + END
  495 + FEATURE POINTS 100 100 END
  496 + TEXT "OGC denied" END
  497 + FEATURE POINTS 100 120 END
  498 + TEXT "' . $l->name . '" END
  499 + END
  500 + ');
  501 + ms_newLayerObj($oMap, $l);
479 } 502 }
480 } 503 }
481 } 504 }