Commit 1ce492752eb7add251a9e2e8317184a4f0193f27
1 parent
373d8e2c
Exists in
master
and in
7 other branches
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,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 | } |