Commit 9710884c1a0a46ec5f80ee22975fc538a03727e0

Authored by Edmar Moretti
1 parent 16af9afd

Correções na obtenção do protocolo HTTP. No linux é necessário incluir em caixa …

…baixa. Lateração na forma de leitura do menu de temas.
@@ -45,31 +45,41 @@ echo "<kml xmlns='http://earth.google.com/kml/2.2'>\n"; @@ -45,31 +45,41 @@ echo "<kml xmlns='http://earth.google.com/kml/2.2'>\n";
45 // 45 //
46 $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); 46 $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']);
47 $protocolo = $protocolo[0]; 47 $protocolo = $protocolo[0];
48 -$protocolo1 = strtolower($protocolo . '://'.$_SERVER['SERVER_NAME']);  
49 -$protocolo = $protocolo . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT']; 48 +$protocolo1 = strtolower($protocolo) . '://'.$_SERVER['SERVER_NAME'];
  49 +$protocolo = strtolower($protocolo) . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT'];
50 $urli3geo = str_replace("/kml.php","",$protocolo.$_SERVER["PHP_SELF"]); 50 $urli3geo = str_replace("/kml.php","",$protocolo.$_SERVER["PHP_SELF"]);
51 //error_reporting(E_ALL); 51 //error_reporting(E_ALL);
52 if(!isset($perfil)){$perfil = "";} 52 if(!isset($perfil)){$perfil = "";}
  53 +
53 // 54 //
54 -//monta o xml  
55 -//  
56 -echo "<Document><name>Menu i3geo</name><open>0</open><description></description><visibility>0</visibility>\n";  
57 -//  
58 -//no caso do arquivo com o menu vir de um arquivo XML 55 +//pega a lista de menus que será processada
  56 +//se a variável definida em ms_configura for = "", a busca é feita
  57 +//pelo método Menutemas
59 // 58 //
60 -if ($menutemas != "" || is_array($menutemas)) 59 +if(!isset($perfil)){$perfil = "";}
  60 +if($menutemas != "" || is_array($menutemas))
  61 +{
  62 + foreach($menutemas as $m)
  63 + {
  64 + $menus[] = $m["arquivo"];
  65 + }
  66 +
  67 +}
  68 +else
61 { 69 {
62 - //  
63 - //para manter a compatibilidade entre as versões do i3geo  
64 - //é necessário verificar se a variável $menutemas é um array ou não  
65 - //  
66 - if(is_array($menutemas)) 70 + $m = new Menutemas("",$perfil,$locsistemas,$locaplic,"",$urli3geo);
  71 + foreach($m->pegaListaDeMenus() as $menu)
67 { 72 {
68 - foreach($menutemas as $m)  
69 - {$menus[] = $m["arquivo"];} 73 + $menus[] = $menu["url"];
70 } 74 }
71 - else  
72 - $menu[] = $menutemas; 75 +}
  76 +if(!isset($menus))
  77 +$menus = array("/opt/www/html/i3geo/menutemas/menutemas.xml");
  78 +
  79 +//
  80 +//monta o xml
  81 +//
  82 +echo "<Document><name>Menu i3geo</name><open>0</open><description></description><visibility>0</visibility>\n";
73 foreach ($menus as $menu) 83 foreach ($menus as $menu)
74 { 84 {
75 $xml = simplexml_load_file($menu); 85 $xml = simplexml_load_file($menu);
@@ -109,60 +119,7 @@ if ($menutemas != &quot;&quot; || is_array($menutemas)) @@ -109,60 +119,7 @@ if ($menutemas != &quot;&quot; || is_array($menutemas))
109 echo "</Folder>\n"; 119 echo "</Folder>\n";
110 } 120 }
111 } 121 }
112 -}  
113 -//  
114 -//no caso do menu vir do sistema de administração  
115 -//  
116 -if($menutemas == "")  
117 -{  
118 - include("admin/php/admin.php");  
119 - $menus = pegaDados("SELECT * from i3geoadmin_menus where publicado_menu != 'NAO' or publicado_menu isnull order by nome_menu ");  
120 - echo $sql;  
121 - foreach($menus as $menu)  
122 - {  
123 - echo $menu["nome_menu"];  
124 - kml_cabecalho($menu["nome_menu"],$menu["desc_menu"]);  
125 - $id_menu = $menu["id_menu"];  
126 - $grupos = pegaDados("SELECT nome_grupo,n1.id_grupo,gr.desc_grupo from i3geoadmin_n1 as n1,i3geoadmin_grupos as gr where n1.id_menu = '$id_menu' and n1.id_grupo = gr.id_grupo order by gr.nome_grupo");  
127 - foreach($grupos as $grupo)  
128 - {  
129 - kml_cabecalho($grupo["nome_grupo"],$grupo["desc_grupo"]);  
130 - $id_grupo = $grupo["id_grupo"];  
131 - $sql = "select s.nome_subgrupo,n2.id_n2 from i3geoadmin_n2 as n2,i3geoadmin_n1 as n1, i3geoadmin_subgrupos as s ";  
132 - $sql .= "where n1.id_grupo = '$id_grupo' and n2.id_subgrupo = s.id_subgrupo ";  
133 - $sql .= "and n2.id_n1 = n1.id_n1 ";  
134 - $sql .= "and n1.n1_perfil = '' and n2.n2_perfil = '' ";  
135 - $sql .= "order by s.nome_subgrupo";  
136 - $subgrupos = pegaDados($sql);  
137 - foreach ($subgrupos as $subgrupo)  
138 - {  
139 - kml_folder($subgrupo["nome_subgrupo"]);  
140 - $id_n2 = $subgrupo["id_n2"];  
141 - $sql = "select t.codigo_tema,t.nome_tema,t.link_tema, t.desc_tema from i3geoadmin_n3 as n3,i3geoadmin_temas as t where ";  
142 - $sql .= "n3.id_n2='$id_n2' ";  
143 - $sql .= "and n3.id_tema = t.id_tema ";  
144 - $sql .= "and n3_perfil = '' ";  
145 - $sql .= "and t.kml_tema != 'nao' ";  
146 - $sql .= "and t.tipoa_tema = ''";  
147 - $temas = pegadados($sql);  
148 - foreach ($temas as $tema)  
149 - {  
150 - $fonte = $tema["link_tema"];  
151 - $nome = $tema["nome_tema"];  
152 - $id = $tema["codigo_tema"];  
153 - $desc = $tema["desc_tema"];  
154 - $fonte = "<a href='$fonte' >Fonte </a>";  
155 - $legenda = "<a href='$urli3geo/ogc.php?tema=$id&layer=$id&request=getlegendgraphic&service=wms&format=image/jpeg' >Legenda </a>";  
156 - $href = "$urli3geo/ogc.php?tema=$id&amp;width=800&amp;height=800&amp;VERSION=1.1.1&amp;REQUEST=GetMap&amp;SRS=EPSG:4326&amp;STYLES=&amp;BGCOLOR=0xFFFFFF&amp;FORMAT=image/png&amp;TRANSPARENT=TRUE&amp;layers=$id";  
157 - kml_servico($nome,$fonte,$legenda,$desc,$href);  
158 - }  
159 - echo "</Folder>\n";  
160 - }  
161 - echo "</Folder>\n";  
162 - }  
163 - echo "</Folder>\n";  
164 - }  
165 -} 122 +
166 echo "</Document></kml>\n"; 123 echo "</Document></kml>\n";
167 function kml_cabecalho($nome,$desc) 124 function kml_cabecalho($nome,$desc)
168 { 125 {
mobile/adicionatema.php
@@ -78,7 +78,7 @@ h1 @@ -78,7 +78,7 @@ h1
78 //identifica qual a url do i3geo 78 //identifica qual a url do i3geo
79 // 79 //
80 $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); 80 $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']);
81 -$protocolo = $protocolo[0] . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT']; 81 +$protocolo = strtolower($protocolo[0]) . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT'];
82 $urli3geo = str_replace("/mobile/adicionatema.php","",$protocolo.$_SERVER["PHP_SELF"]); 82 $urli3geo = str_replace("/mobile/adicionatema.php","",$protocolo.$_SERVER["PHP_SELF"]);
83 if ($tipo == "listatemas") 83 if ($tipo == "listatemas")
84 { 84 {
mobile/ativatexto.php
@@ -105,20 +105,12 @@ if ($tema == &#39;&#39;) @@ -105,20 +105,12 @@ if ($tema == &#39;&#39;)
105 include("../classesphp/classe_mapa.php"); 105 include("../classesphp/classe_mapa.php");
106 $m = New Mapa($tmpfname); 106 $m = New Mapa($tmpfname);
107 $par = $m->parametrosTemas(); 107 $par = $m->parametrosTemas();
108 - //var_dump($par);  
109 - $par = mb_convert_encoding($par,"ISO-8859-1","UTF-8");  
110 - $par = explode("'",$par);  
111 - $par = explode(";",$par[1]);  
112 echo "<h1>Escolha o tema que vc quer mostrar os textos no mapa:</h1>"; 108 echo "<h1>Escolha o tema que vc quer mostrar os textos no mapa:</h1>";
113 - $existe = false;  
114 foreach($par as $p) 109 foreach($par as $p)
115 { 110 {
116 - $p = explode("*",$p);  
117 - if(($p[1] == 2) && ($p[4] < 3 ))  
118 - {  
119 - $existe=true;  
120 - echo "<input type=radio value='$p[0]' onclick='ativartema(this.value)' />".$p[2]."<br>";  
121 - } 111 + $existe=true;
  112 + $titulo = mb_convert_encoding($p["tema"],"ISO-8859-1","UTF-8");
  113 + echo "<input type=radio value='".$p["name"]."' onclick='ativartema(this.value)' />".$titulo."<br>";
122 } 114 }
123 if (!$existe) 115 if (!$existe)
124 echo "<span style='color:red' >Nenhum tema dispon&iacute;vel.</br>"; 116 echo "<span style='color:red' >Nenhum tema dispon&iacute;vel.</br>";
mobile/desligar.php
@@ -78,19 +78,12 @@ if(isset($tema) &amp;&amp; $tema != &#39;&#39;) @@ -78,19 +78,12 @@ if(isset($tema) &amp;&amp; $tema != &#39;&#39;)
78 } 78 }
79 $m = New Mapa($tmpfname); 79 $m = New Mapa($tmpfname);
80 $par = $m->parametrosTemas(); 80 $par = $m->parametrosTemas();
81 -$par = mb_convert_encoding($par,"ISO-8859-1","UTF-8");  
82 -$par = explode("'",$par);  
83 -$par = explode(";",$par[1]);  
84 echo "<h1>Escolha o tema que vc não quer ver no mapa:</h1>"; 81 echo "<h1>Escolha o tema que vc não quer ver no mapa:</h1>";
85 -$existe = false;  
86 foreach($par as $p) 82 foreach($par as $p)
87 { 83 {
88 - $p = explode("*",$p);  
89 - if($p[1] == 2)  
90 - {  
91 - $existe=true;  
92 - echo "<input type=radio value='$p[0]' onclick='desligar(this.value)' />".$p[2]."<br>";  
93 - } 84 + $existe=true;
  85 + $titulo = mb_convert_encoding($p["tema"],"ISO-8859-1","UTF-8");
  86 + echo "<input type=radio value='".$p["name"]."' onclick='desligar(this.value)' />".$titulo."<br>";
94 } 87 }
95 if (!$existe) 88 if (!$existe)
96 echo "<span style='color:red' >Nenhum tema dispon&iacute;vel.</br>"; 89 echo "<span style='color:red' >Nenhum tema dispon&iacute;vel.</br>";
ms_criamapa.php
@@ -345,7 +345,7 @@ Note: Configura os endereços corretos no mapfile. @@ -345,7 +345,7 @@ Note: Configura os endereços corretos no mapfile.
345 345
346 Altera as propriedades imagepath e imageurl corrigindo os caminhos padrão conforme o diretório criado para armazenar o mapa de trabalho. 346 Altera as propriedades imagepath e imageurl corrigindo os caminhos padrão conforme o diretório criado para armazenar o mapa de trabalho.
347 */ 347 */
348 -$protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); 348 +$protocolo = strtolower(explode("/",$_SERVER['SERVER_PROTOCOL']));
349 $w = $mapn->web; 349 $w = $mapn->web;
350 $atual = $w->imagepath; 350 $atual = $w->imagepath;
351 $w->set("imagepath",$atual.$diretorios[2]."/"); 351 $w->set("imagepath",$atual.$diretorios[2]."/");
@@ -620,6 +620,15 @@ Function: MostraAguarde @@ -620,6 +620,15 @@ Function: MostraAguarde
620 620
621 Mostra a mensagem de aguarde 621 Mostra a mensagem de aguarde
622 622
  623 +Globals:
  624 +
  625 +$interface
  626 +
  627 +$caminho
  628 +
  629 +$mensagemInicia
  630 +
  631 +$tituloInstituicao
623 */ 632 */
624 function mostraAguarde() 633 function mostraAguarde()
625 { 634 {
@@ -643,6 +652,12 @@ function mostraAguarde() @@ -643,6 +652,12 @@ function mostraAguarde()
643 Function: insereWKTUrl 652 Function: insereWKTUrl
644 653
645 Insere elementos no mapa a partir de uma string definida em wkt 654 Insere elementos no mapa a partir de uma string definida em wkt
  655 +
  656 +Globals:
  657 +
  658 +$wkt - string no formato wkt
  659 +
  660 +$nometemawkt - nome do tema que será criado
646 */ 661 */
647 function insereWKTUrl() 662 function insereWKTUrl()
648 { 663 {
@@ -708,7 +723,13 @@ function insereWKTUrl() @@ -708,7 +723,13 @@ function insereWKTUrl()
708 /* 723 /*
709 Function: inserePontosUrl 724 Function: inserePontosUrl
710 725
711 -Insere um novo tema com os pontos definidos na variável $pontos 726 +Insere um tema do tipo ponto
  727 +
  728 +Globals:
  729 +
  730 +$pontos - lista de coordenadas x,y
  731 +
  732 +$nometemapontos - nome do tema que será criado
712 733
713 */ 734 */
714 function inserePontosUrl() 735 function inserePontosUrl()
@@ -734,6 +755,8 @@ function inserePontosUrl() @@ -734,6 +755,8 @@ function inserePontosUrl()
734 $db=xbase_open($dbname,2); 755 $db=xbase_open($dbname,2);
735 $novoshpf = ms_newShapefileObj($nomeshp, $tipol); 756 $novoshpf = ms_newShapefileObj($nomeshp, $tipol);
736 $pontos = explode(" ",trim($pontos)); 757 $pontos = explode(" ",trim($pontos));
  758 + if(count($pontos) == 0)
  759 + $pontos = explode(",",trim($pontos));
737 foreach ($pontos as $p) 760 foreach ($pontos as $p)
738 {if (is_numeric($p)){$pontosn[] = $p;}} 761 {if (is_numeric($p)){$pontosn[] = $p;}}
739 $pontos = $pontosn; 762 $pontos = $pontosn;
@@ -771,10 +794,15 @@ function inserePontosUrl() @@ -771,10 +794,15 @@ function inserePontosUrl()
771 /* 794 /*
772 Function: insereLinhasUrl 795 Function: insereLinhasUrl
773 796
774 -Insere um novo tema com as linhas definidas na variável $linhas 797 +Insere um tema do tipo linear
775 798
776 As linhas devem ter os pontos separados por espaços e cada linha separada por vírgula 799 As linhas devem ter os pontos separados por espaços e cada linha separada por vírgula
777 800
  801 +Globals:
  802 +
  803 +$linhas - lista de coordenadas
  804 +
  805 +$nometemalinhas - nome do tema que será criado
778 */ 806 */
779 function insereLinhasUrl() 807 function insereLinhasUrl()
780 { 808 {
@@ -846,10 +874,16 @@ function insereLinhasUrl() @@ -846,10 +874,16 @@ function insereLinhasUrl()
846 /* 874 /*
847 Function: inserePoligonosUrl 875 Function: inserePoligonosUrl
848 876
849 -Insere um novo tema com os poligonos definidas na variável $poligonos 877 +Insere um tema poligonal.
850 878
851 Os polígonos devem ter os pontos separados por espaços e cada polígono separado por vírgula 879 Os polígonos devem ter os pontos separados por espaços e cada polígono separado por vírgula
852 880
  881 +Globals:
  882 +
  883 +$poligonos - lista de coordenadas
  884 +
  885 +$nometemapoligonos - nome do tema que será criado
  886 +
853 */ 887 */
854 function inserePoligonosUrl() 888 function inserePoligonosUrl()
855 { 889 {
@@ -74,8 +74,8 @@ include(&quot;classesphp/classe_menutemas.php&quot;); @@ -74,8 +74,8 @@ include(&quot;classesphp/classe_menutemas.php&quot;);
74 // 74 //
75 $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); 75 $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']);
76 $protocolo = $protocolo[0]; 76 $protocolo = $protocolo[0];
77 -$protocolo1 = strtolower($protocolo . '://'.$_SERVER['SERVER_NAME']);  
78 -$protocolo = $protocolo . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT']; 77 +$protocolo1 = strtolower($protocolo) . '://'.$_SERVER['SERVER_NAME'];
  78 +$protocolo = strtolower($protocolo) . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT'];
79 $urli3geo = str_replace("/ogc.php","",$protocolo.$_SERVER["PHP_SELF"]); 79 $urli3geo = str_replace("/ogc.php","",$protocolo.$_SERVER["PHP_SELF"]);
80 // 80 //
81 //pega a lista de menus que será processada 81 //pega a lista de menus que será processada
@@ -83,19 +83,20 @@ $urli3geo = str_replace(&quot;/ogc.php&quot;,&quot;&quot;,$protocolo.$_SERVER[&quot;PHP_SELF&quot;]); @@ -83,19 +83,20 @@ $urli3geo = str_replace(&quot;/ogc.php&quot;,&quot;&quot;,$protocolo.$_SERVER[&quot;PHP_SELF&quot;]);
83 //pelo método Menutemas 83 //pelo método Menutemas
84 // 84 //
85 if(!isset($perfil)){$perfil = "";} 85 if(!isset($perfil)){$perfil = "";}
86 -if ($menutemas == "") 86 +if($menutemas != "" || is_array($menutemas))
87 { 87 {
88 - $m = new Menutemas("",$perfil,$locsistemas,$locaplic,"",$urli3geo);  
89 - foreach($m->pegaListaDeMenus() as $menu) 88 + foreach($menutemas as $m)
90 { 89 {
91 - $menus[] = $menu["url"]; 90 + $menus[] = $m["arquivo"];
92 } 91 }
  92 +
93 } 93 }
94 else 94 else
95 { 95 {
96 - foreach($menutemas as $m) 96 + $m = new Menutemas("",$perfil,$locsistemas,$locaplic,"",$urli3geo);
  97 + foreach($m->pegaListaDeMenus() as $menu)
97 { 98 {
98 - $menus[] = $m["arquivo"]; 99 + $menus[] = $menu["url"];
99 } 100 }
100 } 101 }
101 if(!isset($menus)) 102 if(!isset($menus))
@@ -245,6 +246,8 @@ else @@ -245,6 +246,8 @@ else
245 { 246 {
246 $conta = 0; 247 $conta = 0;
247 $int = explode(",",$intervalo); 248 $int = explode(",",$intervalo);
  249 + $codigosTema = array();
  250 + //var_dump($menus);exit;
248 foreach ($menus as $menu) 251 foreach ($menus as $menu)
249 { 252 {
250 $xml = simplexml_load_file($menu); 253 $xml = simplexml_load_file($menu);
@@ -256,40 +259,43 @@ else @@ -256,40 +259,43 @@ else
256 { 259 {
257 if (mb_convert_encoding($tm->OGC,"HTML-ENTITIES","auto") == "") 260 if (mb_convert_encoding($tm->OGC,"HTML-ENTITIES","auto") == "")
258 { 261 {
259 - $codigoTema = mb_convert_encoding($tm->TID,"HTML-ENTITIES","auto");  
260 - if (@ms_newMapobj("temas/".$codigoTema.".map")) 262 + $codigosTema[] = mb_convert_encoding($tm->TID,"HTML-ENTITIES","auto");
  263 + }
  264 + }
  265 + }
  266 + }
  267 + }
  268 + foreach($codigosTema as $codigoTema)
  269 + {
  270 + if (@ms_newMapobj("temas/".$codigoTema.".map"))
  271 + {
  272 + $nmap = ms_newMapobj("temas/".$codigoTema.".map");
  273 + $ts = $nmap->getalllayernames();
  274 + if (count($ts) == 1)
  275 + {
  276 + foreach ($ts as $t)
  277 + {
  278 + if ($oMap->getlayerbyname($t) == "")
  279 + {
  280 + $conta++;
  281 + if (($conta >= $int[0]) && ($conta <= $int[1]))
261 { 282 {
262 - $nmap = ms_newMapobj("temas/".$codigoTema.".map");  
263 - $ts = $nmap->getalllayernames();  
264 - if (count($ts) == 1)  
265 - {  
266 - foreach ($ts as $t)  
267 - {  
268 - if ($oMap->getlayerbyname($t) == "")  
269 - {  
270 - $conta++;  
271 - if (($conta >= $int[0]) && ($conta <= $int[1]))  
272 - {  
273 - $l = $nmap->getlayerbyname($t);  
274 - $l->setmetadata("ows_title",pegaNome($l));  
275 - $l->setmetadata("ows_srs","EPSG:4291 EPSG:4326");  
276 - $l->set("status",MS_OFF);  
277 - $l->setmetadata("gml_include_items","all");  
278 - $l->set("dump",MS_TRUE);  
279 - $l->setmetadata("WMS_INCLUDE_ITEMS","all");  
280 - $l->setmetadata("WFS_INCLUDE_ITEMS","all");  
281 - $l->setmetadata("ows_metadataurl_href",mb_convert_encoding($tm->TLINK,"HTML-ENTITIES","auto"));  
282 - $l->setmetadata("ows_metadataurl_type","TC211");  
283 - $l->setmetadata("ows_metadataurl_format","text/html");  
284 - ms_newLayerObj($oMap, $l);  
285 - }  
286 - }  
287 - }  
288 - } 283 + $l = $nmap->getlayerbyname($t);
  284 + $l->setmetadata("ows_title",pegaNome($l));
  285 + $l->setmetadata("ows_srs","EPSG:4291 EPSG:4326");
  286 + $l->set("status",MS_OFF);
  287 + $l->setmetadata("gml_include_items","all");
  288 + $l->set("dump",MS_TRUE);
  289 + $l->setmetadata("WMS_INCLUDE_ITEMS","all");
  290 + $l->setmetadata("WFS_INCLUDE_ITEMS","all");
  291 + $l->setmetadata("ows_metadataurl_href",mb_convert_encoding($tm->TLINK,"HTML-ENTITIES","auto"));
  292 + $l->setmetadata("ows_metadataurl_type","TC211");
  293 + $l->setmetadata("ows_metadataurl_format","text/html");
  294 + ms_newLayerObj($oMap, $l);
289 } 295 }
290 } 296 }
291 } 297 }
292 - } 298 + }
293 } 299 }
294 } 300 }
295 } 301 }