Commit ae315f3722ada8e8afb8501bca8a10b0204a7368

Authored by Edmar Moretti
1 parent 715ba11c

--no commit message

admin/js/listatemas.js
@@ -75,17 +75,13 @@ function montaDivTemas(i) @@ -75,17 +75,13 @@ function montaDivTemas(i)
75 }; 75 };
76 var ins = ""; 76 var ins = "";
77 ins += core_geraLinhas(param); 77 ins += core_geraLinhas(param);
78 -  
79 ins += "<p>Descrição (opcional):<br>"; 78 ins += "<p>Descrição (opcional):<br>";
80 ins += "<input size=40 type=text id=desc_tema value='"+i.desc_tema+"' /></p>"; 79 ins += "<input size=40 type=text id=desc_tema value='"+i.desc_tema+"' /></p>";
81 -  
82 ins += "<p>Link para a fonte (opcional):<br>"; 80 ins += "<p>Link para a fonte (opcional):<br>";
83 ins += "<input size=40 type=text id=link_tema value='"+i.link_tema+"' /></p>"; 81 ins += "<input size=40 type=text id=link_tema value='"+i.link_tema+"' /></p>";
84 -  
85 ins += "<p>Tags (separe com espaço). Você pode digitar novos tags ou pegar da lista abaixo (opcional):"; 82 ins += "<p>Tags (separe com espaço). Você pode digitar novos tags ou pegar da lista abaixo (opcional):";
86 ins += "<input type=text size=40 value='"+i.tags_tema+"' id='tags_tema' ><br>"; 83 ins += "<input type=text size=40 value='"+i.tags_tema+"' id='tags_tema' ><br>";
87 ins += "<div id=comboTags >Buscando...</div>"; 84 ins += "<div id=comboTags >Buscando...</div>";
88 -  
89 ins += "<p>Tipo (preencha apenas se for do tipo WMS):<br>"; 85 ins += "<p>Tipo (preencha apenas se for do tipo WMS):<br>";
90 ins += "<select id='tipo_tema' />"; 86 ins += "<select id='tipo_tema' />";
91 ins += "<option value='' "; 87 ins += "<option value='' ";
@@ -94,50 +90,51 @@ function montaDivTemas(i) @@ -94,50 +90,51 @@ function montaDivTemas(i)
94 ins += "<option value='WMS' "; 90 ins += "<option value='WMS' ";
95 if (i.tipoa_tema == "WMS"){ins += "selected";} 91 if (i.tipoa_tema == "WMS"){ins += "selected";}
96 ins += " >WMS<option></select></p>"; 92 ins += " >WMS<option></select></p>";
97 -  
98 ins += "<p>Permite acesso via WMS/WFS?<br>"; 93 ins += "<p>Permite acesso via WMS/WFS?<br>";
99 ins += "<select id='ogc_tema' >"; 94 ins += "<select id='ogc_tema' >";
100 ins += core_combosimnao(i.ogc_tema); 95 ins += core_combosimnao(i.ogc_tema);
101 ins += "</select></p>"; 96 ins += "</select></p>";
102 -  
103 ins += "<p>Permite o download na aplicação datadownload.htm?<br>"; 97 ins += "<p>Permite o download na aplicação datadownload.htm?<br>";
104 ins += "<select id='download_tema' >"; 98 ins += "<select id='download_tema' >";
105 ins += core_combosimnao(i.download_tema); 99 ins += core_combosimnao(i.download_tema);
106 ins += "</select></p>"; 100 ins += "</select></p>";
107 -  
108 ins += "<p>Permite acesso via kml?<br>"; 101 ins += "<p>Permite acesso via kml?<br>";
109 ins += "<select id='kml_tema' >"; 102 ins += "<select id='kml_tema' >";
110 ins += core_combosimnao(i.kml_tema); 103 ins += core_combosimnao(i.kml_tema);
111 ins += "</select></p>"; 104 ins += "</select></p>";
112 -  
113 ins += "<p>Permite acesso via kmz (kml com dados vetoriais)?<br>"; 105 ins += "<p>Permite acesso via kmz (kml com dados vetoriais)?<br>";
114 ins += "<select id='kmz_tema' >"; 106 ins += "<select id='kmz_tema' >";
115 ins += core_combosimnao(i.kmz_tema); 107 ins += core_combosimnao(i.kmz_tema);
116 ins += "</select></p>"; 108 ins += "</select></p>";
117 -  
118 ins += "<p><span onclick='atualizaMiniatura()' style='color:blue;cursor:pointer' >Atualiza ou cria a miniatura.</span> Cada tema pode ter uma imagem miniatura que é mostrada em algumas funcionalidades do i3Geo. Utilize essa opção para criar a miniatura para o tema em edição.<br>"; 109 ins += "<p><span onclick='atualizaMiniatura()' style='color:blue;cursor:pointer' >Atualiza ou cria a miniatura.</span> Cada tema pode ter uma imagem miniatura que é mostrada em algumas funcionalidades do i3Geo. Utilize essa opção para criar a miniatura para o tema em edição.<br>";
119 ins += "<img id='imagemMiniatura' src='../../temas/miniaturas/"+i.imagem+"' /></p><br><br>"; 110 ins += "<img id='imagemMiniatura' src='../../temas/miniaturas/"+i.imagem+"' /></p><br><br>";
120 -  
121 -  
122 ins += "<input type=hidden id=codigo_tema value='"+i.codigo_tema+"'/>"; 111 ins += "<input type=hidden id=codigo_tema value='"+i.codigo_tema+"'/>";
123 return(ins); 112 return(ins);
124 } 113 }
125 function atualizaMiniatura(){ 114 function atualizaMiniatura(){
126 - $i("imagemMiniatura").src = "../../imagens/aguarde.gif"; 115 + var i = $i("imagemMiniatura");
  116 + i.src = "../../imagens/aguarde.gif";
127 var tema = $i("codigo_tema").value; 117 var tema = $i("codigo_tema").value;
128 var sUrl = "../php/menutemas.php?funcao=atualizaMiniatura&tema="+tema; 118 var sUrl = "../php/menutemas.php?funcao=atualizaMiniatura&tema="+tema;
129 var callback = 119 var callback =
130 { 120 {
131 success:function(o) 121 success:function(o)
132 { 122 {
  123 + i.style.display = none;
  124 + i.onLoad = function(){
  125 + $i("imagemMiniatura").style.display = "block";
  126 + }
133 try 127 try
134 - {$i("imagemMiniatura").src = "../../temas/miniaturas/"+tema+".map.grande.png";}  
135 - catch(e){core_handleFailure(e,o.responseText);} 128 + {i.src = "../../temas/miniaturas/"+tema+".map.grande.png";}
  129 + catch(e){
  130 + i.style.display = block;
  131 + core_handleFailure(e,o.responseText);
  132 + }
136 }, 133 },
137 failure:core_handleFailure, 134 failure:core_handleFailure,
138 argument: { foo:"foo", bar:"bar" } 135 argument: { foo:"foo", bar:"bar" }
139 }; 136 };
140 - core_makeRequest(sUrl,callback,"GET"); 137 + core_makeRequest(sUrl,callback,"GET")
141 } 138 }
142 function gravaDadosTema(id) 139 function gravaDadosTema(id)
143 { 140 {
classesjs/classe_configura.js
@@ -150,7 +150,7 @@ i3GEO.configura = { @@ -150,7 +150,7 @@ i3GEO.configura = {
150 { id:"omenudataAnalise14",text: $trad("u10"), url: "javascript:i3GEO.analise.dialogo.buffer()" }, 150 { id:"omenudataAnalise14",text: $trad("u10"), url: "javascript:i3GEO.analise.dialogo.buffer()" },
151 { id:"omenudataAnalise15",text: $trad("u26"), url: "javascript:i3GEO.analise.dialogo.agrupaElementos()" }, 151 { id:"omenudataAnalise15",text: $trad("u26"), url: "javascript:i3GEO.analise.dialogo.agrupaElementos()" },
152 { id:"omenudataAnalise16",text: $trad("u11"), url: "javascript:i3GEO.analise.dialogo.centroide()" }, 152 { id:"omenudataAnalise16",text: $trad("u11"), url: "javascript:i3GEO.analise.dialogo.centroide()" },
153 - { id:"omenudataAnalise17",text: $trad("t37"), url: "javascript:i3GEO.analise.dialogo.graficoInterativo()" }, 153 + { id:"omenudataAnalise17",text: $trad("t37b"), url: "javascript:i3GEO.analise.dialogo.graficoInterativo()" },
154 { id:"omenudataAnalise18",text: $trad("d30"), url: "javascript:i3GEO.analise.dialogo.linhaDoTempo()" } 154 { id:"omenudataAnalise18",text: $trad("d30"), url: "javascript:i3GEO.analise.dialogo.linhaDoTempo()" }
155 ], 155 ],
156 "janelas": [ 156 "janelas": [
@@ -191,8 +191,9 @@ i3GEO.configura = { @@ -191,8 +191,9 @@ i3GEO.configura = {
191 { id:"omenudataFerramentas5b",text: $trad("t29"), url: "javascript:i3GEO.tema.dialogo.filtro()"}, 191 { id:"omenudataFerramentas5b",text: $trad("t29"), url: "javascript:i3GEO.tema.dialogo.filtro()"},
192 { id:"omenudataFerramentas6b",text: $trad("t33"), url: "javascript:i3GEO.tema.dialogo.editaLegenda()"}, 192 { id:"omenudataFerramentas6b",text: $trad("t33"), url: "javascript:i3GEO.tema.dialogo.editaLegenda()"},
193 { id:"omenudataFerramentas7b",text: $trad("t42"), url: "javascript:i3GEO.tema.dialogo.cortina()"}, 193 { id:"omenudataFerramentas7b",text: $trad("t42"), url: "javascript:i3GEO.tema.dialogo.cortina()"},
194 - { id:"omenudataFerramentas8b",text: $trad("t37"), url: "javascript:i3GEO.tema.dialogo.graficotema()"},  
195 - { id:"omenudataFerramentas9b",text: $trad("t49"), url: "javascript:i3GEO.tema.dialogo.tme()"}, 194 + { id:"omenudataFerramentas8b",text: $trad("t37a"), url: "javascript:i3GEO.tema.dialogo.graficotema()"},
  195 + { id:"omenudataFerramentas9b",text: $trad("t37b"), url: "javascript:i3GEO.analise.dialogo.graficoInterativo()" },
  196 + { id:"omenudataFerramentas10b",text: $trad("t49"), url: "javascript:i3GEO.tema.dialogo.tme()"},
196 { id:"omenudataFerramentas0c",text: '<span style=color:gray;text-decoration:underline; ><b>'+$trad("a15")+'</b></span>',url: "#"}, 197 { id:"omenudataFerramentas0c",text: '<span style=color:gray;text-decoration:underline; ><b>'+$trad("a15")+'</b></span>',url: "#"},
197 { id:"omenudataFerramentas1c",text: $trad("a16"), url: "javascript:i3GEO.arvoreDeTemas.dialogo.conectaservico()"}, 198 { id:"omenudataFerramentas1c",text: $trad("a16"), url: "javascript:i3GEO.arvoreDeTemas.dialogo.conectaservico()"},
198 { id:"omenudataFerramentas0d",text: '<span style=color:gray;text-decoration:underline; ><b>Upload</b></span>',url: "#"}, 199 { id:"omenudataFerramentas0d",text: '<span style=color:gray;text-decoration:underline; ><b>Upload</b></span>',url: "#"},
classesjs/dicionario.js
@@ -768,6 +768,20 @@ en:&quot;Graphic&quot;, @@ -768,6 +768,20 @@ en:&quot;Graphic&quot;,
768 es:"Gr&aacute;fico", 768 es:"Gr&aacute;fico",
769 it:"Grafico" 769 it:"Grafico"
770 }], 770 }],
  771 +"t37a":[
  772 +{
  773 +pt:"Tema com gráficos",
  774 +en:"Graphic",
  775 +es:"Gr&aacute;fico",
  776 +it:"Grafico"
  777 +}],
  778 +"t37b":[
  779 +{
  780 +pt:"Gráfico interativo",
  781 +en:"Graphic",
  782 +es:"Gr&aacute;fico",
  783 +it:"Grafico"
  784 +}],
771 "t38":[ 785 "t38":[
772 { 786 {
773 pt:"Exporta a legenda para o padrão SLD.", 787 pt:"Exporta a legenda para o padrão SLD.",
classesphp/classe_atributos.php
@@ -319,11 +319,15 @@ $inicio - Inicia do registro. @@ -319,11 +319,15 @@ $inicio - Inicia do registro.
319 $fim - Termina no registro. 319 $fim - Termina no registro.
320 320
321 $tipolista - Indica se serão mostrados todos os registros ou apenas os selecionados (tudo|selecionados) 321 $tipolista - Indica se serão mostrados todos os registros ou apenas os selecionados (tudo|selecionados)
  322 +
  323 +$dadosDaClasse - sim|nao Indica se serão obtidos os dados que descrevem a classe do layer que contém o registro
322 */ 324 */
323 - function listaRegistros($itemtema,$tipo,$unico,$inicio,$fim,$tipolista) 325 + function listaRegistros($itemtema,$tipo,$unico,$inicio,$fim,$tipolista,$dadosDaClasse="nao")
324 { 326 {
325 error_reporting(0); 327 error_reporting(0);
326 if(!$this->layer){return "erro";} 328 if(!$this->layer){return "erro";}
  329 + if($this->v < 6)
  330 + {$dadosDaClasse="nao";}
327 $resultadoFinal = array(); 331 $resultadoFinal = array();
328 if ((!isset($tipolista)) || ($tipolista=="")){$tipolista = "tudo";} 332 if ((!isset($tipolista)) || ($tipolista=="")){$tipolista = "tudo";}
329 if (!isset($inicio)){$inicio = 0;} 333 if (!isset($inicio)){$inicio = 0;}
@@ -368,7 +372,16 @@ $tipolista - Indica se serão mostrados todos os registros ou apenas os seleciona @@ -368,7 +372,16 @@ $tipolista - Indica se serão mostrados todos os registros ou apenas os seleciona
368 {$valori = $this->converte($valori);} 372 {$valori = $this->converte($valori);}
369 $valitem[] = array("item"=>$item,"valor"=>$valori); 373 $valitem[] = array("item"=>$item,"valor"=>$valori);
370 } 374 }
371 - $registros[] = array("indice"=>$indx,"valores"=>$valitem,"status"=>$chk); 375 + $classe = "";
  376 + if($dadosDaClasse == "sim"){
  377 + $indice = $this->layer->getClassIndex($shape);
  378 + $nome = $this->layer->getclass($indice)->name;
  379 + $classe = array(
  380 + "indice"=>$indice,
  381 + "nome"=>$nome
  382 + );
  383 + }
  384 + $registros[] = array("indice"=>$indx,"valores"=>$valitem,"status"=>$chk,"classe"=>$classe);
372 } 385 }
373 $resultadoFinal[] = array("registros"=>$registros); 386 $resultadoFinal[] = array("registros"=>$registros);
374 } 387 }
@@ -417,7 +430,16 @@ $tipolista - Indica se serão mostrados todos os registros ou apenas os seleciona @@ -417,7 +430,16 @@ $tipolista - Indica se serão mostrados todos os registros ou apenas os seleciona
417 //if (in_array($shp_index,$shp_atual)) 430 //if (in_array($shp_index,$shp_atual))
418 if(isset($shp_atual[$indx])) 431 if(isset($shp_atual[$indx]))
419 {$chk = "CHECKED";} 432 {$chk = "CHECKED";}
420 - $registros[] = array("indice"=>$indx,"valores"=>$valitem,"status"=>$chk); 433 + $classe = "";
  434 + if($dadosDaClasse == "sim"){
  435 + $indice = $this->layer->getClassIndex($shape);
  436 + $nome = $this->layer->getclass($indice)->name;
  437 + $classe = array(
  438 + "indice"=>$indice,
  439 + "nome"=>$nome
  440 + );
  441 + }
  442 + $registros[] = array("indice"=>$indx,"valores"=>$valitem,"status"=>$chk,"classe"=>$classe);
421 $chk = ""; 443 $chk = "";
422 } 444 }
423 $this->layer->close(); 445 $this->layer->close();
classesphp/graficos.php
@@ -371,7 +371,7 @@ function iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexter @@ -371,7 +371,7 @@ function iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexter
371 $rcode[] = 'screen(1, new=FALSE)'; 371 $rcode[] = 'screen(1, new=FALSE)';
372 return $rcode; 372 return $rcode;
373 } 373 }
374 -function iniciaDadosGrafico($map_file,$tema,$exclui,$itemclasses,$itemvalores,$tipo,$percentual,$ext="",$incluicores=true) 374 +function iniciaDadosGrafico($map_file,$tema,$exclui,$itemclasses,$itemvalores,$tipo,$percentual,$ext="",$incluicores=true,$ordenax="nao")
375 { 375 {
376 global $interface; 376 global $interface;
377 //pega os valores 377 //pega os valores
@@ -400,9 +400,10 @@ function iniciaDadosGrafico($map_file,$tema,$exclui,$itemclasses,$itemvalores,$t @@ -400,9 +400,10 @@ function iniciaDadosGrafico($map_file,$tema,$exclui,$itemclasses,$itemvalores,$t
400 $max = max($dados); 400 $max = max($dados);
401 $soma = array_sum($dados); 401 $soma = array_sum($dados);
402 $tempm = array_keys($dados); 402 $tempm = array_keys($dados);
  403 + $tempval = array();
  404 + $nnval[] = "n;x";
403 if ($tipo != "xy") 405 if ($tipo != "xy")
404 { 406 {
405 - $nnval[] = "n;x";  
406 for ($i=0;$i < $nval; ++$i) 407 for ($i=0;$i < $nval; ++$i)
407 { 408 {
408 if ($dados[$tempm[$i]] > 0) 409 if ($dados[$tempm[$i]] > 0)
@@ -421,21 +422,23 @@ function iniciaDadosGrafico($map_file,$tema,$exclui,$itemclasses,$itemvalores,$t @@ -421,21 +422,23 @@ function iniciaDadosGrafico($map_file,$tema,$exclui,$itemclasses,$itemvalores,$t
421 if($incluicores == true) 422 if($incluicores == true)
422 {$temp = $temp.";".$cores[$tempm[$i]];} 423 {$temp = $temp.";".$cores[$tempm[$i]];}
423 } 424 }
424 - $nnval[] = $temp; 425 + $tempval[] = $temp;
425 } 426 }
426 } 427 }
427 } 428 }
428 else 429 else
429 { 430 {
430 - $nnval[] = "x;y";  
431 foreach ($valores as $v) 431 foreach ($valores as $v)
432 { 432 {
433 $temp = $v[0].";".$v[1]; 433 $temp = $v[0].";".$v[1];
434 if($incluicores == true) 434 if($incluicores == true)
435 {$temp = $temp.";".$cores[$v[0]];} 435 {$temp = $temp.";".$cores[$v[0]];}
436 - $nnval[] = $temp;  
437 - } 436 + $tempval[] = $temp;
  437 + }
438 } 438 }
  439 + if($ordenax == "sim")
  440 + {sort($tempval);}
  441 + $nnval = array_merge($nnval,$tempval);
439 return array("dados"=>$nnval,"ndados"=>$nval,"max"=>$max); 442 return array("dados"=>$nnval,"ndados"=>$nval,"max"=>$max);
440 } 443 }
441 function dadosLinhaDoTempo($map_file,$tema,$ext="") 444 function dadosLinhaDoTempo($map_file,$tema,$ext="")
classesphp/mapa_controle.php
@@ -1772,9 +1772,10 @@ Pega os dados necessários para a geração dos gráficos da ferramenta seleção @@ -1772,9 +1772,10 @@ Pega os dados necessários para a geração dos gráficos da ferramenta seleção
1772 {$exclui = "";} 1772 {$exclui = "";}
1773 if(!isset($tipo)) 1773 if(!isset($tipo))
1774 {$tipo = "nenhum";} 1774 {$tipo = "nenhum";}
1775 - $retorno = iniciaDadosGrafico($map_file,$tema,$exclui,$itemclasses,$itemvalores,$tipo,false,$ext); 1775 + if(!isset($ordenax))
  1776 + {$ordenax = "nao";}
  1777 + $retorno = iniciaDadosGrafico($map_file,$tema,$exclui,$itemclasses,$itemvalores,$tipo,false,$ext,true,$ordenax);
1776 break; 1778 break;
1777 -  
1778 /* 1779 /*
1779 Valor: FUSAOGRAFICO 1780 Valor: FUSAOGRAFICO
1780 1781
@@ -2266,7 +2267,20 @@ Pega todos os valores dos itens de uma tabela de um tema. @@ -2266,7 +2267,20 @@ Pega todos os valores dos itens de uma tabela de um tema.
2266 if(!isset($fim)){$fim = "";} 2267 if(!isset($fim)){$fim = "";}
2267 if(!isset($tipolista)){$tipolista = "";} 2268 if(!isset($tipolista)){$tipolista = "";}
2268 if(!isset($itemtema)){$itemtema = "";} 2269 if(!isset($itemtema)){$itemtema = "";}
2269 - $retorno = $m->listaRegistros($itemtema,$tipo,"",$inicio,$fim,$tipolista); 2270 + $legenda = "";
  2271 + if(!isset($dadosDaClasse)){$dadosDaClasse = "nao";}
  2272 + else{
  2273 + include_once("classe_legenda.php");
  2274 + $mc = new Legenda($map_file,$locaplic,$tema);
  2275 + $linhas = $mc->tabelaLegenda();
  2276 + foreach($linhas as $linha){
  2277 + if($linha["tema"] == $tema){
  2278 + $legenda[$linha["idclasse"]] = $linha["imagem"];
  2279 + }
  2280 + }
  2281 + }
  2282 + $retorno = $m->listaRegistros($itemtema,$tipo,"",$inicio,$fim,$tipolista,$dadosDaClasse);
  2283 + $retorno["legenda"] = $legenda;
2270 break; 2284 break;
2271 /* 2285 /*
2272 Valor: EXTREGISTROS 2286 Valor: EXTREGISTROS
classesphp/pega_variaveis.php
@@ -61,7 +61,7 @@ if (isset($_GET)) @@ -61,7 +61,7 @@ if (isset($_GET))
61 { 61 {
62 if ($_GET[$k] != "''"){ 62 if ($_GET[$k] != "''"){
63 $v = strip_tags($_GET[$k]); 63 $v = strip_tags($_GET[$k]);
64 - eval("\$".$k."='".($v)."';"); 64 + eval("\$".$k."='".(trim($v))."';");
65 } 65 }
66 } 66 }
67 } 67 }
@@ -72,12 +72,11 @@ if (isset($_POST)) @@ -72,12 +72,11 @@ if (isset($_POST))
72 foreach(array_keys($_POST) as $k) 72 foreach(array_keys($_POST) as $k)
73 { 73 {
74 if (($_POST[$k] != "''")) 74 if (($_POST[$k] != "''"))
75 - eval("\$".$k."='".(strip_tags($_POST[$k]))."';"); 75 + eval("\$".$k."='".(strip_tags(trim($_POST[$k])))."';");
76 if (($_POST[$k] != "''") && ($k == "cpaint_argument")) 76 if (($_POST[$k] != "''") && ($k == "cpaint_argument"))
77 { 77 {
78 foreach($_POST["cpaint_argument"] as $argumento_) 78 foreach($_POST["cpaint_argument"] as $argumento_)
79 { 79 {
80 -  
81 if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) 80 if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN'))
82 {$argumento_ = str_replace("\\\"","",$argumento_);} 81 {$argumento_ = str_replace("\\\"","",$argumento_);}
83 else 82 else
@@ -93,7 +92,7 @@ if (isset($_POST)) @@ -93,7 +92,7 @@ if (isset($_POST))
93 $valor_ = implode("=",$p_); 92 $valor_ = implode("=",$p_);
94 93
95 if($parametro != "") 94 if($parametro != "")
96 - eval("\$".$parametro."='".(($valor_))."';"); 95 + eval("\$".$parametro."='".(trim($valor_))."';");
97 } 96 }
98 } 97 }
99 } 98 }
ferramentas/graficointerativo/index.js.php
@@ -267,8 +267,10 @@ i3GEOF.graficointerativo = { @@ -267,8 +267,10 @@ i3GEOF.graficointerativo = {
267 ' <p class=paragrafo ><input style=cursor:pointer type=checkbox id=i3GEOgraficointerativoAdLinhas checked /> Adiciona as linhas em gráficos de barras</p>' + 267 ' <p class=paragrafo ><input style=cursor:pointer type=checkbox id=i3GEOgraficointerativoAdLinhas checked /> Adiciona as linhas em gráficos de barras</p>' +
268 ' <p class=paragrafo ><input style=cursor:pointer type=checkbox id=i3GEOgraficointerativoAcumula /> Utiliza valores acumulados</p>' + 268 ' <p class=paragrafo ><input style=cursor:pointer type=checkbox id=i3GEOgraficointerativoAcumula /> Utiliza valores acumulados</p>' +
269 ' <p class=paragrafo ><input style=cursor:pointer type=checkbox id=i3GEOgraficointerativoRelativa /> Utiliza valores relativos (%)</p>' + 269 ' <p class=paragrafo ><input style=cursor:pointer type=checkbox id=i3GEOgraficointerativoRelativa /> Utiliza valores relativos (%)</p>' +
  270 + ' <p class=paragrafo ><input style=cursor:pointer type=checkbox id=i3GEOgraficointerativoOrdenaX checked /> Ordena o eixo X</p>' +
270 ' <p class=paragrafo ><input style=cursor:pointer type=checkbox id=i3GEOgraficointerativoDadosPuros /> Não processa os valores ao obter os dados (mantém os dados como estão na tabela de atributos) - essa opção é útil nos gráficos de distribuição de pontos</p>' + 271 ' <p class=paragrafo ><input style=cursor:pointer type=checkbox id=i3GEOgraficointerativoDadosPuros /> Não processa os valores ao obter os dados (mantém os dados como estão na tabela de atributos) - essa opção é útil nos gráficos de distribuição de pontos</p>' +
271 ' <p class=paragrafo ><input style=cursor:pointer type=checkbox onclick="i3GEOF.graficointerativo.ativaNavegacao(this.checked)" /> Atualiza o gráfico ao navegar pelo mapa</p>' + 272 ' <p class=paragrafo ><input style=cursor:pointer type=checkbox onclick="i3GEOF.graficointerativo.ativaNavegacao(this.checked)" /> Atualiza o gráfico ao navegar pelo mapa</p>' +
  273 + ' <p class=paragrafo ><select onchange="i3GEOF.graficointerativo.obterDados()" id="i3GEOgraficointerativoTipoAgregacao" ><option value="soma">Soma</option><option value="media">Média</option></select> Tipo de agregação dos valores do eixo Y</p>' +
272 '</div>'+ 274 '</div>'+
273 '<div class=guiaobj id="i3GEOgraficointerativoguia4obj" style="left:1px;display:none;top:-0px">' + 275 '<div class=guiaobj id="i3GEOgraficointerativoguia4obj" style="left:1px;display:none;top:-0px">' +
274 '</div>' + 276 '</div>' +
@@ -296,7 +298,7 @@ i3GEOF.graficointerativo = { @@ -296,7 +298,7 @@ i3GEOF.graficointerativo = {
296 titulo = "Gráficos interativos <a class=ajuda_usuario target=_blank href='" + i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=84' >&nbsp;&nbsp;&nbsp;</a>"; 298 titulo = "Gráficos interativos <a class=ajuda_usuario target=_blank href='" + i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=84' >&nbsp;&nbsp;&nbsp;</a>";
297 janela = i3GEO.janela.cria( 299 janela = i3GEO.janela.cria(
298 "380px", 300 "380px",
299 - "260px", 301 + "280px",
300 "", 302 "",
301 "", 303 "",
302 "", 304 "",
@@ -456,7 +458,8 @@ i3GEOF.graficointerativo = { @@ -456,7 +458,8 @@ i3GEOF.graficointerativo = {
456 excluir = $i("i3GEOgraficointerativoexcluir").value, 458 excluir = $i("i3GEOgraficointerativoexcluir").value,
457 p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=graficoSelecao&tema="+tema+"&itemclasses="+x+"&itemvalores="+y+"&exclui="+excluir+"&ext="+i3GEO.parametros.mapexten, 459 p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=graficoSelecao&tema="+tema+"&itemclasses="+x+"&itemvalores="+y+"&exclui="+excluir+"&ext="+i3GEO.parametros.mapexten,
458 cp = new cpaint(), 460 cp = new cpaint(),
459 - tipo = "soma", 461 + tipo = $i("i3GEOgraficointerativoTipoAgregacao").value,
  462 + ordenax = "sim",
460 monta; 463 monta;
461 464
462 if($i("i3GEOgraficointerativoDadosPuros").checked) 465 if($i("i3GEOgraficointerativoDadosPuros").checked)
@@ -471,6 +474,8 @@ i3GEOF.graficointerativo = { @@ -471,6 +474,8 @@ i3GEOF.graficointerativo = {
471 {alert("Escolha um item para X");return;} 474 {alert("Escolha um item para X");return;}
472 if(y === "") 475 if(y === "")
473 {alert("Escolha um item para Y");return;} 476 {alert("Escolha um item para Y");return;}
  477 + if(!$i("i3GEOgraficointerativoOrdenaX").checked)
  478 + {ordenax = "nao";}
474 monta = function(retorno){ 479 monta = function(retorno){
475 i3GEOF.graficointerativo.aguarde.visibility = "hidden"; 480 i3GEOF.graficointerativo.aguarde.visibility = "hidden";
476 i3GEOF.graficointerativo.montaTabelaDados(retorno); 481 i3GEOF.graficointerativo.montaTabelaDados(retorno);
@@ -478,7 +483,7 @@ i3GEOF.graficointerativo = { @@ -478,7 +483,7 @@ i3GEOF.graficointerativo = {
478 }; 483 };
479 i3GEOF.graficointerativo.aguarde.visibility = "visible"; 484 i3GEOF.graficointerativo.aguarde.visibility = "visible";
480 cp.set_response_type("JSON"); 485 cp.set_response_type("JSON");
481 - cp.call(p+"&tipo="+tipo,"graficoSelecao",monta); 486 + cp.call(p+"&tipo="+tipo+"&ordenax="+ordenax,"graficoSelecao",monta);
482 }, 487 },
483 /* 488 /*
484 Function: montaTabelaDados 489 Function: montaTabelaDados
@@ -628,6 +633,11 @@ i3GEOF.graficointerativo = { @@ -628,6 +633,11 @@ i3GEOF.graficointerativo = {
628 maior = 100; 633 maior = 100;
629 menor = 0; 634 menor = 0;
630 } 635 }
  636 + if(legendaX == legendaY){
  637 + menor = 0;
  638 + legendaX += " (ocorrências)";
  639 + legendaY += " (n. de ocorrências)";
  640 + }
631 if(i3GEOF.graficointerativo.tipo === "pizza2d"){ 641 if(i3GEOF.graficointerativo.tipo === "pizza2d"){
632 parametros = { 642 parametros = {
633 "elements":[{ 643 "elements":[{
ferramentas/tabela/index.js.php
@@ -237,6 +237,10 @@ i3GEOF.tabela = { @@ -237,6 +237,10 @@ i3GEOF.tabela = {
237 ins += ' <td><input style="cursor:pointer;border:0px solid white;" onclick="i3GEOF.tabela.pegaRegistros()" type=checkbox id=i3GEOtabelatipolista /></td>'; 237 ins += ' <td><input style="cursor:pointer;border:0px solid white;" onclick="i3GEOF.tabela.pegaRegistros()" type=checkbox id=i3GEOtabelatipolista /></td>';
238 ins += ' <td>Mostrar na listagem apenas os selecionados</td>'; 238 ins += ' <td>Mostrar na listagem apenas os selecionados</td>';
239 ins += ' </tr>'; 239 ins += ' </tr>';
  240 + ins += ' <tr>';
  241 + ins += ' <td><input style="cursor:pointer;border:0px solid white;" onclick="i3GEOF.tabela.pegaRegistros()" type=checkbox id=i3GEOtabelalegenda /></td>';
  242 + ins += ' <td>Mostrar coluna com a legenda da classe</td>';
  243 + ins += ' </tr>';
240 ins += ' </table>'; 244 ins += ' </table>';
241 ins += ' </div>'; 245 ins += ' </div>';
242 ins += ' <div id=i3GEOtabelaguia1obj style="width:99%">'; 246 ins += ' <div id=i3GEOtabelaguia1obj style="width:99%">';
@@ -422,7 +426,9 @@ i3GEOF.tabela = { @@ -422,7 +426,9 @@ i3GEOF.tabela = {
422 {tiporeg = "mapa";} 426 {tiporeg = "mapa";}
423 if ($i("i3GEOtabelatipolista").checked) 427 if ($i("i3GEOtabelatipolista").checked)
424 {tipolista = "selecionados";} 428 {tipolista = "selecionados";}
425 - p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=listaregistros&inicio="+inicio+"&fim="+fim+"&tema="+i3GEOF.tabela.tema+"&tipo="+tiporeg+"&tipolista="+tipolista+"&ext="+i3GEO.parametros.mapexten; 429 + if ($i("i3GEOtabelalegenda").checked)
  430 + {dadosDaClasse = "sim";}
  431 + p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=listaregistros&inicio="+inicio+"&fim="+fim+"&tema="+i3GEOF.tabela.tema+"&tipo="+tiporeg+"&tipolista="+tipolista+"&ext="+i3GEO.parametros.mapexten+"&dadosDaClasse="+dadosDaClasse;
426 cp.set_response_type("JSON"); 432 cp.set_response_type("JSON");
427 cp.call(p,"listaRegistros",i3GEOF.tabela.montaTabela); 433 cp.call(p,"listaRegistros",i3GEOF.tabela.montaTabela);
428 }, 434 },
@@ -440,10 +446,12 @@ i3GEOF.tabela = { @@ -440,10 +446,12 @@ i3GEOF.tabela = {
440 cor, 446 cor,
441 j, 447 j,
442 n, 448 n,
443 - stat; 449 + stat,
  450 + imagem,
  451 + i3GEOtabelalegenda = $i("i3GEOtabelalegenda").checked;
444 //cabecalho da tabela 452 //cabecalho da tabela
445 ins = "<table id=i3GEOtabelatabelai class=lista2 >"; 453 ins = "<table id=i3GEOtabelatabelai class=lista2 >";
446 - ins += "<tr><td></td><td></td><td></td>"; 454 + ins += "<tr><td></td><td></td><td></td><td></td>";
447 n = retorno.data[0].itens.length; 455 n = retorno.data[0].itens.length;
448 for (i=0;i<n;i++) 456 for (i=0;i<n;i++)
449 {ins += "<td style='background-color:yellow' ><img style=cursor:pointer onclick='i3GEOF.tabela.excluiColuna(this,"+(i * 1 + 3)+")' src='"+i3GEO.configura.locaplic+"/imagens/x.gif' title='excluir' />&nbsp;<img style=cursor:pointer onclick='i3GEOF.tabela.ordenaColuna(this,"+(i * 1 + 3)+")' src='"+i3GEO.configura.locaplic+"/imagens/ordena1.gif' title='ordena' /><br> "+retorno.data[0].itens[i]+"</td>";} 457 {ins += "<td style='background-color:yellow' ><img style=cursor:pointer onclick='i3GEOF.tabela.excluiColuna(this,"+(i * 1 + 3)+")' src='"+i3GEO.configura.locaplic+"/imagens/x.gif' title='excluir' />&nbsp;<img style=cursor:pointer onclick='i3GEOF.tabela.ordenaColuna(this,"+(i * 1 + 3)+")' src='"+i3GEO.configura.locaplic+"/imagens/ordena1.gif' title='ordena' /><br> "+retorno.data[0].itens[i]+"</td>";}
@@ -463,6 +471,12 @@ i3GEOF.tabela = { @@ -463,6 +471,12 @@ i3GEOF.tabela = {
463 {stat = "";} 471 {stat = "";}
464 } 472 }
465 ins += "<td><input title='marca' onclick='i3GEOF.tabela.registraLinha(this)' style='cursor:pointer;border:0px solid white;' type='checkbox' "+stat+" name="+retorno.data[1].registros[i].indice+" /></td>"; 473 ins += "<td><input title='marca' onclick='i3GEOF.tabela.registraLinha(this)' style='cursor:pointer;border:0px solid white;' type='checkbox' "+stat+" name="+retorno.data[1].registros[i].indice+" /></td>";
  474 + if(i3GEOtabelalegenda == true){
  475 + imagem = retorno.data.legenda[retorno.data[1].registros[i].classe["indice"]];
  476 + ins += "<td><img title='"+retorno.data[1].registros[i].classe["nome"]+"' src='"+imagem+"' /></td>";
  477 + }
  478 + else
  479 + {ins += "<td></td>";}
466 if(stat === "CHECKED") 480 if(stat === "CHECKED")
467 {i3GEOF.tabela.registros[retorno.data[1].registros[i].indice] = true;} 481 {i3GEOF.tabela.registros[retorno.data[1].registros[i].indice] = true;}
468 vals = retorno.data[1].registros[i].valores; 482 vals = retorno.data[1].registros[i].valores;
@@ -761,11 +775,12 @@ i3GEOF.tabela = { @@ -761,11 +775,12 @@ i3GEOF.tabela = {
761 }, 775 },
762 t0: function(){ 776 t0: function(){
763 $i("i3GEOtabelaresultado").innerHTML = ""; 777 $i("i3GEOtabelaresultado").innerHTML = "";
764 - var ins = "<br><img src='"+i3GEO.configura.locaplic+"/imagens/Rlogo.jpg'/>"; 778 + var ins = "";
765 ins += "<p class='paragrafo' >A representação gr&aacute;fica dos dados tabulares utiliza todos os elementos da tabela ou os selecionados, se estiverem ativos no mapa."; 779 ins += "<p class='paragrafo' >A representação gr&aacute;fica dos dados tabulares utiliza todos os elementos da tabela ou os selecionados, se estiverem ativos no mapa.";
766 - ins += "<p class='paragrafo' >Nas op&ccedil;&otilde;s seguintes, defina o tipo e as op&ccedil;&otilde;es do gr&aacute;fico.";  
767 ins += "<p class='paragrafo' ><a href='http://www.r-project.org/' target=blank >Os gráficos s&atilde;o gerados com o software R,</a> mas vc pode optar por usar a ferramenta de gráficos interativos que possuem outras opções e geram gráficos em Flash."; 780 ins += "<p class='paragrafo' ><a href='http://www.r-project.org/' target=blank >Os gráficos s&atilde;o gerados com o software R,</a> mas vc pode optar por usar a ferramenta de gráficos interativos que possuem outras opções e geram gráficos em Flash.";
768 ins += "<p class='paragrafo' ><input type=button value='Gráficos interativos' id=i3GEOtabelaGraficoI /></p>"; 781 ins += "<p class='paragrafo' ><input type=button value='Gráficos interativos' id=i3GEOtabelaGraficoI /></p>";
  782 + ins += "<br><br><p class='paragrafo' >Se você optar por usar o R, nas telas seguintes defina o tipo e as op&ccedil;&otilde;es do gr&aacute;fico.";
  783 +
769 i3GEO.util.proximoAnterior("","i3GEOF.tabela.t1()",ins,"i3GEOFtabelat0","i3GEOtabelaresultado"); 784 i3GEO.util.proximoAnterior("","i3GEOF.tabela.t1()",ins,"i3GEOFtabelat0","i3GEOtabelaresultado");
770 new YAHOO.widget.Button( 785 new YAHOO.widget.Button(
771 "i3GEOtabelaGraficoI", 786 "i3GEOtabelaGraficoI",
ferramentas/upload/upload.php
@@ -47,6 +47,8 @@ if (isset($_FILES[&#39;i3GEOuploadshp&#39;][&#39;name&#39;])) @@ -47,6 +47,8 @@ if (isset($_FILES[&#39;i3GEOuploadshp&#39;][&#39;name&#39;]))
47 verificaNome($_FILES['i3GEOuploaddbf']['name']); 47 verificaNome($_FILES['i3GEOuploaddbf']['name']);
48 //remove acentos 48 //remove acentos
49 $nomePrefixo = str_replace(" ","_",removeAcentos(str_replace(".shp","",$_FILES['i3GEOuploadshp']['name']))); 49 $nomePrefixo = str_replace(" ","_",removeAcentos(str_replace(".shp","",$_FILES['i3GEOuploadshp']['name'])));
  50 + $nomePrefixo = $nomePrefixo."_".(nomeRandomico(4));
  51 +
50 //sobe arquivo 52 //sobe arquivo
51 $Arquivo = $_FILES['i3GEOuploadshp']['tmp_name']; 53 $Arquivo = $_FILES['i3GEOuploadshp']['tmp_name'];
52 if(file_exists($dirmap."/".$nomePrefixo.".shp")) 54 if(file_exists($dirmap."/".$nomePrefixo.".shp"))
ferramentas/uploaddbf/upload.php
@@ -34,7 +34,8 @@ if (isset($_FILES[&#39;i3GEOuploaddbffile&#39;][&#39;name&#39;])) @@ -34,7 +34,8 @@ if (isset($_FILES[&#39;i3GEOuploaddbffile&#39;][&#39;name&#39;]))
34 {echo "Ocorreu um erro no envio do arquivo";paraAguarde();exit;} 34 {echo "Ocorreu um erro no envio do arquivo";paraAguarde();exit;}
35 $nome = explode(".",$_FILES['i3GEOuploaddbffile']['name']); 35 $nome = explode(".",$_FILES['i3GEOuploaddbffile']['name']);
36 $nome = $nome[0]; 36 $nome = $nome[0];
37 - $nomeshp = $dirmap."/".$nome.".shp"; 37 + $nome = $nome."_".(nomeRandomico(4));
  38 + $nomeshp = $dirmap."/".$nome.".shp";
38 if($status == 1) 39 if($status == 1)
39 { 40 {
40 if(!isset($tema)) //o arquivo deverá ser transformado em uma camada no mapa 41 if(!isset($tema)) //o arquivo deverá ser transformado em uma camada no mapa
ms_criamapa.php
@@ -142,7 +142,8 @@ require_once ($caminho.&quot;classesphp/carrega_ext.php&quot;); @@ -142,7 +142,8 @@ require_once ($caminho.&quot;classesphp/carrega_ext.php&quot;);
142 // 142 //
143 //quando $funcao existe, é pq o ms_criamapa.php está sendo utilizado como um include em classesphp/mapa_controle.php 143 //quando $funcao existe, é pq o ms_criamapa.php está sendo utilizado como um include em classesphp/mapa_controle.php
144 // 144 //
145 -if (!isset($_GET["debug"])) 145 +$parurl = array_merge($_GET,$_POST);
  146 +if (!isset($parurl["debug"]))
146 {error_reporting(0);$debug="nao";} 147 {error_reporting(0);$debug="nao";}
147 else 148 else
148 {error_reporting(E_ALL);$debug="sim";} 149 {error_reporting(E_ALL);$debug="sim";}
@@ -152,8 +153,8 @@ if (!isset($caminho)) @@ -152,8 +153,8 @@ if (!isset($caminho))
152 {$caminho = "";} 153 {$caminho = "";}
153 if (!file_exists($caminho."classesphp/carrega_ext.php")) 154 if (!file_exists($caminho."classesphp/carrega_ext.php"))
154 {echo "<b> Nao foi possivel localizar o diretório classephp. Provavelmente vc precisara definir a variavel $caminho";exit;} 155 {echo "<b> Nao foi possivel localizar o diretório classephp. Provavelmente vc precisara definir a variavel $caminho";exit;}
155 -if (isset($_GET["caminho"]))  
156 -{$caminho = $_GET["caminho"];} 156 +if (isset($parurl["caminho"]))
  157 +{$caminho = $parurl["caminho"];}
157 /* 158 /*
158 Carrega as extensões PHP 159 Carrega as extensões PHP
159 160