Commit 0390af3623de793273cd72f5cd3d36d27c418536

Authored by Edmar Moretti
1 parent 80958f40

Adaptações para funcionamento com o sistema de administração

classesphp/atlas_controle.php
@@ -114,6 +114,14 @@ if ($map_file != "") @@ -114,6 +114,14 @@ if ($map_file != "")
114 substituiCon($map_file,$postgis_mapa); 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 //faz a busca da função que deve ser executada 125 //faz a busca da função que deve ser executada
118 // 126 //
119 switch ($funcao) 127 switch ($funcao)
classesphp/classe_atlas.php
@@ -33,11 +33,6 @@ Class: Atlas @@ -33,11 +33,6 @@ Class: Atlas
33 */ 33 */
34 class Atlas 34 class Atlas
35 { 35 {
36 - /*  
37 - Variable: $atlas  
38 -  
39 - Objeto Atlas  
40 - */  
41 public $atlas; 36 public $atlas;
42 /* 37 /*
43 Function: __construct 38 Function: __construct
@@ -50,9 +45,9 @@ $atlasxml - Endereço do arquivo xml com as definições do Atlas. @@ -50,9 +45,9 @@ $atlasxml - Endereço do arquivo xml com as definições do Atlas.
50 */ 45 */
51 function __construct($atlasxml) 46 function __construct($atlasxml)
52 { 47 {
53 -  
54 - $this->arquivo = $atlasxml; 48 + error_reporting(0);
55 $this->xml = simplexml_load_file($atlasxml); 49 $this->xml = simplexml_load_file($atlasxml);
  50 + $this->arquivo = $atlasxml;
56 } 51 }
57 /* 52 /*
58 Method: pegaListaDeAtlas 53 Method: pegaListaDeAtlas
@@ -243,7 +238,5 @@ locaplic - localização do i3geo no servidor @@ -243,7 +238,5 @@ locaplic - localização do i3geo no servidor
243 if($h == ""){$h = 300;} 238 if($h == ""){$h = 300;}
244 return (array("link"=>$link,"w"=>$w,"h"=>$h)); 239 return (array("link"=>$link,"w"=>$w,"h"=>$h));
245 } 240 }
246 -  
247 } 241 }
248 -  
249 ?> 242 ?>
250 \ No newline at end of file 243 \ No newline at end of file
classesphp/classe_menutemas.php
@@ -35,49 +35,35 @@ Class: Menutemas @@ -35,49 +35,35 @@ Class: Menutemas
35 */ 35 */
36 class Menutemas 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 function: __construct 39 function: __construct
70 40
71 Cria um objeto Menutemas 41 Cria um objeto Menutemas
72 42
73 parameters: 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 $this->perfil = explode(",",$perfil); 60 $this->perfil = explode(",",$perfil);
  61 + if(count($this->perfil) == 0)
  62 + $this->perfil = explode(" ",$perfil);
80 $this->xmlsistemas = ""; 63 $this->xmlsistemas = "";
  64 + $this->locaplic = $locaplic;
  65 + $this->menutemas = $menutemas;
  66 + $this->urli3geo = $urli3geo;
81 if ($locsistemas != "") 67 if ($locsistemas != "")
82 $this->xmlsistemas = simplexml_load_file($locsistemas); 68 $this->xmlsistemas = simplexml_load_file($locsistemas);
83 if (($map_file != "") && (file_exists($map_file))) 69 if (($map_file != "") && (file_exists($map_file)))
@@ -93,6 +79,53 @@ $map_file - string $map_file Endereço do mapfile no servidor. @@ -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 function: pegaListaDeMapas 129 function: pegaListaDeMapas
97 130
98 Le o arquivo xml com a lista de mapas existente no xml $locmapas. 131 Le o arquivo xml com a lista de mapas existente no xml $locmapas.
@@ -152,42 +185,36 @@ return: @@ -152,42 +185,36 @@ return:
152 185
153 array 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 $this->xml = ""; 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 $sistemas = array(); 211 $sistemas = array();
187 $grupos = array(); 212 $grupos = array();
188 $temasraiz = array(); 213 $temasraiz = array();
  214 + //
189 //pega os grupos 215 //pega os grupos
190 //verifica se existem temas na raiz do menu 216 //verifica se existem temas na raiz do menu
  217 + //
191 foreach($this->xml->TEMA as $temar) 218 foreach($this->xml->TEMA as $temar)
192 { 219 {
193 $down = "nao"; 220 $down = "nao";
@@ -329,29 +356,14 @@ array @@ -329,29 +356,14 @@ array
329 function pegaListaDeSubGrupos($codgrupo,$idmenu="") 356 function pegaListaDeSubGrupos($codgrupo,$idmenu="")
330 { 357 {
331 $this->xml = ""; 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 $conta = 0; 368 $conta = 0;
357 $subgrupos[] = array(); 369 $subgrupos[] = array();
@@ -433,22 +445,14 @@ array @@ -433,22 +445,14 @@ array
433 function pegaListaDeTemas($grupo,$subgrupo,$idmenu) 445 function pegaListaDeTemas($grupo,$subgrupo,$idmenu)
434 { 446 {
435 $this->xml = ""; 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 $contagrupo = 0; 457 $contagrupo = 0;
454 $temas = array(); 458 $temas = array();
@@ -532,26 +536,18 @@ $procurar - String que será procurada. @@ -532,26 +536,18 @@ $procurar - String que será procurada.
532 function procurartemas($procurar) 536 function procurartemas($procurar)
533 { 537 {
534 $this->xml = array(); 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 $resultado = array(); 545 $resultado = array();
552 - $listadetemas = array(); 546 + $texto = array();
553 foreach ($this->xml as $xml) 547 foreach ($this->xml as $xml)
554 { 548 {
  549 + $listadetemas = array();
  550 + $subgrupo = array();
555 foreach($xml->GRUPO as $grupo) 551 foreach($xml->GRUPO as $grupo)
556 { 552 {
557 $incluigrupo = TRUE; 553 $incluigrupo = TRUE;
@@ -595,23 +591,27 @@ $procurar - String que será procurada. @@ -595,23 +591,27 @@ $procurar - String que será procurada.
595 {$down = "sim";} 591 {$down = "sim";}
596 $link = ixml($tema,"TLINK"); 592 $link = ixml($tema,"TLINK");
597 $tid = ixml($tema,"TID"); 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 $pp1 = $this->removeAcentos($pp1); 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,8 +619,9 @@ $procurar - String que será procurada.
619 { 619 {
620 $subgrupo[] = array("subgrupo"=>(ixml($sgrupo,"SDTIPO")),"temas"=>$listadetemas); 620 $subgrupo[] = array("subgrupo"=>(ixml($sgrupo,"SDTIPO")),"temas"=>$listadetemas);
621 } 621 }
  622 + $listadetemas = array();
622 } 623 }
623 - $listadetemas = array(); 624 +
624 } 625 }
625 if (count($subgrupo) > 0) 626 if (count($subgrupo) > 0)
626 { 627 {
@@ -659,21 +660,13 @@ nrss - (opcional) número de registros no rss que serão considerados @@ -659,21 +660,13 @@ nrss - (opcional) número de registros no rss que serão considerados
659 } 660 }
660 } 661 }
661 $this->xml = array(); 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 else 668 else
676 - {$this->xml[] = simplexml_load_file("menutemas/menutemas.xml");} 669 + $this->xml[] = simplexml_load_file($m["arquivo"]);
677 } 670 }
678 $resultado = array(); 671 $resultado = array();
679 $noticias = array(); 672 $noticias = array();
@@ -722,7 +715,7 @@ nrss - (opcional) número de registros no rss que serão considerados @@ -722,7 +715,7 @@ nrss - (opcional) número de registros no rss que serão considerados
722 { 715 {
723 if($tag != "") 716 if($tag != "")
724 { 717 {
725 - if(!$resultado[$tag]) 718 + if(!isset($resultado[$tag]))
726 { 719 {
727 $resultado[$tag] = array($tid); 720 $resultado[$tag] = array($tid);
728 //busca noticias 721 //busca noticias
@@ -735,7 +728,7 @@ nrss - (opcional) número de registros no rss que serão considerados @@ -735,7 +728,7 @@ nrss - (opcional) número de registros no rss que serão considerados
735 if(in_array(strtolower($t),$titulo)) 728 if(in_array(strtolower($t),$titulo))
736 { 729 {
737 //echo $noticia["link"]."<br>"; 730 //echo $noticia["link"]."<br>";
738 - if(!$noticias[$tag]) 731 + if(!isset($noticias[$tag]))
739 $noticias[$tag] = array("titulo"=>$noticia["titulo"],"link"=>$noticia["link"]); 732 $noticias[$tag] = array("titulo"=>$noticia["titulo"],"link"=>$noticia["link"]);
740 else 733 else
741 $noticias[$tag] = array_merge($noticias[$tag],array("titulo"=>$noticia["titulo"],"link"=>$noticia["link"])); 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,7 +753,7 @@ nrss - (opcional) número de registros no rss que serão considerados
760 foreach(array_keys($resultado) as $k) 753 foreach(array_keys($resultado) as $k)
761 { 754 {
762 755
763 - if($noticias[$k]) 756 + if(isset($noticias[$k]))
764 {$not = array($noticias[$k]);} 757 {$not = array($noticias[$k]);}
765 else 758 else
766 {$not = array();} 759 {$not = array();}
@@ -804,6 +797,5 @@ nrss - (opcional) número de registros no rss que serão considerados @@ -804,6 +797,5 @@ nrss - (opcional) número de registros no rss que serão considerados
804 //Return FALSE if none of the values from $needle are found in $haystack 797 //Return FALSE if none of the values from $needle are found in $haystack
805 return FALSE; 798 return FALSE;
806 } 799 }
807 -  
808 } 800 }
809 ?> 801 ?>
810 \ No newline at end of file 802 \ No newline at end of file
classesphp/mapa_controle.php
@@ -125,19 +125,6 @@ include_once(&quot;../pacotes/cpaint/cpaint2.inc.php&quot;); @@ -125,19 +125,6 @@ include_once(&quot;../pacotes/cpaint/cpaint2.inc.php&quot;);
125 // 125 //
126 $cp = new cpaint(); 126 $cp = new cpaint();
127 $cp->set_data(""); 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 if ($funcao == "criaMapa") 128 if ($funcao == "criaMapa")
142 { 129 {
143 session_destroy(); 130 session_destroy();
@@ -145,7 +132,7 @@ if ($funcao == &quot;criaMapa&quot;) @@ -145,7 +132,7 @@ if ($funcao == &quot;criaMapa&quot;)
145 //primeiro é necessário carregar o ms_configura.php para pegar a variável $locaplic 132 //primeiro é necessário carregar o ms_configura.php para pegar a variável $locaplic
146 // 133 //
147 $d = ""; 134 $d = "";
148 - if(!file_exists($d."ms_configura.php")) 135 + if(!file_exists("ms_configura.php"))
149 $d = "../"; 136 $d = "../";
150 include_once($d."ms_configura.php"); 137 include_once($d."ms_configura.php");
151 // 138 //
@@ -169,6 +156,12 @@ include_once(&quot;classe_vermultilayer.php&quot;); @@ -169,6 +156,12 @@ include_once(&quot;classe_vermultilayer.php&quot;);
169 include_once("classe_estatistica.php"); 156 include_once("classe_estatistica.php");
170 include_once("funcoes_gerais.php"); 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 //substitui a string de conexão 165 //substitui a string de conexão
173 // 166 //
174 substituiCon($map_file,$postgis_mapa); 167 substituiCon($map_file,$postgis_mapa);
@@ -1623,7 +1616,7 @@ Pega a lista de tags registrados nos menus de temas. @@ -1623,7 +1616,7 @@ Pega a lista de tags registrados nos menus de temas.
1623 */ 1616 */
1624 case "listaTags": 1617 case "listaTags":
1625 include_once("classe_menutemas.php"); 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 $cp->set_data($m->listatags($rss,$nrss)); 1620 $cp->set_data($m->listatags($rss,$nrss));
1628 break; 1621 break;
1629 /* 1622 /*
@@ -1634,10 +1627,9 @@ Pega a lista de menus para incluir na guia adiciona. @@ -1634,10 +1627,9 @@ Pega a lista de menus para incluir na guia adiciona.
1634 Parameters: 1627 Parameters:
1635 */ 1628 */
1636 case "pegalistademenus": 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 break; 1633 break;
1642 /* 1634 /*
1643 Property: pegalistadegrupos 1635 Property: pegalistadegrupos
@@ -1660,11 +1652,11 @@ Include: @@ -1660,11 +1652,11 @@ Include:
1660 if (file_exists("../ms_configura.php")) 1652 if (file_exists("../ms_configura.php"))
1661 {include_once("../ms_configura.php");} 1653 {include_once("../ms_configura.php");}
1662 include_once("classe_menutemas.php"); 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 if(!isset($idmenu)){$idmenu="";} 1656 if(!isset($idmenu)){$idmenu="";}
1665 if(!isset($listasistemas)){$listasistemas="nao";} 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 break; 1660 break;
1669 /* 1661 /*
1670 Property: pegalistadeSubgrupos 1662 Property: pegalistadeSubgrupos
@@ -1676,7 +1668,7 @@ Include: @@ -1676,7 +1668,7 @@ Include:
1676 */ 1668 */
1677 case "pegalistadeSubgrupos": 1669 case "pegalistadeSubgrupos":
1678 include_once("classe_menutemas.php"); 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 $cp->set_data($m->pegaListaDeSubGrupos($grupo,$idmenu)); 1672 $cp->set_data($m->pegaListaDeSubGrupos($grupo,$idmenu));
1681 break; 1673 break;
1682 /* 1674 /*
@@ -1689,7 +1681,7 @@ Include: @@ -1689,7 +1681,7 @@ Include:
1689 */ 1681 */
1690 case "pegalistadetemas": 1682 case "pegalistadetemas":
1691 include_once("classe_menutemas.php"); 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 $cp->set_data(array("temas"=>$m->pegaListaDeTemas($grupo,$subgrupo,$idmenu))); 1685 $cp->set_data(array("temas"=>$m->pegaListaDeTemas($grupo,$subgrupo,$idmenu)));
1694 break; 1686 break;
1695 /* 1687 /*
@@ -1702,7 +1694,7 @@ Include: @@ -1702,7 +1694,7 @@ Include:
1702 */ 1694 */
1703 case "procurartemas": 1695 case "procurartemas":
1704 include_once("classe_menutemas.php"); 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 $cp->set_data($m->procurartemas($procurar)); 1698 $cp->set_data($m->procurartemas($procurar));
1707 break; 1699 break;
1708 /* 1700 /*
@@ -1717,7 +1709,7 @@ Include: @@ -1717,7 +1709,7 @@ Include:
1717 */ 1709 */
1718 case "pegaMapas": 1710 case "pegaMapas":
1719 include_once("classe_menutemas.php"); 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 $cp->set_data($m->pegaListaDeMapas($locmapas)); 1713 $cp->set_data($m->pegaListaDeMapas($locmapas));
1722 break; 1714 break;
1723 /* 1715 /*
classesphp/mapa_inicia.php
@@ -87,6 +87,17 @@ Se $expoeMapfile = &quot;nao&quot;, o nome do mapfile não é retornado @@ -87,6 +87,17 @@ Se $expoeMapfile = &quot;nao&quot;, o nome do mapfile não é retornado
87 function iniciaMapa() 87 function iniciaMapa()
88 { 88 {
89 global $tituloInstituicao,$tempo,$navegadoresLocais,$locaplic,$cp,$embedLegenda,$map_file,$mapext,$w,$h,$locsistemas,$locidentifica,$R_path,$locmapas,$locmapserv,$postgis_con,$utilizacgi,$expoeMapfile; 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 if (!file_exists($locaplic)) 101 if (!file_exists($locaplic))
91 {$cp->set_data("erro. $locaplic nao existe (variavel locaplic - corrija o ms_configura.php)");return;} 102 {$cp->set_data("erro. $locaplic nao existe (variavel locaplic - corrija o ms_configura.php)");return;}
92 if (!file_exists($map_file)) 103 if (!file_exists($map_file))
@@ -127,8 +138,6 @@ function iniciaMapa() @@ -127,8 +138,6 @@ function iniciaMapa()
127 } 138 }
128 } 139 }
129 } 140 }
130 - //if($utilizacgi == "sim")  
131 - //{$m->ligaDesligaTemas("","todos");}  
132 // 141 //
133 //cuidado ao mexer aqui 142 //cuidado ao mexer aqui
134 //o mapa precisa ser salvo para registrar a extensão geográfica 143 //o mapa precisa ser salvo para registrar a extensão geográfica
datadownload.htm
@@ -56,7 +56,7 @@ O formato &quot;shape file&quot; &amp;eacute; composto por tr&amp;ecirc;s arquivos (shp, shx e dbf @@ -56,7 +56,7 @@ O formato &quot;shape file&quot; &amp;eacute; composto por tr&amp;ecirc;s arquivos (shp, shx e dbf
56 </body> 56 </body>
57 <script> 57 <script>
58 /* 58 /*
59 -Title: Aplicativo para download de dados 59 +Title: datadownload.htm
60 60
61 Esse aplicativo permite ao usuário fazer o download de arquivos no formato shapefile. 61 Esse aplicativo permite ao usuário fazer o download de arquivos no formato shapefile.
62 62
@@ -28,18 +28,39 @@ Free Software Foundation, Inc., no endereço @@ -28,18 +28,39 @@ Free Software Foundation, Inc., no endereço
28 28
29 File: i3geo/kml.php 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 error_reporting(0); 35 error_reporting(0);
33 include_once ("classesphp/carrega_ext.php"); 36 include_once ("classesphp/carrega_ext.php");
  37 +include_once ("classesphp/classe_menutemas.php");
34 include_once ("ms_configura.php"); 38 include_once ("ms_configura.php");
35 echo '<?xml version="1.0" encoding="UTF-8"?>'; 39 echo '<?xml version="1.0" encoding="UTF-8"?>';
36 echo "<kml xmlns='http://earth.google.com/kml/2.2'>\n"; 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 $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); 45 $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']);
38 $protocolo = $protocolo[0]; 46 $protocolo = $protocolo[0];
39 $protocolo1 = strtolower($protocolo . '://'.$_SERVER['SERVER_NAME']); 47 $protocolo1 = strtolower($protocolo . '://'.$_SERVER['SERVER_NAME']);
40 $protocolo = $protocolo . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT']; 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 if ($menutemas == "") 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 else 64 else
44 { 65 {
45 foreach($menutemas as $m) 66 foreach($menutemas as $m)
@@ -49,7 +70,9 @@ else @@ -49,7 +70,9 @@ else
49 } 70 }
50 if(!isset($menus)) 71 if(!isset($menus))
51 $menus = array("/opt/www/html/i3geo/menutemas/menutemas.xml"); 72 $menus = array("/opt/www/html/i3geo/menutemas/menutemas.xml");
52 - 73 +//
  74 +//monta o xml
  75 +//
53 echo "<Document><name>Menu i3geo</name><open>0</open><description></description><visibility>0</visibility>\n"; 76 echo "<Document><name>Menu i3geo</name><open>0</open><description></description><visibility>0</visibility>\n";
54 foreach ($menus as $menu) 77 foreach ($menus as $menu)
55 { 78 {
@@ -59,14 +82,14 @@ foreach ($menus as $menu) @@ -59,14 +82,14 @@ foreach ($menus as $menu)
59 $nome = mb_convert_encoding($grupo->GTIPO,"auto","auto"); 82 $nome = mb_convert_encoding($grupo->GTIPO,"auto","auto");
60 $desc = mb_convert_encoding($grupo->DTIPO,"auto","auto"); 83 $desc = mb_convert_encoding($grupo->DTIPO,"auto","auto");
61 echo "<Folder>\n"; 84 echo "<Folder>\n";
62 - echo "<name>$nome</name>\n";  
63 - echo "<description>$desc</description>\n"; 85 + echo "<name>".str_replace("&","&amp;",$nome)."</name>\n";
  86 + echo "<description>".str_replace("&","&amp;",$desc)."</description>\n";
64 echo "<open>0</open><visibility>0</visibility>\n"; 87 echo "<open>0</open><visibility>0</visibility>\n";
65 foreach($grupo->SGRUPO as $sgrupo) 88 foreach($grupo->SGRUPO as $sgrupo)
66 { 89 {
67 echo "<Folder>\n"; 90 echo "<Folder>\n";
68 $nome = mb_convert_encoding($sgrupo->SDTIPO,"auto","auto"); 91 $nome = mb_convert_encoding($sgrupo->SDTIPO,"auto","auto");
69 - echo "<name>$nome</name>\n"; 92 + echo "<name>".str_replace("&","&amp;",$nome)."</name>\n";
70 echo "<description></description>\n"; 93 echo "<description></description>\n";
71 echo "<open>0</open><visibility>0</visibility>\n"; 94 echo "<open>0</open><visibility>0</visibility>\n";
72 foreach($sgrupo->TEMA as $tema) 95 foreach($sgrupo->TEMA as $tema)
@@ -86,9 +109,9 @@ foreach ($menus as $menu) @@ -86,9 +109,9 @@ foreach ($menus as $menu)
86 if(strtolower($kml) != "nao" && strtolower($tipoa) != "wms") 109 if(strtolower($kml) != "nao" && strtolower($tipoa) != "wms")
87 { 110 {
88 echo "<GroundOverlay>\n"; 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("&","&amp;",$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 echo "<description><![CDATA[".$fonte.$legenda.$desc."]]></description>\n"; 115 echo "<description><![CDATA[".$fonte.$legenda.$desc."]]></description>\n";
93 echo "<visibility>0</visibility>\n"; 116 echo "<visibility>0</visibility>\n";
94 echo "<Icon>\n"; 117 echo "<Icon>\n";
menutemas/admin.db
No preview for this file type
mobile/adicionatema.php
@@ -71,9 +71,15 @@ h1 @@ -71,9 +71,15 @@ h1
71 </form> 71 </form>
72 <input type='button' value='retorna' style='cursor:pointer;' onclick='retorno()' /><br> 72 <input type='button' value='retorna' style='cursor:pointer;' onclick='retorno()' /><br>
73 <?php 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 if ($tipo == "listatemas") 80 if ($tipo == "listatemas")
75 { 81 {
76 - $m = new Menutemas($tmpfname,"","nao"); 82 + $m = new Menutemas("","",$locsistemas,$locaplic,"",$urli3geo);
77 $r = $m->pegaListaDeTemas($grupo,$subgrupo,""); 83 $r = $m->pegaListaDeTemas($grupo,$subgrupo,"");
78 echo "<h1>Escolha o tema:</h1>"; 84 echo "<h1>Escolha o tema:</h1>";
79 foreach($r as $l) 85 foreach($r as $l)
@@ -92,8 +98,8 @@ if($tipo == &quot;adicionatema&quot;) @@ -92,8 +98,8 @@ if($tipo == &quot;adicionatema&quot;)
92 } 98 }
93 if ($tipo == "adicionar") 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 echo "<h1>Escolha o sub-grupo:</h1>"; 103 echo "<h1>Escolha o sub-grupo:</h1>";
98 for($rid=0;$rid<count($r);$rid++) 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,7 +43,7 @@ Free Software Foundation, Inc., no endereço
43 43
44 Mensagem de inicialização mostrada pelo programa ms_criamapa.php 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 Variable: $tituloInstituicao 48 Variable: $tituloInstituicao
49 49
@@ -136,7 +136,7 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -136,7 +136,7 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
136 136
137 Veja a documentação específica do arquivo sistemas.xml para maiores detalhes. 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 Variable: $locidentifica 141 Variable: $locidentifica
142 142
@@ -162,7 +162,7 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -162,7 +162,7 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
162 162
163 Veja a documentação específica do arquivo mapas.xml para maiores detalhes. 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 Variable: $R_path 167 Variable: $R_path
168 168
@@ -222,11 +222,11 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -222,11 +222,11 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
222 array("idmenu"=>2,"arquivo"=>"http://localhost/i3geo/menutemas/menutemas.xml","status"=>"aberto") 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 $menutemas = array( 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 Variable: $utilizacgi 232 Variable: $utilizacgi
@@ -277,7 +277,7 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -277,7 +277,7 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
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. 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 else //se for linux 282 else //se for linux
283 { 283 {
@@ -301,6 +301,6 @@ else //se for linux @@ -301,6 +301,6 @@ else //se for linux
301 $utilizacgi = "nao"; 301 $utilizacgi = "nao";
302 $atlasxml = "../menutemas/atlas.xml"; 302 $atlasxml = "../menutemas/atlas.xml";
303 $expoeMapfile = "sim"; 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) == &#39;WIN&#39;)) @@ -136,7 +136,7 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
136 136
137 Veja a documentação específica do arquivo sistemas.xml para maiores detalhes. 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 Variable: $locidentifica 141 Variable: $locidentifica
142 142
@@ -149,8 +149,11 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -149,8 +149,11 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
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. 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 Veja a documentação específica do arquivo identifica.xml para maiores detalhes. 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 Variable: $locmapas 158 Variable: $locmapas
156 159
@@ -218,16 +221,13 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -218,16 +221,13 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
218 Example: 221 Example:
219 222
220 $menutemas = array( 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 Para usar o menu default, utilize apenas $menutemas = "";, nesse caso, os menus serão obtidos do banco de dados de administração. 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 Variable: $utilizacgi 232 Variable: $utilizacgi
233 233
@@ -248,9 +248,9 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -248,9 +248,9 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
248 248
249 Indica o nome do arquivo xml que será utilizado na interface Atlas do i3geo. 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 Variable: $expoeMapfile 255 Variable: $expoeMapfile
256 256
@@ -264,7 +264,7 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -264,7 +264,7 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
264 264
265 Arquivo PHP que define a string de conexão (PDO) com o banco de dados administrativo. 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 O banco de dados administrativo é utilizado para definir coisas como a árvore de temas, árvore de mapas, etc. 269 O banco de dados administrativo é utilizado para definir coisas como a árvore de temas, árvore de mapas, etc.
270 270
@@ -43,6 +43,8 @@ intervalo - valor inicial e final com o número de temas que serão mostrados no s @@ -43,6 +43,8 @@ intervalo - valor inicial e final com o número de temas que serão mostrados no s
43 43
44 legenda - mostra a legenda no corpo do mapa sim|nao 44 legenda - mostra a legenda no corpo do mapa sim|nao
45 45
  46 +perfil - perfil utilizado para escolher os menus
  47 +
46 About: Exemplos 48 About: Exemplos
47 49
48 ogc.php?lista=temas 50 ogc.php?lista=temas
@@ -65,41 +67,63 @@ if (!function_exists(&#39;ms_GetVersion&#39;)) @@ -65,41 +67,63 @@ if (!function_exists(&#39;ms_GetVersion&#39;))
65 require_once("classesphp/carrega_ext.php"); 67 require_once("classesphp/carrega_ext.php");
66 include("ms_configura.php"); 68 include("ms_configura.php");
67 include("classesphp/pega_variaveis.php"); 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 //pega a lista de grupos 103 //pega a lista de grupos
69 if ($lista == "temas") 104 if ($lista == "temas")
70 { 105 {
71 - $xml = simplexml_load_file("menutemas/menutemas.xml");  
72 echo "<b>Lista de temas por grupos e subgrupos (os códigos dos temas estão em vermelho)</b><br><br>"; 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 "&nbsp;&nbsp;&nbsp;".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 "&nbsp;&nbsp;&nbsp;".mb_convert_encoding($sgrupo->SDTIPO,"HTML-ENTITIES","auto")."<br>";
  116 + foreach($sgrupo->TEMA as $tema)
84 { 117 {
85 -  
86 - echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";  
87 - echo "<span style=color:red >".mb_convert_encoding($tema->TID,"HTML-ENTITIES","auto")."</span>";  
88 - echo "&nbsp;-&nbsp;".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 "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
  121 + echo "<span style=color:red >".mb_convert_encoding($tema->TID,"HTML-ENTITIES","auto")."</span>";
  122 + echo "&nbsp;-&nbsp;".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,51 +229,60 @@ else
205 { 229 {
206 $conta = 0; 230 $conta = 0;
207 $int = explode(",",$intervalo); 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 ms_ioinstallstdouttobuffer(); 281 ms_ioinstallstdouttobuffer();
250 $oMap->owsdispatch($req); 282 $oMap->owsdispatch($req);
251 $contenttype = ms_iostripstdoutbuffercontenttype(); 283 $contenttype = ms_iostripstdoutbuffercontenttype();
252 header("Content-type: $contenttype"); 284 header("Content-type: $contenttype");
253 ms_iogetStdoutBufferBytes(); 285 ms_iogetStdoutBufferBytes();
254 ms_ioresethandlers(); 286 ms_ioresethandlers();
  287 +
255 ?> 288 ?>
256 \ No newline at end of file 289 \ No newline at end of file