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.
kml.php
... ... @@ -45,31 +45,41 @@ echo "<kml xmlns='http://earth.google.com/kml/2.2'>\n";
45 45 //
46 46 $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']);
47 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 50 $urli3geo = str_replace("/kml.php","",$protocolo.$_SERVER["PHP_SELF"]);
51 51 //error_reporting(E_ALL);
52 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 83 foreach ($menus as $menu)
74 84 {
75 85 $xml = simplexml_load_file($menu);
... ... @@ -109,60 +119,7 @@ if ($menutemas != &quot;&quot; || is_array($menutemas))
109 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 123 echo "</Document></kml>\n";
167 124 function kml_cabecalho($nome,$desc)
168 125 {
... ...
mobile/adicionatema.php
... ... @@ -78,7 +78,7 @@ h1
78 78 //identifica qual a url do i3geo
79 79 //
80 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 82 $urli3geo = str_replace("/mobile/adicionatema.php","",$protocolo.$_SERVER["PHP_SELF"]);
83 83 if ($tipo == "listatemas")
84 84 {
... ...
mobile/ativatexto.php
... ... @@ -105,20 +105,12 @@ if ($tema == &#39;&#39;)
105 105 include("../classesphp/classe_mapa.php");
106 106 $m = New Mapa($tmpfname);
107 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 108 echo "<h1>Escolha o tema que vc quer mostrar os textos no mapa:</h1>";
113   - $existe = false;
114 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 115 if (!$existe)
124 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 78 }
79 79 $m = New Mapa($tmpfname);
80 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 81 echo "<h1>Escolha o tema que vc não quer ver no mapa:</h1>";
85   -$existe = false;
86 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 88 if (!$existe)
96 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 345  
346 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 349 $w = $mapn->web;
350 350 $atual = $w->imagepath;
351 351 $w->set("imagepath",$atual.$diretorios[2]."/");
... ... @@ -620,6 +620,15 @@ Function: MostraAguarde
620 620  
621 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 633 function mostraAguarde()
625 634 {
... ... @@ -643,6 +652,12 @@ function mostraAguarde()
643 652 Function: insereWKTUrl
644 653  
645 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 662 function insereWKTUrl()
648 663 {
... ... @@ -708,7 +723,13 @@ function insereWKTUrl()
708 723 /*
709 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 735 function inserePontosUrl()
... ... @@ -734,6 +755,8 @@ function inserePontosUrl()
734 755 $db=xbase_open($dbname,2);
735 756 $novoshpf = ms_newShapefileObj($nomeshp, $tipol);
736 757 $pontos = explode(" ",trim($pontos));
  758 + if(count($pontos) == 0)
  759 + $pontos = explode(",",trim($pontos));
737 760 foreach ($pontos as $p)
738 761 {if (is_numeric($p)){$pontosn[] = $p;}}
739 762 $pontos = $pontosn;
... ... @@ -771,10 +794,15 @@ function inserePontosUrl()
771 794 /*
772 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 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 807 function insereLinhasUrl()
780 808 {
... ... @@ -846,10 +874,16 @@ function insereLinhasUrl()
846 874 /*
847 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 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 888 function inserePoligonosUrl()
855 889 {
... ...
ogc.php
... ... @@ -74,8 +74,8 @@ include(&quot;classesphp/classe_menutemas.php&quot;);
74 74 //
75 75 $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']);
76 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 79 $urli3geo = str_replace("/ogc.php","",$protocolo.$_SERVER["PHP_SELF"]);
80 80 //
81 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 83 //pelo método Menutemas
84 84 //
85 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 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 102 if(!isset($menus))
... ... @@ -245,6 +246,8 @@ else
245 246 {
246 247 $conta = 0;
247 248 $int = explode(",",$intervalo);
  249 + $codigosTema = array();
  250 + //var_dump($menus);exit;
248 251 foreach ($menus as $menu)
249 252 {
250 253 $xml = simplexml_load_file($menu);
... ... @@ -256,40 +259,43 @@ else
256 259 {
257 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 }
... ...