From 9710884c1a0a46ec5f80ee22975fc538a03727e0 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Mon, 24 Nov 2008 13:18:38 +0000 Subject: [PATCH] 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 | 99 ++++++++++++++++++++++++++++----------------------------------------------------------------------- mobile/adicionatema.php | 2 +- mobile/ativatexto.php | 14 +++----------- mobile/desligar.php | 13 +++---------- ms_criamapa.php | 42 ++++++++++++++++++++++++++++++++++++++---- ogc.php | 82 ++++++++++++++++++++++++++++++++++++++++++++-------------------------------------- 6 files changed, 117 insertions(+), 135 deletions(-) diff --git a/kml.php b/kml.php index 07702f6..df19fe4 100644 --- a/kml.php +++ b/kml.php @@ -45,31 +45,41 @@ echo "\n"; // $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); $protocolo = $protocolo[0]; -$protocolo1 = strtolower($protocolo . '://'.$_SERVER['SERVER_NAME']); -$protocolo = $protocolo . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT']; +$protocolo1 = strtolower($protocolo) . '://'.$_SERVER['SERVER_NAME']; +$protocolo = strtolower($protocolo) . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT']; $urli3geo = str_replace("/kml.php","",$protocolo.$_SERVER["PHP_SELF"]); //error_reporting(E_ALL); if(!isset($perfil)){$perfil = "";} + // -//monta o xml -// -echo "Menu i3geo00\n"; -// -//no caso do arquivo com o menu vir de um arquivo XML +//pega a lista de menus que será processada +//se a variável definida em ms_configura for = "", a busca é feita +//pelo método Menutemas // -if ($menutemas != "" || is_array($menutemas)) +if(!isset($perfil)){$perfil = "";} +if($menutemas != "" || is_array($menutemas)) +{ + foreach($menutemas as $m) + { + $menus[] = $m["arquivo"]; + } + +} +else { - // - //para manter a compatibilidade entre as versões do i3geo - //é necessário verificar se a variável $menutemas é um array ou não - // - if(is_array($menutemas)) + $m = new Menutemas("",$perfil,$locsistemas,$locaplic,"",$urli3geo); + foreach($m->pegaListaDeMenus() as $menu) { - foreach($menutemas as $m) - {$menus[] = $m["arquivo"];} + $menus[] = $menu["url"]; } - else - $menu[] = $menutemas; +} +if(!isset($menus)) +$menus = array("/opt/www/html/i3geo/menutemas/menutemas.xml"); + +// +//monta o xml +// +echo "Menu i3geo00\n"; foreach ($menus as $menu) { $xml = simplexml_load_file($menu); @@ -109,60 +119,7 @@ if ($menutemas != "" || is_array($menutemas)) echo "\n"; } } -} -// -//no caso do menu vir do sistema de administração -// -if($menutemas == "") -{ - include("admin/php/admin.php"); - $menus = pegaDados("SELECT * from i3geoadmin_menus where publicado_menu != 'NAO' or publicado_menu isnull order by nome_menu "); - echo $sql; - foreach($menus as $menu) - { - echo $menu["nome_menu"]; - kml_cabecalho($menu["nome_menu"],$menu["desc_menu"]); - $id_menu = $menu["id_menu"]; - $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"); - foreach($grupos as $grupo) - { - kml_cabecalho($grupo["nome_grupo"],$grupo["desc_grupo"]); - $id_grupo = $grupo["id_grupo"]; - $sql = "select s.nome_subgrupo,n2.id_n2 from i3geoadmin_n2 as n2,i3geoadmin_n1 as n1, i3geoadmin_subgrupos as s "; - $sql .= "where n1.id_grupo = '$id_grupo' and n2.id_subgrupo = s.id_subgrupo "; - $sql .= "and n2.id_n1 = n1.id_n1 "; - $sql .= "and n1.n1_perfil = '' and n2.n2_perfil = '' "; - $sql .= "order by s.nome_subgrupo"; - $subgrupos = pegaDados($sql); - foreach ($subgrupos as $subgrupo) - { - kml_folder($subgrupo["nome_subgrupo"]); - $id_n2 = $subgrupo["id_n2"]; - $sql = "select t.codigo_tema,t.nome_tema,t.link_tema, t.desc_tema from i3geoadmin_n3 as n3,i3geoadmin_temas as t where "; - $sql .= "n3.id_n2='$id_n2' "; - $sql .= "and n3.id_tema = t.id_tema "; - $sql .= "and n3_perfil = '' "; - $sql .= "and t.kml_tema != 'nao' "; - $sql .= "and t.tipoa_tema = ''"; - $temas = pegadados($sql); - foreach ($temas as $tema) - { - $fonte = $tema["link_tema"]; - $nome = $tema["nome_tema"]; - $id = $tema["codigo_tema"]; - $desc = $tema["desc_tema"]; - $fonte = "Fonte "; - $legenda = "Legenda "; - $href = "$urli3geo/ogc.php?tema=$id&width=800&height=800&VERSION=1.1.1&REQUEST=GetMap&SRS=EPSG:4326&STYLES=&BGCOLOR=0xFFFFFF&FORMAT=image/png&TRANSPARENT=TRUE&layers=$id"; - kml_servico($nome,$fonte,$legenda,$desc,$href); - } - echo "\n"; - } - echo "\n"; - } - echo "\n"; - } -} + echo "\n"; function kml_cabecalho($nome,$desc) { diff --git a/mobile/adicionatema.php b/mobile/adicionatema.php index 2bed1bf..8a323f4 100644 --- a/mobile/adicionatema.php +++ b/mobile/adicionatema.php @@ -78,7 +78,7 @@ h1 //identifica qual a url do i3geo // $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); -$protocolo = $protocolo[0] . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT']; +$protocolo = strtolower($protocolo[0]) . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT']; $urli3geo = str_replace("/mobile/adicionatema.php","",$protocolo.$_SERVER["PHP_SELF"]); if ($tipo == "listatemas") { diff --git a/mobile/ativatexto.php b/mobile/ativatexto.php index 4fd785f..d0bb23f 100644 --- a/mobile/ativatexto.php +++ b/mobile/ativatexto.php @@ -105,20 +105,12 @@ if ($tema == '') include("../classesphp/classe_mapa.php"); $m = New Mapa($tmpfname); $par = $m->parametrosTemas(); - //var_dump($par); - $par = mb_convert_encoding($par,"ISO-8859-1","UTF-8"); - $par = explode("'",$par); - $par = explode(";",$par[1]); echo "

Escolha o tema que vc quer mostrar os textos no mapa:

"; - $existe = false; foreach($par as $p) { - $p = explode("*",$p); - if(($p[1] == 2) && ($p[4] < 3 )) - { - $existe=true; - echo "".$p[2]."
"; - } + $existe=true; + $titulo = mb_convert_encoding($p["tema"],"ISO-8859-1","UTF-8"); + echo "".$titulo."
"; } if (!$existe) echo "Nenhum tema disponível.
"; diff --git a/mobile/desligar.php b/mobile/desligar.php index 7ba0c5b..52e7569 100644 --- a/mobile/desligar.php +++ b/mobile/desligar.php @@ -78,19 +78,12 @@ if(isset($tema) && $tema != '') } $m = New Mapa($tmpfname); $par = $m->parametrosTemas(); -$par = mb_convert_encoding($par,"ISO-8859-1","UTF-8"); -$par = explode("'",$par); -$par = explode(";",$par[1]); echo "

Escolha o tema que vc não quer ver no mapa:

"; -$existe = false; foreach($par as $p) { - $p = explode("*",$p); - if($p[1] == 2) - { - $existe=true; - echo "".$p[2]."
"; - } + $existe=true; + $titulo = mb_convert_encoding($p["tema"],"ISO-8859-1","UTF-8"); + echo "".$titulo."
"; } if (!$existe) echo "Nenhum tema disponível.
"; diff --git a/ms_criamapa.php b/ms_criamapa.php index 8115c49..f0aefc1 100644 --- a/ms_criamapa.php +++ b/ms_criamapa.php @@ -345,7 +345,7 @@ Note: Configura os endereços corretos no mapfile. Altera as propriedades imagepath e imageurl corrigindo os caminhos padrão conforme o diretório criado para armazenar o mapa de trabalho. */ -$protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); +$protocolo = strtolower(explode("/",$_SERVER['SERVER_PROTOCOL'])); $w = $mapn->web; $atual = $w->imagepath; $w->set("imagepath",$atual.$diretorios[2]."/"); @@ -620,6 +620,15 @@ Function: MostraAguarde Mostra a mensagem de aguarde +Globals: + +$interface + +$caminho + +$mensagemInicia + +$tituloInstituicao */ function mostraAguarde() { @@ -643,6 +652,12 @@ function mostraAguarde() Function: insereWKTUrl Insere elementos no mapa a partir de uma string definida em wkt + +Globals: + +$wkt - string no formato wkt + +$nometemawkt - nome do tema que será criado */ function insereWKTUrl() { @@ -708,7 +723,13 @@ function insereWKTUrl() /* Function: inserePontosUrl -Insere um novo tema com os pontos definidos na variável $pontos +Insere um tema do tipo ponto + +Globals: + +$pontos - lista de coordenadas x,y + +$nometemapontos - nome do tema que será criado */ function inserePontosUrl() @@ -734,6 +755,8 @@ function inserePontosUrl() $db=xbase_open($dbname,2); $novoshpf = ms_newShapefileObj($nomeshp, $tipol); $pontos = explode(" ",trim($pontos)); + if(count($pontos) == 0) + $pontos = explode(",",trim($pontos)); foreach ($pontos as $p) {if (is_numeric($p)){$pontosn[] = $p;}} $pontos = $pontosn; @@ -771,10 +794,15 @@ function inserePontosUrl() /* Function: insereLinhasUrl -Insere um novo tema com as linhas definidas na variável $linhas +Insere um tema do tipo linear As linhas devem ter os pontos separados por espaços e cada linha separada por vírgula +Globals: + +$linhas - lista de coordenadas + +$nometemalinhas - nome do tema que será criado */ function insereLinhasUrl() { @@ -846,10 +874,16 @@ function insereLinhasUrl() /* Function: inserePoligonosUrl -Insere um novo tema com os poligonos definidas na variável $poligonos +Insere um tema poligonal. Os polígonos devem ter os pontos separados por espaços e cada polígono separado por vírgula +Globals: + +$poligonos - lista de coordenadas + +$nometemapoligonos - nome do tema que será criado + */ function inserePoligonosUrl() { diff --git a/ogc.php b/ogc.php index d803add..bb0f345 100644 --- a/ogc.php +++ b/ogc.php @@ -74,8 +74,8 @@ include("classesphp/classe_menutemas.php"); // $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); $protocolo = $protocolo[0]; -$protocolo1 = strtolower($protocolo . '://'.$_SERVER['SERVER_NAME']); -$protocolo = $protocolo . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT']; +$protocolo1 = strtolower($protocolo) . '://'.$_SERVER['SERVER_NAME']; +$protocolo = strtolower($protocolo) . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT']; $urli3geo = str_replace("/ogc.php","",$protocolo.$_SERVER["PHP_SELF"]); // //pega a lista de menus que será processada @@ -83,19 +83,20 @@ $urli3geo = str_replace("/ogc.php","",$protocolo.$_SERVER["PHP_SELF"]); //pelo método Menutemas // if(!isset($perfil)){$perfil = "";} -if ($menutemas == "") +if($menutemas != "" || is_array($menutemas)) { - $m = new Menutemas("",$perfil,$locsistemas,$locaplic,"",$urli3geo); - foreach($m->pegaListaDeMenus() as $menu) + foreach($menutemas as $m) { - $menus[] = $menu["url"]; + $menus[] = $m["arquivo"]; } + } else { - foreach($menutemas as $m) + $m = new Menutemas("",$perfil,$locsistemas,$locaplic,"",$urli3geo); + foreach($m->pegaListaDeMenus() as $menu) { - $menus[] = $m["arquivo"]; + $menus[] = $menu["url"]; } } if(!isset($menus)) @@ -245,6 +246,8 @@ else { $conta = 0; $int = explode(",",$intervalo); + $codigosTema = array(); + //var_dump($menus);exit; foreach ($menus as $menu) { $xml = simplexml_load_file($menu); @@ -256,40 +259,43 @@ else { if (mb_convert_encoding($tm->OGC,"HTML-ENTITIES","auto") == "") { - $codigoTema = mb_convert_encoding($tm->TID,"HTML-ENTITIES","auto"); - if (@ms_newMapobj("temas/".$codigoTema.".map")) + $codigosTema[] = mb_convert_encoding($tm->TID,"HTML-ENTITIES","auto"); + } + } + } + } + } + foreach($codigosTema as $codigoTema) + { + if (@ms_newMapobj("temas/".$codigoTema.".map")) + { + $nmap = ms_newMapobj("temas/".$codigoTema.".map"); + $ts = $nmap->getalllayernames(); + if (count($ts) == 1) + { + foreach ($ts as $t) + { + if ($oMap->getlayerbyname($t) == "") + { + $conta++; + if (($conta >= $int[0]) && ($conta <= $int[1])) { - $nmap = ms_newMapobj("temas/".$codigoTema.".map"); - $ts = $nmap->getalllayernames(); - if (count($ts) == 1) - { - foreach ($ts as $t) - { - if ($oMap->getlayerbyname($t) == "") - { - $conta++; - if (($conta >= $int[0]) && ($conta <= $int[1])) - { - $l = $nmap->getlayerbyname($t); - $l->setmetadata("ows_title",pegaNome($l)); - $l->setmetadata("ows_srs","EPSG:4291 EPSG:4326"); - $l->set("status",MS_OFF); - $l->setmetadata("gml_include_items","all"); - $l->set("dump",MS_TRUE); - $l->setmetadata("WMS_INCLUDE_ITEMS","all"); - $l->setmetadata("WFS_INCLUDE_ITEMS","all"); - $l->setmetadata("ows_metadataurl_href",mb_convert_encoding($tm->TLINK,"HTML-ENTITIES","auto")); - $l->setmetadata("ows_metadataurl_type","TC211"); - $l->setmetadata("ows_metadataurl_format","text/html"); - ms_newLayerObj($oMap, $l); - } - } - } - } + $l = $nmap->getlayerbyname($t); + $l->setmetadata("ows_title",pegaNome($l)); + $l->setmetadata("ows_srs","EPSG:4291 EPSG:4326"); + $l->set("status",MS_OFF); + $l->setmetadata("gml_include_items","all"); + $l->set("dump",MS_TRUE); + $l->setmetadata("WMS_INCLUDE_ITEMS","all"); + $l->setmetadata("WFS_INCLUDE_ITEMS","all"); + $l->setmetadata("ows_metadataurl_href",mb_convert_encoding($tm->TLINK,"HTML-ENTITIES","auto")); + $l->setmetadata("ows_metadataurl_type","TC211"); + $l->setmetadata("ows_metadataurl_format","text/html"); + ms_newLayerObj($oMap, $l); } } } - } + } } } } -- libgit2 0.21.2