From ff5a8b98f27bd7fecb47855e66d5464037a16c61 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Tue, 13 Oct 2015 18:08:41 +0000 Subject: [PATCH] --- ferramentas/parametrossql/ogc.php | 9 ++++++--- mashups/osm.php | 62 ++++++++++++++++++++++++++++++++++++-------------------------- 2 files changed, 42 insertions(+), 29 deletions(-) diff --git a/ferramentas/parametrossql/ogc.php b/ferramentas/parametrossql/ogc.php index 03eed3a..c5a5a81 100755 --- a/ferramentas/parametrossql/ogc.php +++ b/ferramentas/parametrossql/ogc.php @@ -174,7 +174,8 @@ else{ if($c["chave"] != ""){ //valores definidos no plugin como uma string if($c["valores"] != ""){ - $plugin[] = explode(",",$c["valores"])[0]; + $temp = explode(",",$c["valores"]); + $plugin[] = $temp[0]; } elseif ($c["prog"] != ""){ $plugin[] = execProg($locaplic."/".$c["prog"]); @@ -182,7 +183,8 @@ else{ } } $plugin = implode(",",$plugin); - } + } + $l->setmetadata("TEMA",$l->getmetadata("TEMA")." - ".$plugin); $valores = str_ireplace(array(" and ", " or ", "select","from","where","update","delete","insert","--"),"",$plugin); $valores = explode(",",strip_tags($valores)); for($i = 0; $i < $n; $i++){ @@ -196,7 +198,8 @@ else{ } if($filtro != ""){ $l->setfilter($filtro); - } + } + $l->set("data",$data); //acrecenta-se um md5 apos o nome caso seja necessario gerar cache if($cache == true){ diff --git a/mashups/osm.php b/mashups/osm.php index 1e4a5ab..f14929d 100755 --- a/mashups/osm.php +++ b/mashups/osm.php @@ -25,6 +25,7 @@ if($nocache == "sim"){ else{ $nocache = ""; } +//guarda os parametros das camadas que possuem plugins configurados $temasPluginI3Geo = array(); // // recupera um mapa salvo no banco de administracao @@ -241,6 +242,8 @@ if(isset($fundo) && $fundo != ""){ // // define quais os layers que comporão o mapa // +//$objOpenLayers guarda a string javascript que sera usada para criar os objetos +//layer do OpenLayers if(isset($temas)){ $objOpenLayers = array(); } @@ -266,9 +269,9 @@ if($temas != ""){ // $listaFerramentas = array("tme","storymap"); foreach($temas as $tema){ - // - //utilzado para obter os parametros de ferramentas especificas indicadas nos metadados do LAYER - // + // + //utilzado para obter os parametros de ferramentas especificas indicadas nos metadados do LAYER + // $ferramentas = array(); if(file_exists($locaplic."/temas/".$tema.".gvp")){ include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); @@ -303,14 +306,18 @@ if($temas != ""){ $layern = $maptemp->getLayer($i); if($layern->getmetadata("PLUGINI3GEO") != ""){ //obtem os dados necessarios para iniciar o plugin + //os objetos layer (openLayers) sao criados apenas no final + //do processo, pois necessitam usar javascript e nao apenas PHP $temasPluginI3Geo[] = array( "name"=>$layern->name, "tema"=>$layern->getmetadata("tema"), "plugin"=>$layern->getmetadata("PLUGINI3GEO"), "cache"=>strtoupper($layern->getmetadata("cache")), "transitioneffect"=>strtoupper($layern->getmetadata("transitioneffect")), - "tiles"=>strtoupper($layern->getmetadata("tiles")) + "tiles"=>strtoupper($layern->getmetadata("tiles")), + "posicaoLayer"=>count($objOpenLayers) ); + $objOpenLayers[] = ""; } else{ $layersNomes[] = $layern->name; @@ -712,9 +719,30 @@ i3GEO.editorOL.mapa = new OpenLayers.Map( if(i3GEO.configura.locaplic === ""){ i3GEO.configura.locaplic = "../"; } - +//faz a inclusao das camadas que possuem plugins +//veja o codigo PHP abaixo da funcao +//a variavel i3GEO.editorOL.layersIniciais ja contem a entrada para o layer +//mas vazia. Isso e necessario para incluir a camada na ordem correta +function adicionaPluginI3geo(camada,visivel,indice){ + if(!camada.cache){ + camada["cache"] = "NAO"; + } + var n, i, l = i3GEO.pluginI3geo.layerMashup("openlayers",camada,"4326"); + n = l.length; + for(i = 0; i < n; i++){ + if(l[i].displayInLayerSwitcher === true){ + l[i].setVisibility(visivel); + } + if(l[i] != true){ + i3GEO.editorOL.layersIniciais[indice] = l[i]; + } + } +} - i3GEO.editorOL.inicia(); - - function adicionaPluginI3geo(camada,visivel){ - if(!camada.cache){ - camada["cache"] = "NAO"; - } - var l = i3GEO.pluginI3geo.layerMashup("openlayers",camada,"4326"), - n, - i; - n = l.length; - for(i = 0; i < n; i++){ - if(l[i].displayInLayerSwitcher === true){ - l[i].setVisibility(visivel); - } - if(l[i] != true){ - i3GEO.editorOL.layersIniciais.push(l[i]); - } - } + echo "adicionaPluginI3geo(camada,".$visivel.",".$t["posicaoLayer"].");\n"; } +?> +i3GEO.editorOL.inicia(); -- libgit2 0.21.2