From 0ae1d80445a27b9db0c0a5c99e8f4dbf39d1a065 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Wed, 3 Jun 2015 02:33:23 +0000 Subject: [PATCH] Inclusão de parâmetros para storymap no editor de mapfiles --- classesphp/classe_mapa.php | 8 ++++++++ ferramentas/atalhosedicao/index.js | 9 +++++++++ ferramentas/atalhosedicao/template_mst.html | 4 ++++ ferramentas/storymap/default.php | 3 ++- ferramentas/storymap/dicionario.js | 10 ++++++++++ ferramentas/storymap/index.js | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------- ferramentas/storymap/manutencao.php | 16 ++++++++-------- interface/black_editor.php | 2 +- json.php | 30 +++++++++++++++++++++--------- temas/_lreal.map | 61 ++++++++++++++++++++++++++++++++----------------------------- 10 files changed, 170 insertions(+), 140 deletions(-) diff --git a/classesphp/classe_mapa.php b/classesphp/classe_mapa.php index a416dc2..3e0594e 100644 --- a/classesphp/classe_mapa.php +++ b/classesphp/classe_mapa.php @@ -444,6 +444,14 @@ class Mapa } $ferramentas["tme"] = json_decode($f); } + //storymap + if($oLayer->getmetadata("storymap") != ""){ + $f = $oLayer->getmetadata("storymap"); + if (!mb_detect_encoding($f,"UTF-8",true)){ + $f = mb_convert_encoding($f,"UTF-8","ISO-8859-1"); + } + $ferramentas["storymap"] = json_decode($f); + } //formatacao antiga, antes da versao 6.0 /* $temas[] = array( diff --git a/ferramentas/atalhosedicao/index.js b/ferramentas/atalhosedicao/index.js index 3128c57..33cffcc 100755 --- a/ferramentas/atalhosedicao/index.js +++ b/ferramentas/atalhosedicao/index.js @@ -132,6 +132,15 @@ i3GEOF.atalhosedicao = } }); $i("i3GEOFatalhosedicaoTme-button").style.width = "200px"; + new YAHOO.widget.Button("i3GEOFatalhosedicaoStorymap", { + onclick : { + fn : function() { + i3GEO.temaAtivo = i3GEOF.atalhosedicao.tema; + i3GEO.tema.dialogo.storymap(i3GEOF.atalhosedicao.tema); + } + } + }); + $i("i3GEOFatalhosedicaoStorymap-button").style.width = "200px"; // //atualiza os campos que dependem de parametros de cada camada // diff --git a/ferramentas/atalhosedicao/template_mst.html b/ferramentas/atalhosedicao/template_mst.html index 2e915b6..5743424 100755 --- a/ferramentas/atalhosedicao/template_mst.html +++ b/ferramentas/atalhosedicao/template_mst.html @@ -65,4 +65,8 @@

+
+

+ +

\ No newline at end of file diff --git a/ferramentas/storymap/default.php b/ferramentas/storymap/default.php index 25ff7f7..6aaa5bf 100755 --- a/ferramentas/storymap/default.php +++ b/ferramentas/storymap/default.php @@ -3,7 +3,8 @@ echo "&tema nao definido"; exit; } - if(!file_exists(dirname(__FILE__)."/../../temas/".$_GET["tema"])){ + //echo dirname(__FILE__)."/../../temas/".$_GET["tema"]; + if(!file_exists(dirname(__FILE__)."/../../temas/".$_GET["tema"].".map")){ echo "&tema nao existe"; exit; } diff --git a/ferramentas/storymap/dicionario.js b/ferramentas/storymap/dicionario.js index a18fa79..60bc55d 100755 --- a/ferramentas/storymap/dicionario.js +++ b/ferramentas/storymap/dicionario.js @@ -69,5 +69,15 @@ i3GEOF.storymap.dicionario = { pt : "Coluna com a latitude (em DD)", en : "", es : "" + } ], + 'removePar' : [ { + pt : "Remove os parâmetros armazenados no tema?", + en : "", + es : "" + } ], + 'incluiPar' : [ { + pt : "Inclui os parâmetros no tema?", + en : "", + es : "" } ] }; diff --git a/ferramentas/storymap/index.js b/ferramentas/storymap/index.js index e14cd1b..48f79b8 100755 --- a/ferramentas/storymap/index.js +++ b/ferramentas/storymap/index.js @@ -7,6 +7,8 @@ Abre apenas se o usuário estiver logado +Para testar utilize http://localhost/i3geo/ms_criamapa.php?temasa=_lreal + Arquivo: i3geo/ferramentas/storymap/index.js.php @@ -109,7 +111,7 @@ i3GEOF.storymap = inicia : function(iddiv) { var camada = ""; i3GEO.janela.comboCabecalhoTemas("i3GEOFstoComboCabeca", "i3GEOFstoComboCabecaSel", "storymap", "ligadosComTabela"); - if(i3GEOF.storymap.tema === ""){ + if (i3GEOF.storymap.tema === "") { return; } $i(iddiv).innerHTML = i3GEOF.storymap.html(); @@ -120,45 +122,38 @@ i3GEOF.storymap = // if (i3GEO.arvoreDeCamadas) { camada = i3GEO.arvoreDeCamadas.pegaTema(i3GEOF.storymap.tema); - if (camada != "" && camada.ferramentas.storymap) { - if(camada.ferramentas.storymap.auto === "sim"){ - $i("ativaAoAdic").checked = true; - } - if(camada.ferramentas.storymap.exec === "sim"){ - $i("execAoAdic").checked = true; - } - } } - //cria os combos de opcao + // cria os combos de opcao var temp = function(r) { - var combo = function (dados, idonde){ - var n,i,ins; + var combo = function(dados, idonde) { + var n, i, ins; n = dados.length; - ins = ""; ins += ""; for (i = 0; i < n; i++) { - ins += ""; + ins += ""; } ins += ""; $i(idonde).innerHTML = ins; }; - combo(r.data.valores,"i3GEOstocolcabecalho"); - combo(r.data.valores,"i3GEOstocoltexto"); - combo(r.data.valores,"i3GEOstocollocal"); - combo(r.data.valores,"i3GEOstocolicone"); - combo(r.data.valores,"i3GEOstocolmedia"); - combo(r.data.valores,"i3GEOstocollon"); - combo(r.data.valores,"i3GEOstocollat"); + combo(r.data.valores, "i3GEOstocolcabecalho"); + combo(r.data.valores, "i3GEOstocoltexto"); + combo(r.data.valores, "i3GEOstocollocal"); + combo(r.data.valores, "i3GEOstocolicone"); + combo(r.data.valores, "i3GEOstocolmedia"); + combo(r.data.valores, "i3GEOstocollon"); + combo(r.data.valores, "i3GEOstocollat"); // se os parametros da ferramenta estiverem definidos na camada - if (camada != "" && camada.ferramentas.storymap && camada.ferramentas.storymap.exec === "sim") { - i3GEO.util.defineValor("i3GEOstocolcabecalho", "value", camada.ferramentas.storymap.colcabecalho); - i3GEO.util.defineValor("i3GEOstocoltexto", "value", camada.ferramentas.storymap.coltexto); - i3GEO.util.defineValor("i3GEOstocollocal", "value", camada.ferramentas.storymap.collocal); - i3GEO.util.defineValor("i3GEOstocolicone", "value", camada.ferramentas.storymap.colicone); - i3GEO.util.defineValor("i3GEOstocolmedia", "value", camada.ferramentas.storymap.colmedia); - i3GEO.util.defineValor("i3GEOstocollon", "value", camada.ferramentas.storymap.collon); - i3GEO.util.defineValor("i3GEOstocollat", "value", camada.ferramentas.storymap.collat); - i3GEOF.storymap.ativa(); + if (camada != "" && camada.ferramentas.storymap) { + $i("i3GEOStocabecalho").value = camada.ferramentas.storymap.cabecalho; + $i("i3GEOStotexto").value = camada.ferramentas.storymap.texto; + $i("i3GEOstocolcabecalhoCombo").value = camada.ferramentas.storymap.colcabecalho; + $i("i3GEOstocoltextoCombo").value = camada.ferramentas.storymap.coltexto; + $i("i3GEOstocollocalCombo").value = camada.ferramentas.storymap.collocal; + $i("i3GEOstocoliconeCombo").value = camada.ferramentas.storymap.colicone; + $i("i3GEOstocolmediaCombo").value = camada.ferramentas.storymap.colmedia; + $i("i3GEOstocollonCombo").value = camada.ferramentas.storymap.collon; + $i("i3GEOstocollatCombo").value = camada.ferramentas.storymap.collat; } }; i3GEO.php.listaItensTema(temp, i3GEOF.storymap.tema); @@ -186,8 +181,8 @@ i3GEOF.storymap = var b = new YAHOO.widget.Button("i3GEOstobotao1", { onclick : { - fn : function(){ - window.open(i3GEO.configura.locaplic+"/ferramentas/storymap/default.php?tema="+i3GEOF.storymap.tema); + fn : function() { + window.open(i3GEO.configura.locaplic + "/ferramentas/storymap/default.php?tema=" + i3GEOF.storymap.tema); } } }); @@ -257,68 +252,56 @@ i3GEOF.storymap = }; YAHOO.util.Event.addListener(janela[0].close, "click", temp); }, - salvaParametros: function(){ - //monta a string JSON que sera enviada para gravacao - //'{"titulo":"População","colnome":"CNTRY_NAME","colsdata":["POP_CNTRY"],"lmax":"100000","amax":"2000000","auto":"sim","exec":"sim"}' - var j, auto = "nao", exec = "nao"; - if($i("ativaAoAdic").checked === true){ - auto = "sim"; - } - if($i("execAoAdic").checked === true){ - exec = "sim"; - } + salvaParametros : function() { + var j; + j = + '{"cabecalho":"' + $i("i3GEOStocabecalho").value + + '","texto":"' + + $i("i3GEOStotexto").value + + '","colcabecalho":"' + + $i("i3GEOstocolcabecalhoCombo").value + + '","coltexto":"' + + $i("i3GEOstocoltextoCombo").value + + '","collocal":"' + + $i("i3GEOstocollocalCombo").value + + '","colicone":"' + + $i("i3GEOstocoliconeCombo").value + + '","colmedia":"' + + $i("i3GEOstocolmediaCombo").value + + '","collon":"' + + $i("i3GEOstocollonCombo").value + + '","collat":"' + + $i("i3GEOstocollatCombo").value + + '"}'; - j = '{"titulo":"' - + $i("i3GEOTMEtitulo").value - + '","colnome":"' - + $i("i3GEOTMEregioes").value - + '","colsdata":[' - + '"' + colsdata.join('","') + '"' - + '],"lmax":"' - + $i("i3GEOTMEmaxHeight").value - + '","amax":"' - + $i("i3GEOTMEbarSize").value - + '","outlinecolor":"' - + $i("i3GEOTMEoutlinecolor").value - + '","numvertices":"' - + $i("i3GEOTMEnumvertices").value - + '","auto":"' - + auto - + '","exec":"' - + exec - + '"}'; + i3GEO.janela.confirma($trad("incluiPar", i3GEOF.storymap.dicionario), 300, $trad("x14"), "", function() { + p = i3GEO.configura.locaplic + "/ferramentas/storymap/manutencao.php"; + par = + "&g_sid=" + i3GEO.configura.sid + + "&tema=" + + i3GEOF.storymap.tema + + "&storymap=" + + i3GEO.util.base64encode(j) + + "&funcao=inclui"; + + retorno = function(retorno) { + i3GEO.janela.fechaAguarde("storymap"); + }; + i3GEO.janela.abreAguarde("storymap", $trad("o1")); + cpJSON.call(p, "foo", retorno, par); + }); - i3GEO.janela.confirma($trad("incluiPar", i3GEOF.storymap.dicionario), 300, $trad("x14"), - "", function() { - p = i3GEO.configura.locaplic + "/ferramentas/tme/manutencao.php"; - par = "&g_sid=" + i3GEO.configura.sid - + "&tema=" + i3GEOF.storymap.tema - + "&tme=" + i3GEO.util.base64encode(j) - + "&funcao=incluitme"; - - retorno = - function(retorno) { - i3GEO.janela.fechaAguarde("tme"); - }; - i3GEO.janela.abreAguarde("tme", $trad("o1")); - cpJSON.call(p, "foo", retorno, par); - }); - }, - removeParametros: function(){ - i3GEO.janela.confirma($trad("removePar", i3GEOF.storymap.dicionario), 300, $trad("x14"), - "", function() { - p = i3GEO.configura.locaplic + "/ferramentas/tme/manutencao.php"; - par = "&g_sid=" + i3GEO.configura.sid - + "&tema=" + i3GEOF.storymap.tema - + "&funcao=removetme"; - - retorno = - function(retorno) { - i3GEO.janela.fechaAguarde("tme"); - }; - i3GEO.janela.abreAguarde("tme", $trad("o1")); - cpJSON.call(p, "foo", retorno, par); - }); + removeParametros : function() { + i3GEO.janela.confirma($trad("removePar", i3GEOF.storymap.dicionario), 300, $trad("x14"), "", function() { + p = i3GEO.configura.locaplic + "/ferramentas/storymap/manutencao.php"; + par = "&g_sid=" + i3GEO.configura.sid + "&tema=" + i3GEOF.storymap.tema + "&funcao=remove"; + + retorno = function(retorno) { + i3GEO.janela.fechaAguarde("storymap"); + }; + i3GEO.janela.abreAguarde("storymap", $trad("o1")); + cpJSON.call(p, "foo", retorno, par); + }); } }; \ No newline at end of file diff --git a/ferramentas/storymap/manutencao.php b/ferramentas/storymap/manutencao.php index f280208..f0a1ebd 100755 --- a/ferramentas/storymap/manutencao.php +++ b/ferramentas/storymap/manutencao.php @@ -2,8 +2,8 @@ include_once(dirname(__FILE__)."/../inicia.php"); include_once(dirname(__FILE__)."/../../admin/php/login.php"); $funcoesEdicao = array( - "REMOVETME", - "INCLUITME" + "REMOVE", + "INCLUI" ); if(in_array(strtoupper($funcao),$funcoesEdicao)){ if(verificaOperacaoSessao("admin/html/editormapfile") == false){ @@ -17,11 +17,11 @@ error_reporting(0); $retorno = ""; //string que será retornada ao browser via JSON switch (strtoupper($funcao)) { - case "REMOVETME": + case "REMOVE": $mapa = ms_newMapObj($map_file); $l = $mapa->getlayerbyname($tema); if($l != ""){ - $l->setmetadata("tme",""); + $l->setmetadata("storymap",""); $mapa->save($map_file); } $arq = $locaplic."/temas/".$tema.".map"; @@ -29,18 +29,18 @@ switch (strtoupper($funcao)) $mapa = ms_newMapObj($arq); $l = $mapa->getlayerbyname($tema); if($l != ""){ - $l->setmetadata("tme",""); + $l->setmetadata("storymap",""); $mapa->save($arq); removeCabecalho($arq); } } $retorno = "ok"; break; - case "INCLUITME": + case "INCLUI": $mapa = ms_newMapObj($map_file); $l = $mapa->getlayerbyname($tema); if($l != ""){ - $l->setmetadata("tme",base64_decode($tme)); + $l->setmetadata("storymap",base64_decode($storymap)); $mapa->save($map_file); } $arq = $locaplic."/temas/".$tema.".map"; @@ -48,7 +48,7 @@ switch (strtoupper($funcao)) $mapa = ms_newMapObj($arq); $l = $mapa->getlayerbyname($tema); if($l != ""){ - $l->setmetadata("tme",base64_decode($tme)); + $l->setmetadata("storymap",base64_decode($storymap)); $mapa->save($arq); removeCabecalho($arq); } diff --git a/interface/black_editor.php b/interface/black_editor.php index 2cbcce3..fcbd47d 100755 --- a/interface/black_editor.php +++ b/interface/black_editor.php @@ -193,7 +193,7 @@ format : "jpeg" }, { isBaseLayer : true, - visibility : false + visibility : true }); var bra = new OpenLayers.Layer.WMS( "Base carto MMA", diff --git a/json.php b/json.php index b950e8e..972ccfa 100755 --- a/json.php +++ b/json.php @@ -126,15 +126,26 @@ $oMap = ms_newMapobj($nomeMapfileTmp); $data = pegaDadosJ(); if($format == "storymap"){ //parametros via URL - $cabecalho = converteenc("Cabeçalho do primeiro slide"); - $texto = "Texto do primeiro slide"; - $coltexto = "COMENTARIO"; - $colcabecalho = "NOME"; - $collocal = "ZONA"; - $colicone = ""; - $collon = "LONGITUDE"; - $collat = "LATITUDE"; - $colmedia = "URL"; + $layer = $oMap->getlayerbyname($tema); + if($layer == ""){ + echo "Layer nao encontrado"; + exit; + } + $storymap = $layer->getmetadata("storymap"); + if($storymap == ""){ + echo "Parametros nao definidos no METADATA storymap"; + exit; + } + $storymap = json_decode($storymap,true); + $cabecalho = converteenc($storymap["cabecalho"]); + $texto = converteenc($storymap["texto"]); + $coltexto = $storymap["coltexto"]; + $colcabecalho = $storymap["colcabecalho"]; + $collocal = $storymap["collocal"]; + $colicone = $storymap["colicone"]; + $collon = $storymap["collon"]; + $collat = $storymap["collat"]; + $colmedia = $storymap["colmedia"]; $par = array( "cabecalho"=>$cabecalho, @@ -211,6 +222,7 @@ function storymap($par){ ); //echo "
";var_dump($j);exit;
 	$contents = json_encode($j);
+	//var_dump($contents);exit;
 	file_put_contents($nomeArq.".json",$contents);
 	//envia para download
 	ob_clean();
diff --git a/temas/_lreal.map b/temas/_lreal.map
index 748c075..ec5b77d 100755
--- a/temas/_lreal.map
+++ b/temas/_lreal.map
@@ -1,29 +1,32 @@
-MAP
-  FONTSET "../symbols/fontes.txt"
-  SYMBOLSET "../symbols/simbolosv6.sym"
-  LAYER
-    CONNECTION ""
-    DATA "/var/www/i3geo/aplicmap/dados/estradareal/novo.shp"
-    METADATA
-     "CLASSE"	"SIM"
-     "TEMA"	"Caminho Novo Estrada Real"
-    END # METADATA
-    NAME "_lreal"
-    PROCESSING "LABEL_NO_CLIP=True"
-    PROCESSING "POLYLINE_NO_CLIP=True"
-    STATUS DEFAULT
-    TEMPLATE "none.htm"
-    TYPE POINT
-    UNITS METERS
-    CLASS
-      NAME ""
-      STYLE
-        COLOR 250 0 0
-        SIZE 15
-        SYMBOL "ponto"
-      END # STYLE
-      TITLE ""
-    END # CLASS
-
-  END # LAYER
-END # MAP
+MAP
+  FONTSET "../symbols/fontes.txt"
+  SYMBOLSET "../symbols/simbolosv6.sym"
+  LAYER
+    CONNECTION ""
+    DATA "/var/www/i3geo/aplicmap/dados/estradareal/novo.shp"
+    METADATA
+      "CLASSE"	"SIM"
+      "TEMA"	"Caminho Novo Estrada Real"
+      "storymap"	'{"cabecalho":"Primeiro slide","texto":"Texto do primeiro slide da apresentação","colcabecalho":"NOME","coltexto":"COMENTARIO","collocal":"NOME","colicone":"","colmedia":"URL","collon":"LONGITUDE","collat":"LATITUDE"}'
+    END # METADATA
+    NAME "_lreal"
+    PROCESSING "LABEL_NO_CLIP=True"
+    PROCESSING "POLYLINE_NO_CLIP=True"
+    STATUS DEFAULT
+    TEMPLATE "none.htm"
+    TILEITEM "location"
+    TYPE POINT
+    UNITS METERS
+    CLASS
+      NAME ""
+      STYLE
+        COLOR 250 0 0
+        SIZE 15
+        SYMBOL "ponto"
+      END # STYLE
+      TITLE ""
+    END # CLASS
+  END # LAYER
+
+END # MAP
+
--
libgit2 0.21.2