Commit 0390af3623de793273cd72f5cd3d36d27c418536
1 parent
80958f40
Exists in
master
and in
7 other branches
Adaptações para funcionamento com o sistema de administração
Showing
12 changed files
with
322 additions
and
266 deletions
Show diff stats
classesphp/atlas_controle.php
| ... | ... | @@ -114,6 +114,14 @@ if ($map_file != "") |
| 114 | 114 | substituiCon($map_file,$postgis_mapa); |
| 115 | 115 | } |
| 116 | 116 | // |
| 117 | +//identifica qual a url do i3geo | |
| 118 | +// | |
| 119 | +$protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
| 120 | +$protocolo = $protocolo[0] . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT']; | |
| 121 | +$urli3geo = str_replace("/classesphp/atlas_controle.php","",$protocolo.$_SERVER["PHP_SELF"]); | |
| 122 | +if($atlasxml == "") | |
| 123 | +{$atlasxml = $urli3geo."/admin/xmlatlas.php";} | |
| 124 | +// | |
| 117 | 125 | //faz a busca da função que deve ser executada |
| 118 | 126 | // |
| 119 | 127 | switch ($funcao) | ... | ... |
classesphp/classe_atlas.php
| ... | ... | @@ -33,11 +33,6 @@ Class: Atlas |
| 33 | 33 | */ |
| 34 | 34 | class Atlas |
| 35 | 35 | { |
| 36 | - /* | |
| 37 | - Variable: $atlas | |
| 38 | - | |
| 39 | - Objeto Atlas | |
| 40 | - */ | |
| 41 | 36 | public $atlas; |
| 42 | 37 | /* |
| 43 | 38 | Function: __construct |
| ... | ... | @@ -50,9 +45,9 @@ $atlasxml - Endereço do arquivo xml com as definições do Atlas. |
| 50 | 45 | */ |
| 51 | 46 | function __construct($atlasxml) |
| 52 | 47 | { |
| 53 | - | |
| 54 | - $this->arquivo = $atlasxml; | |
| 48 | + error_reporting(0); | |
| 55 | 49 | $this->xml = simplexml_load_file($atlasxml); |
| 50 | + $this->arquivo = $atlasxml; | |
| 56 | 51 | } |
| 57 | 52 | /* |
| 58 | 53 | Method: pegaListaDeAtlas |
| ... | ... | @@ -243,7 +238,5 @@ locaplic - localização do i3geo no servidor |
| 243 | 238 | if($h == ""){$h = 300;} |
| 244 | 239 | return (array("link"=>$link,"w"=>$w,"h"=>$h)); |
| 245 | 240 | } |
| 246 | - | |
| 247 | 241 | } |
| 248 | - | |
| 249 | 242 | ?> |
| 250 | 243 | \ No newline at end of file | ... | ... |
classesphp/classe_menutemas.php
| ... | ... | @@ -35,49 +35,35 @@ Class: Menutemas |
| 35 | 35 | */ |
| 36 | 36 | class Menutemas |
| 37 | 37 | { |
| 38 | - /* | |
| 39 | - Variable: $mapa | |
| 40 | - | |
| 41 | - Objeto mapa | |
| 42 | - */ | |
| 43 | - protected $mapa; | |
| 44 | - /* | |
| 45 | - Variable: $arquivo | |
| 46 | - | |
| 47 | - Arquivo map file | |
| 48 | - */ | |
| 49 | - protected $arquivo; | |
| 50 | - /* | |
| 51 | - Variable: $layers | |
| 52 | - | |
| 53 | - Array com os layers | |
| 54 | - */ | |
| 55 | - protected $layers; | |
| 56 | - /* | |
| 57 | - Variable: $perfil | |
| 58 | - | |
| 59 | - Perfil do usuário atual | |
| 60 | - */ | |
| 61 | - protected $perfil; | |
| 62 | - /* | |
| 63 | - Variable: $xmlsistemas | |
| 64 | - | |
| 65 | - xml com a lista de sistemas | |
| 66 | - */ | |
| 67 | - protected $xmlsistemas; | |
| 68 | 38 | /* |
| 69 | 39 | function: __construct |
| 70 | 40 | |
| 71 | 41 | Cria um objeto Menutemas |
| 72 | 42 | |
| 73 | 43 | parameters: |
| 74 | -$map_file - string $map_file Endereço do mapfile no servidor. | |
| 44 | + | |
| 45 | +$map_file - (opcional) endereço do mapfile no servidor | |
| 46 | + | |
| 47 | +$perfil - (opcional) lista dos perfis, separados por espaços, que devem restringir a lista de menus, grupos, temas e etc. | |
| 48 | + | |
| 49 | +$locsistemas - (opcional) endereço do xml com a lista de sistemas adicionais que serão listados na opção de adiçao de temas | |
| 50 | + | |
| 51 | +$locaplic - (opcional) endereço físico do i3geo | |
| 52 | + | |
| 53 | +$menutemas - (opcional) array contendo a lista de menus para compor a árvore de temas (veja o i3geo/ms_configura) | |
| 54 | + | |
| 55 | +$urli3geo - (opcional) url onde está o i3geo (p.ex. http://localhost/i3geo | |
| 75 | 56 | */ |
| 76 | - function __construct($map_file="",$perfil="",$locsistemas="") | |
| 57 | + function __construct($map_file="",$perfil="",$locsistemas="",$locaplic="",$menutemas="",$urli3geo="") | |
| 77 | 58 | { |
| 78 | - //error_reporting(E_ALL); | |
| 59 | + error_reporting(0); | |
| 79 | 60 | $this->perfil = explode(",",$perfil); |
| 61 | + if(count($this->perfil) == 0) | |
| 62 | + $this->perfil = explode(" ",$perfil); | |
| 80 | 63 | $this->xmlsistemas = ""; |
| 64 | + $this->locaplic = $locaplic; | |
| 65 | + $this->menutemas = $menutemas; | |
| 66 | + $this->urli3geo = $urli3geo; | |
| 81 | 67 | if ($locsistemas != "") |
| 82 | 68 | $this->xmlsistemas = simplexml_load_file($locsistemas); |
| 83 | 69 | if (($map_file != "") && (file_exists($map_file))) |
| ... | ... | @@ -93,6 +79,53 @@ $map_file - string $map_file Endereço do mapfile no servidor. |
| 93 | 79 | } |
| 94 | 80 | } |
| 95 | 81 | /* |
| 82 | +function: pegaListaDeMenus | |
| 83 | + | |
| 84 | +Pega a lista de menus do banco de dados de administração. | |
| 85 | + | |
| 86 | +O perfil do usuário é armazenado na seção na inicialização do I3Geo. | |
| 87 | + | |
| 88 | +Parameters: | |
| 89 | + | |
| 90 | +locmapas - endereço do arquivo xml. | |
| 91 | + | |
| 92 | +return: | |
| 93 | +array | |
| 94 | +*/ | |
| 95 | + function pegaListaDeMenus() | |
| 96 | + { | |
| 97 | + $resultado = array(); | |
| 98 | + if($this->menutemas == "") | |
| 99 | + { | |
| 100 | + if(!isset($this->locaplic)) | |
| 101 | + {return "locaplic nao foi definido";} | |
| 102 | + if(!isset($this->locaplic)) | |
| 103 | + {return "locaplic nao foi definido";} | |
| 104 | + include_once($this->locaplic."/admin/php/conexao.php"); | |
| 105 | + $sql = 'SELECT * from i3geoadmin_menus order by nome_menu'; | |
| 106 | + $q = $dbh->query($sql,PDO::FETCH_ASSOC); | |
| 107 | + $regs = $q->fetchAll(); | |
| 108 | + $dbh = null; | |
| 109 | + $resultado = array(); | |
| 110 | + foreach($regs as $reg) | |
| 111 | + { | |
| 112 | + $status = "fechado"; | |
| 113 | + if(strtolower($reg["aberto"]) == "sim") | |
| 114 | + $status = "aberto"; | |
| 115 | + $arquivo = "admin/xmlmenutemas.php?id_menu=".$reg["id_menu"]."&perfil=".$reg["perfil_menu"]; | |
| 116 | + $url = $this->urli3geo."/admin/xmlmenutemas.php?id_menu=".$reg["id_menu"]."&perfil=".$reg["perfil_menu"]; | |
| 117 | + $resultado[] = array("idmenu"=>$reg["nome_menu"],"arquivo"=>$arquivo,"status"=>$status,"url"=>$url); | |
| 118 | + } | |
| 119 | + } | |
| 120 | + else | |
| 121 | + {$resultado = $this->menutemas;} | |
| 122 | + if(count($resultado) == 0) | |
| 123 | + { | |
| 124 | + $resultado[] = array("idmenu"=>"i3geo (xml)","arquivo"=>"../menutemas/menutemas.xml","status"=>"aberto"); | |
| 125 | + } | |
| 126 | + return ($resultado); | |
| 127 | + } | |
| 128 | +/* | |
| 96 | 129 | function: pegaListaDeMapas |
| 97 | 130 | |
| 98 | 131 | Le o arquivo xml com a lista de mapas existente no xml $locmapas. |
| ... | ... | @@ -152,42 +185,36 @@ return: |
| 152 | 185 | |
| 153 | 186 | array |
| 154 | 187 | */ |
| 155 | - function pegaListaDeGrupos($idmenu="",$listasistemas="sim",$listasgrupos="sim",$menutemas=null) | |
| 188 | + function pegaListaDeGrupos($idmenu="",$listasistemas="sim",$listasgrupos="sim") | |
| 156 | 189 | { |
| 190 | + // | |
| 191 | + //lê os arquivos xml | |
| 192 | + //"&tipo=gruposeraiz" pega apenas os nomes dos grupos e temas na raiz | |
| 193 | + // | |
| 194 | + if($listasgrupos == "sim") | |
| 195 | + {$tipo = "";} | |
| 196 | + else | |
| 197 | + {$tipo = "&tipo=gruposeraiz";} | |
| 157 | 198 | $this->xml = ""; |
| 158 | - //echo $menutemas; | |
| 159 | - if(isset($menutemas)) | |
| 160 | - { | |
| 161 | - if (file_exists("../ms_configura.php")) | |
| 162 | - {include_once("../ms_configura.php");} | |
| 163 | - } | |
| 164 | - if ((isset($menutemas)) && ($menutemas != "") && ($idmenu != "")) | |
| 199 | + foreach($this->pegaListaDeMenus() as $menu) | |
| 165 | 200 | { |
| 166 | - foreach ($menutemas as $m) | |
| 201 | + if($menu["idmenu"] == $idmenu || $idmenu == "") | |
| 167 | 202 | { |
| 168 | - if (($m["idmenu"] == $idmenu)) | |
| 169 | - {$this->xml = simplexml_load_file($m["arquivo"]);} | |
| 170 | - } | |
| 171 | - } | |
| 172 | - if (($this->xml == "") && ($menutemas == "")) | |
| 173 | - { | |
| 174 | - if (file_exists("../menutemas/menutemas.xml")) | |
| 175 | - {$this->xml = simplexml_load_file("../menutemas/menutemas.xml");} | |
| 176 | - else | |
| 177 | - {$this->xml = simplexml_load_file("menutemas/menutemas.xml");} | |
| 178 | - } | |
| 179 | - if ($this->xml == "") | |
| 180 | - { | |
| 181 | - if (file_exists("../menutemas/menutemas.xml")) | |
| 182 | - {$this->xml = simplexml_load_file("../menutemas/menutemas.xml");} | |
| 183 | - else | |
| 184 | - {$this->xml = simplexml_load_file("menutemas/menutemas.xml");} | |
| 203 | + $ondexml = $menu["arquivo"]; | |
| 204 | + if(isset($menu["url"])){$ondexml = $menu["url"];} | |
| 205 | + $this->xml = simplexml_load_file($ondexml.$tipo); | |
| 206 | + } | |
| 185 | 207 | } |
| 208 | + // | |
| 209 | + //varre o xml para pegar os dados | |
| 210 | + // | |
| 186 | 211 | $sistemas = array(); |
| 187 | 212 | $grupos = array(); |
| 188 | 213 | $temasraiz = array(); |
| 214 | + // | |
| 189 | 215 | //pega os grupos |
| 190 | 216 | //verifica se existem temas na raiz do menu |
| 217 | + // | |
| 191 | 218 | foreach($this->xml->TEMA as $temar) |
| 192 | 219 | { |
| 193 | 220 | $down = "nao"; |
| ... | ... | @@ -329,29 +356,14 @@ array |
| 329 | 356 | function pegaListaDeSubGrupos($codgrupo,$idmenu="") |
| 330 | 357 | { |
| 331 | 358 | $this->xml = ""; |
| 332 | - if (file_exists("../ms_configura.php")) | |
| 333 | - {include_once("../ms_configura.php");} | |
| 334 | - if ((isset($menutemas)) && ($menutemas != "") && ($idmenu != "")) | |
| 359 | + foreach($this->pegaListaDeMenus() as $menu) | |
| 335 | 360 | { |
| 336 | - foreach ($menutemas as $m) | |
| 361 | + if($menu["idmenu"] == $idmenu) | |
| 337 | 362 | { |
| 338 | - if (($m["idmenu"] == $idmenu)) | |
| 339 | - {$this->xml = simplexml_load_file($m["arquivo"]);} | |
| 340 | - } | |
| 341 | - } | |
| 342 | - if (($this->xml == "") && ($menutemas == "")) | |
| 343 | - { | |
| 344 | - if (file_exists("../menutemas/menutemas.xml")) | |
| 345 | - {$this->xml = simplexml_load_file("../menutemas/menutemas.xml");} | |
| 346 | - else | |
| 347 | - {$this->xml = simplexml_load_file("menutemas/menutemas.xml");} | |
| 348 | - } | |
| 349 | - if ($this->xml == "") | |
| 350 | - { | |
| 351 | - if (file_exists("../menutemas/menutemas.xml")) | |
| 352 | - {$this->xml = simplexml_load_file("../menutemas/menutemas.xml");} | |
| 353 | - else | |
| 354 | - {$this->xml = simplexml_load_file("menutemas/menutemas.xml");} | |
| 363 | + $ondexml = $menu["arquivo"]; | |
| 364 | + if(isset($menu["url"])){$ondexml = $menu["url"];} | |
| 365 | + $this->xml = simplexml_load_file($ondexml."&tipo=subgrupos"); | |
| 366 | + } | |
| 355 | 367 | } |
| 356 | 368 | $conta = 0; |
| 357 | 369 | $subgrupos[] = array(); |
| ... | ... | @@ -433,22 +445,14 @@ array |
| 433 | 445 | function pegaListaDeTemas($grupo,$subgrupo,$idmenu) |
| 434 | 446 | { |
| 435 | 447 | $this->xml = ""; |
| 436 | - if (file_exists("../ms_configura.php")) | |
| 437 | - {include_once("../ms_configura.php");} | |
| 438 | - if ((isset($menutemas)) && ($menutemas != "") && ($idmenu != "")) | |
| 448 | + foreach($this->pegaListaDeMenus() as $menu) | |
| 439 | 449 | { |
| 440 | - foreach ($menutemas as $m) | |
| 450 | + if($menu["idmenu"] == $idmenu) | |
| 441 | 451 | { |
| 442 | - if (($m["idmenu"] == $idmenu)) | |
| 443 | - {$this->xml = simplexml_load_file($m["arquivo"]);} | |
| 444 | - } | |
| 445 | - } | |
| 446 | - if ($this->xml == "") | |
| 447 | - { | |
| 448 | - if (file_exists("../menutemas/menutemas.xml")) | |
| 449 | - {$this->xml = simplexml_load_file("../menutemas/menutemas.xml");} | |
| 450 | - else | |
| 451 | - {$this->xml = simplexml_load_file("menutemas/menutemas.xml");} | |
| 452 | + $ondexml = $menu["arquivo"]; | |
| 453 | + if(isset($menu["url"])){$ondexml = $menu["url"];} | |
| 454 | + $this->xml = simplexml_load_file($ondexml); | |
| 455 | + } | |
| 452 | 456 | } |
| 453 | 457 | $contagrupo = 0; |
| 454 | 458 | $temas = array(); |
| ... | ... | @@ -532,26 +536,18 @@ $procurar - String que será procurada. |
| 532 | 536 | function procurartemas($procurar) |
| 533 | 537 | { |
| 534 | 538 | $this->xml = array(); |
| 535 | - if (file_exists("../ms_configura.php")) | |
| 536 | - {include_once("../ms_configura.php");} | |
| 537 | - if ((isset($menutemas)) && ($menutemas != "")) | |
| 538 | - { | |
| 539 | - foreach ($menutemas as $m) | |
| 540 | - { | |
| 541 | - $this->xml[] = simplexml_load_file($m["arquivo"]); | |
| 542 | - } | |
| 543 | - } | |
| 544 | - if ($this->xml == "") | |
| 539 | + foreach($this->pegaListaDeMenus() as $menu) | |
| 545 | 540 | { |
| 546 | - if (file_exists("../menutemas/menutemas.xml")) | |
| 547 | - {$this->xml[] = simplexml_load_file("../menutemas/menutemas.xml");} | |
| 548 | - else | |
| 549 | - {$this->xml[] = simplexml_load_file("menutemas/menutemas.xml");} | |
| 550 | - } | |
| 541 | + $ondexml = $menu["arquivo"]; | |
| 542 | + if(isset($menu["url"])){$ondexml = $menu["url"];} | |
| 543 | + $this->xml[] = simplexml_load_file($ondexml); | |
| 544 | + } | |
| 551 | 545 | $resultado = array(); |
| 552 | - $listadetemas = array(); | |
| 546 | + $texto = array(); | |
| 553 | 547 | foreach ($this->xml as $xml) |
| 554 | 548 | { |
| 549 | + $listadetemas = array(); | |
| 550 | + $subgrupo = array(); | |
| 555 | 551 | foreach($xml->GRUPO as $grupo) |
| 556 | 552 | { |
| 557 | 553 | $incluigrupo = TRUE; |
| ... | ... | @@ -595,23 +591,27 @@ $procurar - String que será procurada. |
| 595 | 591 | {$down = "sim";} |
| 596 | 592 | $link = ixml($tema,"TLINK"); |
| 597 | 593 | $tid = ixml($tema,"TID"); |
| 598 | - $texto = array("tid"=>$tid,"nome"=>(ixml($tema,"TNOME")),"link"=>$link,"download"=>$down); | |
| 599 | - $p1 = $this->removeAcentos($procurar); | |
| 600 | - $p1 = $this->removeAcentos(htmlentities($p1)); | |
| 601 | - | |
| 602 | - $pp1 = $this->removeAcentos(ixml($tema,"TNOME")); | |
| 603 | - $pp1 = $this->removeAcentos($pp1); | |
| 604 | - $pp1 = $this->removeAcentos(htmlentities($pp1)); | |
| 605 | 594 | |
| 606 | - if (stristr($pp1,$p1) || stristr(ixml($tema,"TNOME"),htmlentities($procurar))) | |
| 607 | - {$listadetemas[] = $texto;} | |
| 608 | - | |
| 609 | - if(ixml($tema,"TAGS") != "") | |
| 595 | + if(!isset($texto[$tid])) | |
| 610 | 596 | { |
| 611 | - $pp1 = ixml($tema,"TAGS"); | |
| 597 | + $texto[$tid] = array("tid"=>$tid,"nome"=>(ixml($tema,"TNOME")),"link"=>$link,"download"=>$down); | |
| 598 | + $p1 = $this->removeAcentos($procurar); | |
| 599 | + $p1 = $this->removeAcentos(htmlentities($p1)); | |
| 600 | + $pp1 = $this->removeAcentos(ixml($tema,"TNOME")); | |
| 612 | 601 | $pp1 = $this->removeAcentos($pp1); |
| 613 | - if (stristr($pp1,$p1)) | |
| 614 | - {$listadetemas[] = $texto;} | |
| 602 | + $pp1 = $this->removeAcentos(htmlentities($pp1)); | |
| 603 | + if (stristr($pp1,$p1) || stristr(ixml($tema,"TNOME"),htmlentities($procurar))) | |
| 604 | + { | |
| 605 | + $listadetemas[] = $texto[$tid]; | |
| 606 | + } | |
| 607 | + else | |
| 608 | + if(ixml($tema,"TAGS") != "") | |
| 609 | + { | |
| 610 | + $pp1 = ixml($tema,"TAGS"); | |
| 611 | + $pp1 = $this->removeAcentos($pp1); | |
| 612 | + if (stristr($pp1,$p1)) | |
| 613 | + {$listadetemas[] = $texto[$tid];} | |
| 614 | + } | |
| 615 | 615 | } |
| 616 | 616 | } |
| 617 | 617 | } |
| ... | ... | @@ -619,8 +619,9 @@ $procurar - String que será procurada. |
| 619 | 619 | { |
| 620 | 620 | $subgrupo[] = array("subgrupo"=>(ixml($sgrupo,"SDTIPO")),"temas"=>$listadetemas); |
| 621 | 621 | } |
| 622 | + $listadetemas = array(); | |
| 622 | 623 | } |
| 623 | - $listadetemas = array(); | |
| 624 | + | |
| 624 | 625 | } |
| 625 | 626 | if (count($subgrupo) > 0) |
| 626 | 627 | { |
| ... | ... | @@ -659,21 +660,13 @@ nrss - (opcional) número de registros no rss que serão considerados |
| 659 | 660 | } |
| 660 | 661 | } |
| 661 | 662 | $this->xml = array(); |
| 662 | - if (file_exists("../ms_configura.php")) | |
| 663 | - {include_once("../ms_configura.php");} | |
| 664 | - if ((isset($menutemas)) && ($menutemas != "")) | |
| 663 | + $menus = $this->pegaListaDeMenus(); | |
| 664 | + foreach ($menus as $m) | |
| 665 | 665 | { |
| 666 | - foreach ($menutemas as $m) | |
| 667 | - { | |
| 668 | - $this->xml[] = simplexml_load_file($m["arquivo"]); | |
| 669 | - } | |
| 670 | - } | |
| 671 | - if ($this->xml == "") | |
| 672 | - { | |
| 673 | - if (file_exists("../menutemas/menutemas.xml")) | |
| 674 | - {$this->xml[] = simplexml_load_file("../menutemas/menutemas.xml");} | |
| 666 | + if(isset($m["url"])) | |
| 667 | + $this->xml[] = simplexml_load_file($m["url"]); | |
| 675 | 668 | else |
| 676 | - {$this->xml[] = simplexml_load_file("menutemas/menutemas.xml");} | |
| 669 | + $this->xml[] = simplexml_load_file($m["arquivo"]); | |
| 677 | 670 | } |
| 678 | 671 | $resultado = array(); |
| 679 | 672 | $noticias = array(); |
| ... | ... | @@ -722,7 +715,7 @@ nrss - (opcional) número de registros no rss que serão considerados |
| 722 | 715 | { |
| 723 | 716 | if($tag != "") |
| 724 | 717 | { |
| 725 | - if(!$resultado[$tag]) | |
| 718 | + if(!isset($resultado[$tag])) | |
| 726 | 719 | { |
| 727 | 720 | $resultado[$tag] = array($tid); |
| 728 | 721 | //busca noticias |
| ... | ... | @@ -735,7 +728,7 @@ nrss - (opcional) número de registros no rss que serão considerados |
| 735 | 728 | if(in_array(strtolower($t),$titulo)) |
| 736 | 729 | { |
| 737 | 730 | //echo $noticia["link"]."<br>"; |
| 738 | - if(!$noticias[$tag]) | |
| 731 | + if(!isset($noticias[$tag])) | |
| 739 | 732 | $noticias[$tag] = array("titulo"=>$noticia["titulo"],"link"=>$noticia["link"]); |
| 740 | 733 | else |
| 741 | 734 | $noticias[$tag] = array_merge($noticias[$tag],array("titulo"=>$noticia["titulo"],"link"=>$noticia["link"])); |
| ... | ... | @@ -760,7 +753,7 @@ nrss - (opcional) número de registros no rss que serão considerados |
| 760 | 753 | foreach(array_keys($resultado) as $k) |
| 761 | 754 | { |
| 762 | 755 | |
| 763 | - if($noticias[$k]) | |
| 756 | + if(isset($noticias[$k])) | |
| 764 | 757 | {$not = array($noticias[$k]);} |
| 765 | 758 | else |
| 766 | 759 | {$not = array();} |
| ... | ... | @@ -804,6 +797,5 @@ nrss - (opcional) número de registros no rss que serão considerados |
| 804 | 797 | //Return FALSE if none of the values from $needle are found in $haystack |
| 805 | 798 | return FALSE; |
| 806 | 799 | } |
| 807 | - | |
| 808 | 800 | } |
| 809 | 801 | ?> |
| 810 | 802 | \ No newline at end of file | ... | ... |
classesphp/mapa_controle.php
| ... | ... | @@ -125,19 +125,6 @@ include_once("../pacotes/cpaint/cpaint2.inc.php"); |
| 125 | 125 | // |
| 126 | 126 | $cp = new cpaint(); |
| 127 | 127 | $cp->set_data(""); |
| 128 | -/* | |
| 129 | -// | |
| 130 | -//grava na sessão o PID do processo PHP | |
| 131 | -// | |
| 132 | -if ($funcao == "terminaProcesso") | |
| 133 | -{ | |
| 134 | - $pid = $_SESSION["ultimopid"]; | |
| 135 | - @exec("taskkill /f /PID $pid 2>&1"); | |
| 136 | - $cp->set_data($pid); | |
| 137 | - $cp->return_data(); | |
| 138 | -} | |
| 139 | -$_SESSION["ultimopid"] = getmypid(); | |
| 140 | -*/ | |
| 141 | 128 | if ($funcao == "criaMapa") |
| 142 | 129 | { |
| 143 | 130 | session_destroy(); |
| ... | ... | @@ -145,7 +132,7 @@ if ($funcao == "criaMapa") |
| 145 | 132 | //primeiro é necessário carregar o ms_configura.php para pegar a variável $locaplic |
| 146 | 133 | // |
| 147 | 134 | $d = ""; |
| 148 | - if(!file_exists($d."ms_configura.php")) | |
| 135 | + if(!file_exists("ms_configura.php")) | |
| 149 | 136 | $d = "../"; |
| 150 | 137 | include_once($d."ms_configura.php"); |
| 151 | 138 | // |
| ... | ... | @@ -169,6 +156,12 @@ include_once("classe_vermultilayer.php"); |
| 169 | 156 | include_once("classe_estatistica.php"); |
| 170 | 157 | include_once("funcoes_gerais.php"); |
| 171 | 158 | // |
| 159 | +//identifica qual a url do i3geo | |
| 160 | +// | |
| 161 | +$protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
| 162 | +$protocolo = $protocolo[0] . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT']; | |
| 163 | +$urli3geo = str_replace("/classesphp/mapa_controle.php","",$protocolo.$_SERVER["PHP_SELF"]); | |
| 164 | +// | |
| 172 | 165 | //substitui a string de conexão |
| 173 | 166 | // |
| 174 | 167 | substituiCon($map_file,$postgis_mapa); |
| ... | ... | @@ -1623,7 +1616,7 @@ Pega a lista de tags registrados nos menus de temas. |
| 1623 | 1616 | */ |
| 1624 | 1617 | case "listaTags": |
| 1625 | 1618 | include_once("classe_menutemas.php"); |
| 1626 | - $m = new Menutemas($map_file,$perfil,$locsistemas); | |
| 1619 | + $m = new Menutemas($map_file,$perfil,$locsistemas,$locaplic,$menutemas,$urli3geo); | |
| 1627 | 1620 | $cp->set_data($m->listatags($rss,$nrss)); |
| 1628 | 1621 | break; |
| 1629 | 1622 | /* |
| ... | ... | @@ -1634,10 +1627,9 @@ Pega a lista de menus para incluir na guia adiciona. |
| 1634 | 1627 | Parameters: |
| 1635 | 1628 | */ |
| 1636 | 1629 | case "pegalistademenus": |
| 1637 | - $menutemas = ""; | |
| 1638 | - if (file_exists("../ms_configura.php")) | |
| 1639 | - {include_once("../ms_configura.php");} | |
| 1640 | - $cp->set_data($menutemas); | |
| 1630 | + include_once("classe_menutemas.php"); | |
| 1631 | + $m = new Menutemas($map_file,$perfil,$locsistemas,$locaplic,$menutemas,$urli3geo); | |
| 1632 | + $cp->set_data($m->pegaListaDeMenus()); | |
| 1641 | 1633 | break; |
| 1642 | 1634 | /* |
| 1643 | 1635 | Property: pegalistadegrupos |
| ... | ... | @@ -1660,11 +1652,11 @@ Include: |
| 1660 | 1652 | if (file_exists("../ms_configura.php")) |
| 1661 | 1653 | {include_once("../ms_configura.php");} |
| 1662 | 1654 | include_once("classe_menutemas.php"); |
| 1663 | - $m = new Menutemas($map_file,$perfil,$locsistemas); | |
| 1655 | + $m = new Menutemas($map_file,$perfil,$locsistemas,$locaplic,$menutemas,$urli3geo); | |
| 1664 | 1656 | if(!isset($idmenu)){$idmenu="";} |
| 1665 | 1657 | if(!isset($listasistemas)){$listasistemas="nao";} |
| 1666 | - if(!isset($listasgrupos)){$listasgrupos="sim";} | |
| 1667 | - $cp->set_data(array("grupos"=>$m->pegaListaDeGrupos($idmenu,$listasistemas,$listasgrupos,$menutemas))); | |
| 1658 | + if(!isset($listasgrupos)){$listasgrupos="nao";} | |
| 1659 | + $cp->set_data(array("grupos"=>$m->pegaListaDeGrupos($idmenu,$listasistemas,$listasgrupos))); | |
| 1668 | 1660 | break; |
| 1669 | 1661 | /* |
| 1670 | 1662 | Property: pegalistadeSubgrupos |
| ... | ... | @@ -1676,7 +1668,7 @@ Include: |
| 1676 | 1668 | */ |
| 1677 | 1669 | case "pegalistadeSubgrupos": |
| 1678 | 1670 | include_once("classe_menutemas.php"); |
| 1679 | - $m = new Menutemas($map_file,$perfil,$locsistemas); | |
| 1671 | + $m = new Menutemas($map_file,$perfil,$locsistemas,$locaplic,$menutemas,$urli3geo); | |
| 1680 | 1672 | $cp->set_data($m->pegaListaDeSubGrupos($grupo,$idmenu)); |
| 1681 | 1673 | break; |
| 1682 | 1674 | /* |
| ... | ... | @@ -1689,7 +1681,7 @@ Include: |
| 1689 | 1681 | */ |
| 1690 | 1682 | case "pegalistadetemas": |
| 1691 | 1683 | include_once("classe_menutemas.php"); |
| 1692 | - $m = new Menutemas($map_file,$perfil,$locsistemas); | |
| 1684 | + $m = new Menutemas($map_file,$perfil,$locsistemas,$locaplic,$menutemas,$urli3geo); | |
| 1693 | 1685 | $cp->set_data(array("temas"=>$m->pegaListaDeTemas($grupo,$subgrupo,$idmenu))); |
| 1694 | 1686 | break; |
| 1695 | 1687 | /* |
| ... | ... | @@ -1702,7 +1694,7 @@ Include: |
| 1702 | 1694 | */ |
| 1703 | 1695 | case "procurartemas": |
| 1704 | 1696 | include_once("classe_menutemas.php"); |
| 1705 | - $m = new Menutemas($map_file,$perfil); | |
| 1697 | + $m = new Menutemas($map_file,$perfil,$locsistemas,$locaplic,$menutemas,$urli3geo); | |
| 1706 | 1698 | $cp->set_data($m->procurartemas($procurar)); |
| 1707 | 1699 | break; |
| 1708 | 1700 | /* |
| ... | ... | @@ -1717,7 +1709,7 @@ Include: |
| 1717 | 1709 | */ |
| 1718 | 1710 | case "pegaMapas": |
| 1719 | 1711 | include_once("classe_menutemas.php"); |
| 1720 | - $m = new Menutemas($map_file,$perfil); | |
| 1712 | + $m = new Menutemas($map_file,$perfil,$locsistemas,$locaplic,$menutemas,$urli3geo); | |
| 1721 | 1713 | $cp->set_data($m->pegaListaDeMapas($locmapas)); |
| 1722 | 1714 | break; |
| 1723 | 1715 | /* | ... | ... |
classesphp/mapa_inicia.php
| ... | ... | @@ -87,6 +87,17 @@ Se $expoeMapfile = "nao", o nome do mapfile não é retornado |
| 87 | 87 | function iniciaMapa() |
| 88 | 88 | { |
| 89 | 89 | global $tituloInstituicao,$tempo,$navegadoresLocais,$locaplic,$cp,$embedLegenda,$map_file,$mapext,$w,$h,$locsistemas,$locidentifica,$R_path,$locmapas,$locmapserv,$postgis_con,$utilizacgi,$expoeMapfile; |
| 90 | + // | |
| 91 | + //pega o xml com os sietmas para identificação | |
| 92 | + // | |
| 93 | + $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
| 94 | + $protocolo = $protocolo[0]; | |
| 95 | + $protocolo = $protocolo . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT']; | |
| 96 | + $urli3geo = str_replace("/classesphp/mapa_controle.php","",$protocolo.$_SERVER["PHP_SELF"]); | |
| 97 | + if($locidentifica == "") | |
| 98 | + { | |
| 99 | + $locidentifica = $urli3geo."/admin/xmlidentifica.php"; | |
| 100 | + } | |
| 90 | 101 | if (!file_exists($locaplic)) |
| 91 | 102 | {$cp->set_data("erro. $locaplic nao existe (variavel locaplic - corrija o ms_configura.php)");return;} |
| 92 | 103 | if (!file_exists($map_file)) |
| ... | ... | @@ -127,8 +138,6 @@ function iniciaMapa() |
| 127 | 138 | } |
| 128 | 139 | } |
| 129 | 140 | } |
| 130 | - //if($utilizacgi == "sim") | |
| 131 | - //{$m->ligaDesligaTemas("","todos");} | |
| 132 | 141 | // |
| 133 | 142 | //cuidado ao mexer aqui |
| 134 | 143 | //o mapa precisa ser salvo para registrar a extensão geográfica | ... | ... |
datadownload.htm
| ... | ... | @@ -56,7 +56,7 @@ O formato "shape file" &eacute; composto por tr&ecirc;s arquivos (shp, shx e dbf |
| 56 | 56 | </body> |
| 57 | 57 | <script> |
| 58 | 58 | /* |
| 59 | -Title: Aplicativo para download de dados | |
| 59 | +Title: datadownload.htm | |
| 60 | 60 | |
| 61 | 61 | Esse aplicativo permite ao usuário fazer o download de arquivos no formato shapefile. |
| 62 | 62 | ... | ... |
kml.php
| ... | ... | @@ -28,18 +28,39 @@ Free Software Foundation, Inc., no endereço |
| 28 | 28 | |
| 29 | 29 | File: i3geo/kml.php |
| 30 | 30 | |
| 31 | +Parameter: | |
| 32 | + | |
| 33 | +perfil - perfis separados por espaços que indicam que menus serão utilizados | |
| 31 | 34 | */ |
| 32 | 35 | error_reporting(0); |
| 33 | 36 | include_once ("classesphp/carrega_ext.php"); |
| 37 | +include_once ("classesphp/classe_menutemas.php"); | |
| 34 | 38 | include_once ("ms_configura.php"); |
| 35 | 39 | echo '<?xml version="1.0" encoding="UTF-8"?>'; |
| 36 | 40 | echo "<kml xmlns='http://earth.google.com/kml/2.2'>\n"; |
| 41 | +// | |
| 42 | +//pega os endereços para compor a url de chamada do gerador de web services | |
| 43 | +//ogc.php | |
| 44 | +// | |
| 37 | 45 | $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); |
| 38 | 46 | $protocolo = $protocolo[0]; |
| 39 | 47 | $protocolo1 = strtolower($protocolo . '://'.$_SERVER['SERVER_NAME']); |
| 40 | 48 | $protocolo = $protocolo . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT']; |
| 49 | +$urli3geo = str_replace("/kml.php","",$protocolo.$_SERVER["PHP_SELF"]); | |
| 50 | +// | |
| 51 | +//pega a lista de menus que será processada | |
| 52 | +//se a variável definida em ms_configura for = "", a busca é feita | |
| 53 | +//pelo método Menutemas | |
| 54 | +// | |
| 55 | +if(!isset($perfil)){$perfil = "";} | |
| 41 | 56 | if ($menutemas == "") |
| 42 | -{$menus[] = "menutemas/menutemas.xml";} | |
| 57 | +{ | |
| 58 | + $m = new Menutemas("",$perfil,$locsistemas,$locaplic,"",$urli3geo); | |
| 59 | + foreach($m->pegaListaDeMenus() as $menu) | |
| 60 | + { | |
| 61 | + $menus[] = $menu["url"]; | |
| 62 | + } | |
| 63 | +} | |
| 43 | 64 | else |
| 44 | 65 | { |
| 45 | 66 | foreach($menutemas as $m) |
| ... | ... | @@ -49,7 +70,9 @@ else |
| 49 | 70 | } |
| 50 | 71 | if(!isset($menus)) |
| 51 | 72 | $menus = array("/opt/www/html/i3geo/menutemas/menutemas.xml"); |
| 52 | - | |
| 73 | +// | |
| 74 | +//monta o xml | |
| 75 | +// | |
| 53 | 76 | echo "<Document><name>Menu i3geo</name><open>0</open><description></description><visibility>0</visibility>\n"; |
| 54 | 77 | foreach ($menus as $menu) |
| 55 | 78 | { |
| ... | ... | @@ -59,14 +82,14 @@ foreach ($menus as $menu) |
| 59 | 82 | $nome = mb_convert_encoding($grupo->GTIPO,"auto","auto"); |
| 60 | 83 | $desc = mb_convert_encoding($grupo->DTIPO,"auto","auto"); |
| 61 | 84 | echo "<Folder>\n"; |
| 62 | - echo "<name>$nome</name>\n"; | |
| 63 | - echo "<description>$desc</description>\n"; | |
| 85 | + echo "<name>".str_replace("&","&",$nome)."</name>\n"; | |
| 86 | + echo "<description>".str_replace("&","&",$desc)."</description>\n"; | |
| 64 | 87 | echo "<open>0</open><visibility>0</visibility>\n"; |
| 65 | 88 | foreach($grupo->SGRUPO as $sgrupo) |
| 66 | 89 | { |
| 67 | 90 | echo "<Folder>\n"; |
| 68 | 91 | $nome = mb_convert_encoding($sgrupo->SDTIPO,"auto","auto"); |
| 69 | - echo "<name>$nome</name>\n"; | |
| 92 | + echo "<name>".str_replace("&","&",$nome)."</name>\n"; | |
| 70 | 93 | echo "<description></description>\n"; |
| 71 | 94 | echo "<open>0</open><visibility>0</visibility>\n"; |
| 72 | 95 | foreach($sgrupo->TEMA as $tema) |
| ... | ... | @@ -86,9 +109,9 @@ foreach ($menus as $menu) |
| 86 | 109 | if(strtolower($kml) != "nao" && strtolower($tipoa) != "wms") |
| 87 | 110 | { |
| 88 | 111 | echo "<GroundOverlay>\n"; |
| 89 | - echo "<name>$nome</name>\n"; | |
| 90 | - $fonte = "<a href='$fonte' >Fonte </a>"; | |
| 91 | - $legenda = "<a href='$protocolo1/i3geo/ogc.php?tema=$id&layer=$id&request=getlegendgraphic&service=wms&format=image/jpeg' >Legenda </a>"; | |
| 112 | + echo "<name>".str_replace("&","&",$nome)."</name>\n"; | |
| 113 | + $fonte = "<a href='$fonte' >Fonte </a>"; | |
| 114 | + $legenda = "<a href='$urli3geo/ogc.php?tema=$id&layer=$id&request=getlegendgraphic&service=wms&format=image/jpeg' >Legenda </a>"; | |
| 92 | 115 | echo "<description><![CDATA[".$fonte.$legenda.$desc."]]></description>\n"; |
| 93 | 116 | echo "<visibility>0</visibility>\n"; |
| 94 | 117 | echo "<Icon>\n"; | ... | ... |
menutemas/admin.db
No preview for this file type
mobile/adicionatema.php
| ... | ... | @@ -71,9 +71,15 @@ h1 |
| 71 | 71 | </form> |
| 72 | 72 | <input type='button' value='retorna' style='cursor:pointer;' onclick='retorno()' /><br> |
| 73 | 73 | <?php |
| 74 | +// | |
| 75 | +//identifica qual a url do i3geo | |
| 76 | +// | |
| 77 | +$protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
| 78 | +$protocolo = $protocolo[0] . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT']; | |
| 79 | +$urli3geo = str_replace("/mobile/adicionatema.php","",$protocolo.$_SERVER["PHP_SELF"]); | |
| 74 | 80 | if ($tipo == "listatemas") |
| 75 | 81 | { |
| 76 | - $m = new Menutemas($tmpfname,"","nao"); | |
| 82 | + $m = new Menutemas("","",$locsistemas,$locaplic,"",$urli3geo); | |
| 77 | 83 | $r = $m->pegaListaDeTemas($grupo,$subgrupo,""); |
| 78 | 84 | echo "<h1>Escolha o tema:</h1>"; |
| 79 | 85 | foreach($r as $l) |
| ... | ... | @@ -92,8 +98,8 @@ if($tipo == "adicionatema") |
| 92 | 98 | } |
| 93 | 99 | if ($tipo == "adicionar") |
| 94 | 100 | { |
| 95 | - $m = new Menutemas($tmpfname,"",$locsistemas); | |
| 96 | - $r = $m->pegaListaDeGrupos("","nao"); | |
| 101 | + $m = new Menutemas("","",$locsistemas,$locaplic,$menutemas,$urli3geo); | |
| 102 | + $r = $m->pegaListaDeGrupos("","","sim"); | |
| 97 | 103 | echo "<h1>Escolha o sub-grupo:</h1>"; |
| 98 | 104 | for($rid=0;$rid<count($r);$rid++) |
| 99 | 105 | { | ... | ... |
ms_configura.default
| ... | ... | @@ -43,7 +43,7 @@ Free Software Foundation, Inc., no endereço |
| 43 | 43 | |
| 44 | 44 | Mensagem de inicialização mostrada pelo programa ms_criamapa.php |
| 45 | 45 | */ |
| 46 | -$mensagemInicia = "I3Geo versão 4.0"; | |
| 46 | +$mensagemInicia = "I3Geo versão 4.1"; | |
| 47 | 47 | /* |
| 48 | 48 | Variable: $tituloInstituicao |
| 49 | 49 | |
| ... | ... | @@ -136,7 +136,7 @@ if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) |
| 136 | 136 | |
| 137 | 137 | Veja a documentação específica do arquivo sistemas.xml para maiores detalhes. |
| 138 | 138 | */ |
| 139 | - $locsistemas = "http://localhost/i3geo/menutemas/sistemas.xml"; | |
| 139 | + $locsistemas = "../menutemas/sistemas.xml"; | |
| 140 | 140 | /* |
| 141 | 141 | Variable: $locidentifica |
| 142 | 142 | |
| ... | ... | @@ -162,7 +162,7 @@ if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) |
| 162 | 162 | |
| 163 | 163 | Veja a documentação específica do arquivo mapas.xml para maiores detalhes. |
| 164 | 164 | */ |
| 165 | - $locmapas = "http://localhost/i3geo/menutemas/mapas.xml"; | |
| 165 | + $locmapas = "../menutemas/mapas.xml"; | |
| 166 | 166 | /* |
| 167 | 167 | Variable: $R_path |
| 168 | 168 | |
| ... | ... | @@ -222,11 +222,11 @@ if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) |
| 222 | 222 | array("idmenu"=>2,"arquivo"=>"http://localhost/i3geo/menutemas/menutemas.xml","status"=>"aberto") |
| 223 | 223 | ); |
| 224 | 224 | |
| 225 | - Para usar o menu default, utilize apenas $menutemas = ""; | |
| 225 | + Para usar o menu default, utilize apenas $menutemas = "";, nesse caso, os menus serão obtidos do banco de dados de administração. | |
| 226 | 226 | */ |
| 227 | 227 | $menutemas = array( |
| 228 | - array("idmenu"=>"GEOPR","arquivo"=>"C:/ms4w/Apache/htdocs/i3geo/menutemas/geopr.xml","status"=>"fechado"), | |
| 229 | - array("idmenu"=>"i3Geo","arquivo"=>"C:/ms4w/Apache/htdocs/i3geo/menutemas/menutemas.xml","status"=>"aberto") | |
| 228 | + array("idmenu"=>"GEOPR","arquivo"=>"http://localhost/i3geo/admin/xmlmenutemas.php?id_menu=2","status"=>"fechado"), | |
| 229 | + array("idmenu"=>"i3Geo","arquivo"=>"http://localhost/i3geo/admin/xmlmenutemas.php?id_menu=1","status"=>"aberto") | |
| 230 | 230 | ); |
| 231 | 231 | /* |
| 232 | 232 | Variable: $utilizacgi |
| ... | ... | @@ -277,7 +277,7 @@ if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) |
| 277 | 277 | O programa PHP que estabelece a conexão deve retornar objetos com nomes padronizados. Veja o arquivo i3geo/admin/conexao.php para maiores detalhes. |
| 278 | 278 | |
| 279 | 279 | */ |
| 280 | - $conexaoadmin = ""; | |
| 280 | + $conexaoadmin = ""; //$locaplic."/admin/conexaomma.php"; | |
| 281 | 281 | } |
| 282 | 282 | else //se for linux |
| 283 | 283 | { |
| ... | ... | @@ -301,6 +301,6 @@ else //se for linux |
| 301 | 301 | $utilizacgi = "nao"; |
| 302 | 302 | $atlasxml = "../menutemas/atlas.xml"; |
| 303 | 303 | $expoeMapfile = "sim"; |
| 304 | - $conexaoadmin = $locaplic."/admin/conexao.php"; | |
| 304 | + $conexaoadmin = "";//$locaplic."/admin/conexaomma.php"; | |
| 305 | 305 | } |
| 306 | 306 | ?> | ... | ... |
ms_configura.php
| ... | ... | @@ -136,7 +136,7 @@ if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) |
| 136 | 136 | |
| 137 | 137 | Veja a documentação específica do arquivo sistemas.xml para maiores detalhes. |
| 138 | 138 | */ |
| 139 | - $locsistemas = "../menutemas/sistemas.xml"; | |
| 139 | + $locsistemas = $locaplic."/menutemas/sistemas.xml"; | |
| 140 | 140 | /* |
| 141 | 141 | Variable: $locidentifica |
| 142 | 142 | |
| ... | ... | @@ -149,8 +149,11 @@ if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) |
| 149 | 149 | Por meio dessa lista pode-se disparar programas PHP que executam operações especiais para a obtenção de dados com base em um par de coordenadas xy. |
| 150 | 150 | |
| 151 | 151 | Veja a documentação específica do arquivo identifica.xml para maiores detalhes. |
| 152 | + | |
| 153 | + Para usar as funções default, utilize apenas $menutemas = ""; nesse caso, as funções serão obtidas do banco de dados de administração. | |
| 154 | + | |
| 152 | 155 | */ |
| 153 | - $locidentifica = "../../menutemas/identifica.xml"; | |
| 156 | + $locidentifica = ""; | |
| 154 | 157 | /* |
| 155 | 158 | Variable: $locmapas |
| 156 | 159 | |
| ... | ... | @@ -218,16 +221,13 @@ if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) |
| 218 | 221 | Example: |
| 219 | 222 | |
| 220 | 223 | $menutemas = array( |
| 221 | - array("idmenu"=>1,"arquivo"=>"http://10.1.1.34/i3geo/menutemas/menutemas.xml","status"=>"fechado"), | |
| 222 | - array("idmenu"=>2,"arquivo"=>"http://localhost/i3geo/menutemas/menutemas.xml","status"=>"aberto") | |
| 224 | + array("idmenu"=>"GEOPR","arquivo"=>"http://localhost/i3geo/admin/xmlmenutemas.php?id_menu=2","status"=>"fechado"), | |
| 225 | + array("idmenu"=>"i3Geo","arquivo"=>"http://localhost/i3geo/admin/xmlmenutemas.php?id_menu=1","status"=>"aberto") | |
| 223 | 226 | ); |
| 224 | 227 | |
| 225 | 228 | Para usar o menu default, utilize apenas $menutemas = "";, nesse caso, os menus serão obtidos do banco de dados de administração. |
| 226 | 229 | */ |
| 227 | - $menutemas = array( | |
| 228 | - array("idmenu"=>"GEOPR","arquivo"=>"http://localhost/i3geo/admin/xmlmenutemas.php?id_menu=2","status"=>"fechado"), | |
| 229 | - array("idmenu"=>"i3Geo","arquivo"=>"http://localhost/i3geo/admin/xmlmenutemas.php?id_menu=1","status"=>"aberto") | |
| 230 | - ); | |
| 230 | + $menutemas = ""; | |
| 231 | 231 | /* |
| 232 | 232 | Variable: $utilizacgi |
| 233 | 233 | |
| ... | ... | @@ -248,9 +248,9 @@ if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) |
| 248 | 248 | |
| 249 | 249 | Indica o nome do arquivo xml que será utilizado na interface Atlas do i3geo. |
| 250 | 250 | |
| 251 | - Pode ser utilizado o caminho relativo, tendo como base i3geo/diretorio | |
| 251 | + Para usar o menu default, utilize apenas $atlasxml = "";, nesse caso, os Atlas serão obtidos do banco de dados de administração. | |
| 252 | 252 | */ |
| 253 | - $atlasxml = "../menutemas/atlas.xml"; | |
| 253 | + $atlasxml = ""; | |
| 254 | 254 | /* |
| 255 | 255 | Variable: $expoeMapfile |
| 256 | 256 | |
| ... | ... | @@ -264,7 +264,7 @@ if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) |
| 264 | 264 | |
| 265 | 265 | Arquivo PHP que define a string de conexão (PDO) com o banco de dados administrativo. |
| 266 | 266 | |
| 267 | - Esse arquivo é incluído no programa i3geo/admin/conexao.php | |
| 267 | + Esse arquivo é incluído no programa i3geo/admin/conexao.php e deve ser definido com o caminho completo. | |
| 268 | 268 | |
| 269 | 269 | O banco de dados administrativo é utilizado para definir coisas como a árvore de temas, árvore de mapas, etc. |
| 270 | 270 | ... | ... |
ogc.php
| ... | ... | @@ -43,6 +43,8 @@ intervalo - valor inicial e final com o número de temas que serão mostrados no s |
| 43 | 43 | |
| 44 | 44 | legenda - mostra a legenda no corpo do mapa sim|nao |
| 45 | 45 | |
| 46 | +perfil - perfil utilizado para escolher os menus | |
| 47 | + | |
| 46 | 48 | About: Exemplos |
| 47 | 49 | |
| 48 | 50 | ogc.php?lista=temas |
| ... | ... | @@ -65,41 +67,63 @@ if (!function_exists('ms_GetVersion')) |
| 65 | 67 | require_once("classesphp/carrega_ext.php"); |
| 66 | 68 | include("ms_configura.php"); |
| 67 | 69 | include("classesphp/pega_variaveis.php"); |
| 70 | +include("classesphp/classe_menutemas.php"); | |
| 71 | +// | |
| 72 | +//pega os endereços para compor a url de chamada do gerador de web services | |
| 73 | +//ogc.php | |
| 74 | +// | |
| 75 | +$protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
| 76 | +$protocolo = $protocolo[0]; | |
| 77 | +$protocolo1 = strtolower($protocolo . '://'.$_SERVER['SERVER_NAME']); | |
| 78 | +$protocolo = $protocolo . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT']; | |
| 79 | +$urli3geo = str_replace("/ogc.php","",$protocolo.$_SERVER["PHP_SELF"]); | |
| 80 | +// | |
| 81 | +//pega a lista de menus que será processada | |
| 82 | +//se a variável definida em ms_configura for = "", a busca é feita | |
| 83 | +//pelo método Menutemas | |
| 84 | +// | |
| 85 | +if(!isset($perfil)){$perfil = "";} | |
| 86 | +if ($menutemas == "") | |
| 87 | +{ | |
| 88 | + $m = new Menutemas("",$perfil,$locsistemas,$locaplic,"",$urli3geo); | |
| 89 | + foreach($m->pegaListaDeMenus() as $menu) | |
| 90 | + { | |
| 91 | + $menus[] = $menu["url"]; | |
| 92 | + } | |
| 93 | +} | |
| 94 | +else | |
| 95 | +{ | |
| 96 | + foreach($menutemas as $m) | |
| 97 | + { | |
| 98 | + $menus[] = $m["arquivo"]; | |
| 99 | + } | |
| 100 | +} | |
| 101 | +if(!isset($menus)) | |
| 102 | +$menus = array("/opt/www/html/i3geo/menutemas/menutemas.xml"); | |
| 68 | 103 | //pega a lista de grupos |
| 69 | 104 | if ($lista == "temas") |
| 70 | 105 | { |
| 71 | - $xml = simplexml_load_file("menutemas/menutemas.xml"); | |
| 72 | 106 | echo "<b>Lista de temas por grupos e subgrupos (os códigos dos temas estão em vermelho)</b><br><br>"; |
| 73 | - foreach($xml->GRUPO as $grupo) | |
| 107 | + foreach ($menus as $menu) | |
| 74 | 108 | { |
| 75 | - echo "<br><b>".mb_convert_encoding($grupo->GTIPO,"HTML-ENTITIES","auto")."</b><br>"; | |
| 76 | - foreach($grupo->SGRUPO as $sgrupo) | |
| 109 | + $xml = simplexml_load_file($menu); | |
| 110 | + foreach($xml->GRUPO as $grupo) | |
| 77 | 111 | { |
| 78 | - echo " ".mb_convert_encoding($sgrupo->SDTIPO,"HTML-ENTITIES","auto")."<br>"; | |
| 79 | - //echo 'kml_tema,ogc_tema,download_tema,tags_tema,tipoa_tema,link_tema,desc_tema,nome_tema,codigo_tema<br>'; | |
| 80 | - | |
| 81 | - foreach($sgrupo->TEMA as $tema) | |
| 112 | + echo "<br><b>".mb_convert_encoding($grupo->GTIPO,"HTML-ENTITIES","auto")."</b><br>"; | |
| 113 | + foreach($grupo->SGRUPO as $sgrupo) | |
| 82 | 114 | { |
| 83 | - if (mb_convert_encoding($tema->OGC,"HTML-ENTITIES","auto") == "") | |
| 115 | + echo " ".mb_convert_encoding($sgrupo->SDTIPO,"HTML-ENTITIES","auto")."<br>"; | |
| 116 | + foreach($sgrupo->TEMA as $tema) | |
| 84 | 117 | { |
| 85 | - | |
| 86 | - echo " "; | |
| 87 | - echo "<span style=color:red >".mb_convert_encoding($tema->TID,"HTML-ENTITIES","auto")."</span>"; | |
| 88 | - echo " - ".mb_convert_encoding($tema->TNOME,"HTML-ENTITIES","auto")." - "; | |
| 89 | - if (mb_convert_encoding($tema->TLINK,"HTML-ENTITIES","auto") != "") | |
| 90 | - {echo "<a href='".mb_convert_encoding($tema->TLINK,"HTML-ENTITIES","auto")."' >fonte</a>";} | |
| 91 | - echo "<br>"; | |
| 92 | - /* | |
| 93 | - echo '"'.($tema->KML).'",'; | |
| 94 | - echo '"'.$tema->OGC.'",'; | |
| 95 | - echo '"'.$tema->DOWNLOAD.'",'; | |
| 96 | - echo '"'.mb_convert_encoding($tema->TAGS,"HTML-ENTITIES","auto").'",'; | |
| 97 | - echo '"'.$tema->TIPOA.'",'; | |
| 98 | - echo '"'.$tema->TLINK.'",'; | |
| 99 | - echo '"'.mb_convert_encoding($tema->TDESC,"HTML-ENTITIES","auto").'",'; | |
| 100 | - echo '"'.mb_convert_encoding($tema->TNOME,"HTML-ENTITIES","auto").'",'; | |
| 101 | - echo '"'.$tema->TID.'"<br>'; | |
| 102 | - */ | |
| 118 | + if (mb_convert_encoding($tema->OGC,"HTML-ENTITIES","auto") == "") | |
| 119 | + { | |
| 120 | + echo " "; | |
| 121 | + echo "<span style=color:red >".mb_convert_encoding($tema->TID,"HTML-ENTITIES","auto")."</span>"; | |
| 122 | + echo " - ".mb_convert_encoding($tema->TNOME,"HTML-ENTITIES","auto")." - "; | |
| 123 | + if (mb_convert_encoding($tema->TLINK,"HTML-ENTITIES","auto") != "") | |
| 124 | + {echo "<a href='".mb_convert_encoding($tema->TLINK,"HTML-ENTITIES","auto")."' >fonte</a>";} | |
| 125 | + echo "<br>"; | |
| 126 | + } | |
| 103 | 127 | } |
| 104 | 128 | } |
| 105 | 129 | } |
| ... | ... | @@ -205,51 +229,60 @@ else |
| 205 | 229 | { |
| 206 | 230 | $conta = 0; |
| 207 | 231 | $int = explode(",",$intervalo); |
| 208 | - $xml = simplexml_load_file("menutemas/menutemas.xml"); | |
| 209 | - foreach($xml->GRUPO as $grupo) | |
| 210 | - { | |
| 211 | - foreach($grupo->SGRUPO as $sgrupo) | |
| 232 | + foreach ($menus as $menu) | |
| 233 | + { | |
| 234 | + $xml = simplexml_load_file($menu); | |
| 235 | + foreach($xml->GRUPO as $grupo) | |
| 212 | 236 | { |
| 213 | - foreach($sgrupo->TEMA as $tm) | |
| 237 | + foreach($grupo->SGRUPO as $sgrupo) | |
| 214 | 238 | { |
| 215 | - if (iXml($tm->OGC,"OGC") == "") | |
| 239 | + foreach($sgrupo->TEMA as $tm) | |
| 216 | 240 | { |
| 217 | - if (@ms_newMapobj("temas/".(mb_convert_encoding($tm->TID,"HTML-ENTITIES","auto")).".map")) | |
| 241 | + if (mb_convert_encoding($tm->OGC,"HTML-ENTITIES","auto") == "") | |
| 218 | 242 | { |
| 219 | - $nmap = ms_newMapobj("temas/".(mb_convert_encoding($tm->TID,"HTML-ENTITIES","auto")).".map"); | |
| 220 | - $ts = $nmap->getalllayernames(); | |
| 221 | - if (count($ts) == 1) | |
| 222 | - { | |
| 223 | - foreach ($ts as $t) | |
| 224 | - { | |
| 225 | - $conta++; | |
| 226 | - if (($conta >= $int[0]) && ($conta <= $int[1])) | |
| 243 | + $codigoTema = mb_convert_encoding($tm->TID,"HTML-ENTITIES","auto"); | |
| 244 | + if (@ms_newMapobj("temas/".$codigoTema.".map")) | |
| 245 | + { | |
| 246 | + $nmap = ms_newMapobj("temas/".$codigoTema.".map"); | |
| 247 | + $ts = $nmap->getalllayernames(); | |
| 248 | + if (count($ts) == 1) | |
| 249 | + { | |
| 250 | + foreach ($ts as $t) | |
| 227 | 251 | { |
| 228 | - $l = $nmap->getlayerbyname($t); | |
| 229 | - $l->setmetadata("ows_title",pegaNome($l));//mb_convert_encoding(pegaNome($l),"HTML-ENTITIES","auto")); | |
| 230 | - $l->setmetadata("ows_srs","EPSG:4291 EPSG:4326"); | |
| 231 | - $l->set("status",MS_OFF); | |
| 232 | - $l->setmetadata("gml_include_items","all"); | |
| 233 | - $l->set("dump",MS_TRUE); | |
| 234 | - $l->setmetadata("WMS_INCLUDE_ITEMS","all"); | |
| 235 | - $l->setmetadata("WFS_INCLUDE_ITEMS","all"); | |
| 236 | - $l->setmetadata("ows_metadataurl_href",mb_convert_encoding($tm->TLINK,"HTML-ENTITIES","auto")); | |
| 237 | - $l->setmetadata("ows_metadataurl_type","TC211"); | |
| 238 | - $l->setmetadata("ows_metadataurl_format","text/html"); | |
| 239 | - ms_newLayerObj($oMap, $l); | |
| 252 | + if ($oMap->getlayerbyname($t) == "") | |
| 253 | + { | |
| 254 | + $conta++; | |
| 255 | + if (($conta >= $int[0]) && ($conta <= $int[1])) | |
| 256 | + { | |
| 257 | + $l = $nmap->getlayerbyname($t); | |
| 258 | + $l->setmetadata("ows_title",pegaNome($l)); | |
| 259 | + $l->setmetadata("ows_srs","EPSG:4291 EPSG:4326"); | |
| 260 | + $l->set("status",MS_OFF); | |
| 261 | + $l->setmetadata("gml_include_items","all"); | |
| 262 | + $l->set("dump",MS_TRUE); | |
| 263 | + $l->setmetadata("WMS_INCLUDE_ITEMS","all"); | |
| 264 | + $l->setmetadata("WFS_INCLUDE_ITEMS","all"); | |
| 265 | + $l->setmetadata("ows_metadataurl_href",mb_convert_encoding($tm->TLINK,"HTML-ENTITIES","auto")); | |
| 266 | + $l->setmetadata("ows_metadataurl_type","TC211"); | |
| 267 | + $l->setmetadata("ows_metadataurl_format","text/html"); | |
| 268 | + ms_newLayerObj($oMap, $l); | |
| 269 | + } | |
| 270 | + } | |
| 240 | 271 | } |
| 241 | 272 | } |
| 242 | 273 | } |
| 243 | 274 | } |
| 244 | 275 | } |
| 245 | - } | |
| 246 | - } | |
| 276 | + } | |
| 277 | + } | |
| 247 | 278 | } |
| 248 | 279 | } |
| 280 | + | |
| 249 | 281 | ms_ioinstallstdouttobuffer(); |
| 250 | 282 | $oMap->owsdispatch($req); |
| 251 | 283 | $contenttype = ms_iostripstdoutbuffercontenttype(); |
| 252 | 284 | header("Content-type: $contenttype"); |
| 253 | 285 | ms_iogetStdoutBufferBytes(); |
| 254 | 286 | ms_ioresethandlers(); |
| 287 | + | |
| 255 | 288 | ?> |
| 256 | 289 | \ No newline at end of file | ... | ... |