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
ogc.php
... ... @@ -294,8 +294,7 @@ $cortePixels = 0;
294 294 if(file_exists($nomeMapfileTmp) && $tipo == ""){
295 295 $oMap = ms_newMapobj($nomeMapfileTmp);
296 296 }
297   -else{
298   -
  297 +else{
299 298 if(empty($ogcwsmap)){
300 299 $oMap = ms_newMapobj($locaplic."/aplicmap/ogcwsv".$versao.".map");
301 300 }
... ... @@ -328,7 +327,7 @@ else{
328 327 }
329 328 $e = $oMap->extent;
330 329 $extensaoMap = ($e->minx)." ".($e->miny)." ".($e->maxx)." ".($e->maxy);
331   -
  330 +
332 331 //gera o mapa
333 332 if ($tema != ""){
334 333 $listatema = explode(" ",$tema);
... ... @@ -341,7 +340,6 @@ else{
341 340 $temai3geo = false;
342 341 $nmap->setmetadata("ows_enable_request","*");
343 342 }
344   -
345 343 foreach ($listatema as $tx){
346 344 $extensao = ".map";
347 345 if($temai3geo == true && file_exists($locaplic."/temas/".$tx.".php")){
... ... @@ -351,13 +349,10 @@ else{
351 349 $extensao = ".gvp";
352 350 }
353 351 if($extensao == ".map"){
354   -
355 352 //cria o mapfile com base no sistema de metadados estatisticos
356 353 //verifica se o id_medida_variavel existe no mapfile e nao foi passado como um parametro
357 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 356 $l = $nmap->getlayer(0);
362 357 $teste = $l->getmetadata("METAESTAT_ID_MEDIDA_VARIAVEL");
363 358 if($teste != "" && $l->data == ""){
... ... @@ -373,13 +368,11 @@ else{
373 368 $nmap = ms_newMapobj($mapfileMetaestat["mapfile"]);
374 369 $nmap->setmetadata("ows_enable_request","*");
375 370 $req->setParameter("LAYERS", "ogcmetaestat".$id_medida_variavel);
376   - }
377   -
  371 + }
378 372 if($temai3geo == true){
379 373 $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map");
380 374 $nmap->setmetadata("ows_enable_request","*");
381 375 }
382   -
383 376 if($temai3geo == false || empty($layers)){
384 377 $ts = $nmap->getalllayernames();
385 378 $nmap->setmetadata("ows_enable_request","*");
... ... @@ -387,16 +380,13 @@ else{
387 380 else{
388 381 $ts = explode(",",str_replace(" ",",",$layers));
389 382 }
390   -
391 383 foreach ($ts as $t){
392 384 $l = $nmap->getlayerbyname($t);
393 385 if($l == ""){
394 386 $l = $nmap->getlayer(0);
395 387 }
396   - $permite = $l->getmetadata("permiteogc");
397   -
  388 + $permite = $l->getmetadata("permiteogc");
398 389 if(strtolower($permite) != "nao"){
399   -
400 390 //necessário pq o mapfile pode ter todos os layers como default
401 391 if($temai3geo == false){
402 392 $l->set("status",MS_OFF);
... ... @@ -476,6 +466,39 @@ else{
476 466 $cache = false;
477 467 }
478 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 }
... ...