From b787ef65aaa5d969fc158ee8b353ffe3b9c3f0bb Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Sun, 1 Jun 2014 15:40:45 +0000 Subject: [PATCH] v6 - inclusão de conversão base64 na ferramenta legenda quando da transferência dos parâmetros de cada classe cliente->servidor --- admin/admin.db | Bin 263168 -> 0 bytes classesphp/classe_alteraclasse.php | 16 +++++++++++----- classesphp/mapa_controle.php | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------ ferramentas/legenda/index.js | 59 +++++++++++++++++++++++++++++++++++------------------------ 4 files changed, 100 insertions(+), 77 deletions(-) diff --git a/admin/admin.db b/admin/admin.db index 273c70f..1b1173f 100644 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/classesphp/classe_alteraclasse.php b/classesphp/classe_alteraclasse.php index eb8eb72..06a4bb0 100644 --- a/classesphp/classe_alteraclasse.php +++ b/classesphp/classe_alteraclasse.php @@ -171,19 +171,25 @@ $ids - lista de ids, separados por vírgula, que identificam as classes no $nomes - lista com os novos nomes $exps - lista com as novas expressões + +$base64 sim|nao indica se as strings estao codificadas em base64 */ - function alteraclasses($ids,$nomes,$exps) + function alteraclasses($ids,$nomes,$exps,$base64="nao") { + if($base64 == "sim"){ + $ids = base64_decode($ids); + $nomes = base64_decode($nomes); + $exps = base64_decode($exps); + } //prepara os arrays com os valores $ids = explode(";",$ids); - $nomes = mb_convert_encoding($nomes,"ISO-8859-1","UTF-8"); + //$nomes = mb_convert_encoding($nomes,"ISO-8859-1","UTF-8"); $nomes = explode(";",$nomes); - $exps = mb_convert_encoding($exps,"ISO-8859-1","UTF-8"); + //$exps = mb_convert_encoding($exps,"ISO-8859-1","UTF-8"); $exps = explode(";",$exps); //pega os layers existentes no array ids e armazena no array t $c = count($ids); - for ($i=0; $i < $c; ++$i) - { + for ($i=0; $i < $c; ++$i){ $tx = explode("-",$ids[$i]); $t[] = $tx[0]; } diff --git a/classesphp/mapa_controle.php b/classesphp/mapa_controle.php index 8b37144..04c2018 100644 --- a/classesphp/mapa_controle.php +++ b/classesphp/mapa_controle.php @@ -28,7 +28,7 @@ cria o objeto cpaint-> carrega as funções de uso mais comuns-> -faz uma cópia de segurança do map_file-> +faz uma c�pia de segurança do map_file-> roda a função desejada-> @@ -52,7 +52,7 @@ de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral do GNU para mais detalhes. -Você deve ter recebido uma cópia da Licença Pública Geral do +Você deve ter recebido uma c�pia da Licença Pública Geral do GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. @@ -86,16 +86,16 @@ cp.call(p,"lente",ajaxabrelente) Variáveis de Seção: -dir_tmp - diretório, no servidor, temporário utilizado pelo I3Geo, exemplo: c:/ms4w/tmp/ms_tmp +dir_tmp - diret�rio, no servidor, temporário utilizado pelo I3Geo, exemplo: c:/ms4w/tmp/ms_tmp locmapserv - localização, no servidor, do CGI, exemplo: /cgi-bin/mapserv.exe locaplic - localização, no servidor, do I3Geo, exemplo: c:/ms4w/apache/htdocs/i3geo R_path - localização, no servidor, do executável do pacote R, exemplo: c:/ms4w/apache/htdocs/i3geo/pacotes/r/win/bin/R.exe imgurl - url das imagens geradas pelo mapa, exemplo: http://localhost/ms_tmp/imgTVHbdijFMk/ -tmpurl - url do diretório temporário, exemplo: http://localhost/ms_tmp/ +tmpurl - url do diret�rio temporário, exemplo: http://localhost/ms_tmp/ map_file - endereço, no servidor, do mapfile atual, exemplo: c:/ms4w/tmp/ms_tmp/TVHbdijFMk/TVHbdijFMk.map mapext - extensão geográfica do mapa atual, exemplo: -76.5125927 -39.3925675209 -29.5851853 9.49014852081 perfil - nome do perfil para controlar os temas que serão visíveis na lista de temas. -mapdir - localização, no servidor, do diretório com o mapfile temporário do mapa atual. +mapdir - localização, no servidor, do diret�rio com o mapfile temporário do mapa atual. imgdir - localização, no servidor, das imagens temporárias do mapa atual. debug - (pode ser definido como "sim" indica se o erro_reporting deve ser definido como E_ALL contadorsalva - indica quantas vezes o mapa já foi salvo. Permite que uma aplicação verifique se o mapa foi alterado ou não. @@ -175,7 +175,7 @@ if($funcao == "criaMapa"){ $d = ""; include_once(dirname(__FILE__)."/../ms_configura.php"); // - //é necessário mudar o diretório em função dos includes que são feitos pelo ms_criamapa.php + //é necessário mudar o diret�rio em função dos includes que são feitos pelo ms_criamapa.php // //chdir($locaplic); $interfaceTemp = $interface; @@ -192,7 +192,7 @@ if($funcao == "criaMapa"){ } if (!isset($map_file)) { - //nesse caso é necessário criar o diretório temporário e iniciar o mapa + //nesse caso é necessário criar o diret�rio temporário e iniciar o mapa //$cp->set_data(array("erro"=>"linkquebrado")); //$cp->return_data(); //cpjson(array("erro"=>"linkquebrado")); @@ -375,7 +375,7 @@ Valor: LISTAGEOMETRIAS Gera a lista de geometrias disponíveis para o mapa atual. -As geometrias são armazenadas no diretório temporário do usuário, utilizando um formato próprio do I3Geo. +As geometrias são armazenadas no diret�rio temporário do usuário, utilizando um formato pr�prio do I3Geo. listaGeometrias> */ @@ -390,7 +390,7 @@ Valor: CAPTURAGEOMETRIAS Gera um arquivo de geometrias, no formato I3Geo, para um tema, considerando os elementos selecionados. -As geometrias são armazenadas no diretório temporário do usuário, utilizando um formato próprio do I3Geo. +As geometrias são armazenadas no diret�rio temporário do usuário, utilizando um formato pr�prio do I3Geo. capturaGeometrias> */ @@ -419,7 +419,7 @@ Pega as mensagens do metadata 'mensagem'. /* Valor: REINICIAMAPA -Reinicia um mapa restaurando a cópia de segurança. +Reinicia um mapa restaurando a c�pia de segurança. */ case "REINICIAMAPA": $qyfile = str_replace(".map",".qy",$map_file); @@ -586,7 +586,7 @@ Lista os temas existentes em um mapa. /* Valor: LISTATEMASLOCAIS -Lista os temas existentes no diretório temporário do mapa atual. +Lista os temas existentes no diret�rio temporário do mapa atual. listaTemasLocais> */ @@ -640,7 +640,7 @@ 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. +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 @@ -829,9 +829,9 @@ Altera o valor definido no elemento DATA de um LAYER. /* Valor: REMOVERGEOMETRIAS -Remove geometrias do diretório temporário. +Remove geometrias do diret�rio temporário. -As geometrias são armazenadas no diretório temporário do usuário, utilizando um formato próprio do I3Geo. +As geometrias são armazenadas no diret�rio temporário do usuário, utilizando um formato pr�prio do I3Geo. removerGeometrias> */ @@ -1115,44 +1115,51 @@ Altera uma classe de um tema, aplicando uma nova classificação ou include_once("classe_alteraclasse.php"); copiaSeguranca($map_file); $m = new Alteraclasse($map_file,$tema,"",$ext); - if ($opcao == "aplicacoresrgb") - { + if ($opcao == "aplicacoresrgb"){ $cores = str_replace("rgb","",$cores); $cores = str_replace(")","",$cores); $cores = str_replace("(","",$cores); $retorno = $m->aplicacoresrgb(explode(";",$cores)); } - if ($opcao == "sobeclasse") - {$retorno = $m->sobeclasse($idclasse);} - if ($opcao == "desceclasse") - {$retorno = $m->desceclasse($idclasse);} - if ($opcao == "alteracor") - {$retorno = $m->alteracor($idclasse,$cor);} - if ($opcao == "adicionaopacidade") - {$retorno = $m->adicionaopacidade();} - if ($opcao == "alterageometria") - {$retorno = $m->alterageometria($tipo);} - if ($opcao == "adicionaclasse") - {$retorno = $m->adicionaclasse();} - if ($opcao == "valorunico") - {$retorno = $m->valorunico($item,$ignorar);} - if ($opcao == "intervalosiguais") - {$retorno = $m->intervalosiguais($item,$nclasses,$ignorar);} - if ($opcao == "quantil") - {$retorno = $m->quantil($item,$nclasses,$ignorar);} - if ($opcao == "quebrasnaturais") - {$retorno = $m->quebrasnaturais($item,$nclasses,$ignorar);} - if ($opcao == "quartis") - { + if ($opcao == "sobeclasse"){ + $retorno = $m->sobeclasse($idclasse); + } + if ($opcao == "desceclasse"){ + $retorno = $m->desceclasse($idclasse); + } + if ($opcao == "alteracor"){ + $retorno = $m->alteracor($idclasse,$cor); + } + if ($opcao == "adicionaopacidade"){ + $retorno = $m->adicionaopacidade(); + } + if ($opcao == "alterageometria"){ + $retorno = $m->alterageometria($tipo); + } + if ($opcao == "adicionaclasse"){ + $retorno = $m->adicionaclasse(); + } + if ($opcao == "valorunico"){ + $retorno = $m->valorunico($item,$ignorar); + } + if ($opcao == "intervalosiguais"){ + $retorno = $m->intervalosiguais($item,$nclasses,$ignorar); + } + if ($opcao == "quantil"){ + $retorno = $m->quantil($item,$nclasses,$ignorar); + } + if ($opcao == "quebrasnaturais"){ + $retorno = $m->quebrasnaturais($item,$nclasses,$ignorar); + } + if ($opcao == "quartis"){ if(!isset($tipoLegenda)) {$tipoLegenda = "";} $retorno = $m->quartis($item,$ignorar,$tipoLegenda); } - if ($opcao == "alteraclasses") - { + if ($opcao == "alteraclasses"){ //esta operação é chamada com POST via cpaint //error_reporting(0); - alteraclassesPost($ids,$nomes,$exps); + alteraclassesPost($ids,$nomes,$exps,$base64); restauraCon($map_file,$postgis_mapa); cpjson(""); } @@ -1210,7 +1217,7 @@ Altera as cores das classes de um tema conforme uma cor inicial e uma final. /* Valor: INVERTESTATUSCLASSE -Altera o status de desenho de uma classe, tornando-a vi´sivel ou não. +Altera o status de desenho de uma classe, tornando-a vi�sivel ou não. statusClasse> */ @@ -2114,7 +2121,7 @@ Calcula a área de um pixel da imagem. /* Valor: LISTAEPSG -Pega os códigos de projeção EPSG. +Pega os c�digos de projeção EPSG. */ case "LISTAEPSG": @@ -2125,7 +2132,7 @@ Valor: LISTADIRETORIOS Depreciado na V 5.0, use ferramentas/navegarquivos/exec.php -Lista os diretórios de um diretório. +Lista os diret�rios de um diret�rio. */ case "LISTADIRETORIOS": @@ -2136,7 +2143,7 @@ Valor: LISTAARQUIVOS Depreciado na V 5.0, use ferramentas/navegarquivos/exec.php -Lista os arquivos de um diretório. +Lista os arquivos de um diret�rio. */ case "LISTAARQUIVOS": $retorno = listaArquivos($diretorio); @@ -2231,11 +2238,10 @@ Altera as classes de um tema aplicando novos parâmetros como nome e expres Include: */ -function alteraclassesPost($ids,$nomes,$exps) -{ +function alteraclassesPost($ids,$nomes,$exps,$base64="nao"){ global $map_file,$tema; $m = new Alteraclasse($map_file,$tema); - $m->alteraclasses($ids,$nomes,$exps); + $m->alteraclasses($ids,$nomes,$exps,$base64); $m->salva(); $_SESSION["contadorsalva"]++; } diff --git a/ferramentas/legenda/index.js b/ferramentas/legenda/index.js index 921d512..84601d7 100644 --- a/ferramentas/legenda/index.js +++ b/ferramentas/legenda/index.js @@ -39,7 +39,6 @@ Free Software Foundation, Inc., no endereço if(typeof(i3GEOF) === 'undefined'){ var i3GEOF = {}; } - /* Classe: i3GEOF.legenda */ @@ -261,7 +260,7 @@ i3GEOF.legenda = { new YAHOO.widget.Button( "i3GEOlegendabotaoIncluirLabel", {onclick:{fn: function(){ - var par,p,temp; + var par,p,temp,cp; try{ par = i3GEOF.proplabel.pegaPar(); i3GEOF.legenda.parDefault = par; @@ -285,7 +284,7 @@ i3GEOF.legenda = { new YAHOO.widget.Button( "i3GEOlegendabotaoExcluirLabel", {onclick:{fn: function(){ - var p,temp; + var p,temp,cp; i3GEOF.legenda.aguarde.visibility = "visible"; temp = function(){ i3GEOF.legenda.aguarde.visibility = "hidden"; @@ -641,22 +640,22 @@ i3GEOF.legenda = { /* Function: aplicaColourRamp - Aplica �s classes da legenda as cores escolhidas no seletor de cores + Aplica nas classes da legenda as cores escolhidas no seletor de cores */ aplicaColourRamp: function(){ if($i("listaColourRamp").value != ""){ if(i3GEOF.legenda.aguarde.visibility === "visible") {return;} i3GEOF.legenda.aguarde.visibility = "visible"; - var cores = $i("listaColourRamp").value; - temp = function(){ - i3GEOF.legenda.aguarde.visibility = "hidden"; - i3GEOF.legenda.mostralegenda(); - i3GEOF.legenda.aposAlterarLegenda(); - }; - var ext = i3GEO.util.extOSM2Geo(i3GEO.parametros.mapexten); - p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=alteraclasse&opcao=aplicacoresrgb&ext="+ext+"&tema="+i3GEOF.legenda.tema; - cp = new cpaint(); + var cores = $i("listaColourRamp").value, + ext = i3GEO.util.extOSM2Geo(i3GEO.parametros.mapexten), + temp = function(){ + i3GEOF.legenda.aguarde.visibility = "hidden"; + i3GEOF.legenda.mostralegenda(); + i3GEOF.legenda.aposAlterarLegenda(); + }, + p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=alteraclasse&opcao=aplicacoresrgb&ext="+ext+"&tema="+i3GEOF.legenda.tema, + cp = new cpaint(); cp.set_transfer_mode('POST'); cp.set_response_type("JSON"); cp.call(p,"foo",temp,"cores="+cores); @@ -726,9 +725,9 @@ i3GEOF.legenda = { n, p, cp, - temp, - expn, - re = new RegExp('"', "g"); + temp; + //expn, + //re = new RegExp('"', "g"); for (t=0;t