From 166f5f1e286dbd606a65c47d3b85d99315d701bf Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Mon, 21 Feb 2011 15:42:19 +0000 Subject: [PATCH] --- classesjs/classe_interface.js | 8 ++++++-- classesjs/classe_mapa.js | 11 +++++++++-- classesphp/mapa_controle.php | 22 ++++++++++++++++++++++ 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/classesjs/classe_interface.js b/classesjs/classe_interface.js index edb8df4..2df17f2 100644 --- a/classesjs/classe_interface.js +++ b/classesjs/classe_interface.js @@ -949,7 +949,8 @@ i3GEO.Interface = { var layers = i3geoOL.getLayersByName(obj.value), temp = function(){i3GEO.mapa.legendaHTML.atualiza();}, desligar = "", - ligar = ""; + ligar = "", + b; if(layers.length > 0){ layers[0].setVisibility(obj.checked); if(obj.checked) @@ -962,8 +963,11 @@ i3GEO.Interface = { desligar = obj.value; i3GEO.arvoreDeCamadas.alteraPropCamadas("status","0",obj.value); } - i3GEO.php.ligatemas(temp,desligar,ligar); + //i3GEO.php.ligatemas(temp,desligar,ligar); //beacons pattern + b = new Image(); + b.src = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?funcao=ligatemasbeacon&desligar="+desligar+"&ligar="+ligar+"&adicionar=nao&g_sid="+i3GEO.configura.sid; + b.onerror = function(){i3GEO.mapa.legendaHTML.atualiza();} } }, ativaFundo: function(id){ diff --git a/classesjs/classe_mapa.js b/classesjs/classe_mapa.js index 1fc6a8c..2880ec5 100644 --- a/classesjs/classe_mapa.js +++ b/classesjs/classe_mapa.js @@ -256,7 +256,8 @@ i3GEO.mapa = { */ atualiza: function(){ if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.legendaHTML.atualiza()");} - var temp = function(retorno){ + var idleg, + temp = function(retorno){ var s,ins,elementos,i; if(i3GEO.mapa.legendaHTML.ID !== "" && $i(i3GEO.mapa.legendaHTML.ID)){ if ((retorno.data !== "erro") && (retorno.data !== undefined)){ @@ -275,7 +276,13 @@ i3GEO.mapa = { {elementos[i].style.display="none";} } }; - if(i3GEO.mapa.legendaHTML.ID !== "" || $i("wlegenda")) + if(i3GEO.mapa.legendaHTML.ID !== ""){ + idleg = $i(i3GEO.mapa.legendaHTML.ID); + if(idleg && idleg.style.display === "block") + {i3GEO.mapa.legendaHTML.obtem(temp);} + } + idleg = $i("wlegenda"); + if (idleg && idleg.style.display === "block") {i3GEO.mapa.legendaHTML.obtem(temp);} }, /* diff --git a/classesphp/mapa_controle.php b/classesphp/mapa_controle.php index 458a1e5..f0cee8b 100644 --- a/classesphp/mapa_controle.php +++ b/classesphp/mapa_controle.php @@ -952,6 +952,28 @@ Liga e desliga temas no mapa atual. $m->salva(); break; /* +Valor: LIGATEMASBEACON + +Liga e desliga temas no mapa atual partindo de uma chamada via tag IMG + +Retorna um código de erro para indicar o fim do retorno. + +Veja no livro "Javascript de Alto Desempenho", de Nicholas C. Zakas pg. 162 + +ligaDesligaTemas> +*/ + case "LIGATEMASBEACON": + include_once("classe_mapa.php"); + copiaSeguranca($map_file); + $m = new Mapa($map_file,$locaplic); + $retorno = $m->ligaDesligaTemas($ligar,$desligar,$adicionar); + $m->salva(); + ob_start(); + header("HTTP/1.1 204 Not Content"); + header("Status: 204 Not Content"); + ob_end_flush(); + break; +/* Valor: ADTEMA Adiciona um novo tema ao mapa. -- libgit2 0.21.2