Commit 0945aee7c30fe2fc3a999049a9dfa6bb80695a7e

Authored by Edmar Moretti
1 parent 6b339250

--no commit message

admin/admin.db
No preview for this file type
admin/html/estat_uploaddados.html 0 → 100644
... ... @@ -0,0 +1,114 @@
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2 +<html>
  3 +<head>
  4 +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  5 +<title>Upload de dados</title>
  6 +<style type="text/css">
  7 +/*margin and padding on body element
  8 + can introduce errors in determining
  9 + element position and are not recommended;
  10 + we turn them off as a foundation for YUI
  11 + CSS treatments. */
  12 +body {
  13 + margin: 0;
  14 + padding: 0;
  15 +}
  16 +</style>
  17 +<script type="text/javascript" src="../js/core.js"></script>
  18 +<script type="text/javascript" src="../../classesjs/classe_php.js"></script>
  19 +<script type="text/javascript" src="../../ferramentas/metaestat/index.js"></script>
  20 +<script type="text/javascript" src="../js/estat_uploaddados.js"></script>
  21 +<link rel="stylesheet" type="text/css" href="admin.css">
  22 +
  23 +</head>
  24 +<body class=" yui-skin-sam fundoPonto">
  25 + <div class="bordaSuperior">&nbsp;</div>
  26 + <div class="mascaraPrincipal" id="divGeral">
  27 + <div id=cabecalhoPrincipal></div>
  28 + <h1>
  29 + Metadados estat&iacute;sticos - upload de dados <img
  30 + src="../imagens/04.png" style="cursor: pointer" id=botaoAjuda />
  31 + </h1>
  32 +
  33 + <div id="formulario" style="display: none">
  34 + <div id="ajuda" style="display: none">
  35 + <div class="hd">Ajuda</div>
  36 + <div class="bd" style="height: 144px; overflow: auto">
  37 + <p>Este formul&aacute;rio permite fazero upload de dados
  38 + utilizadas pelo sistema de metadados estat&iacute;sticos
  39 + </div>
  40 + <div class="ft"></div>
  41 + </div>
  42 + <p>
  43 + <br> Aten&ccedil;&atilde;o: para poder editar o banco de dados,
  44 + o usu&aacute;rio da conex&atilde;o escolhida deve ter direitos de
  45 + edi&ccedil;&atilde;o. Apenas vari&aacute;veis existentes no esquema i3geo_metaestat podem receber dados dessa forma.<br>O arquivo deve ser do tipo texto e a primeira linha deve conter os nomes das colunas<br>
  46 +
  47 + <div id="i3GEOadminUploaddadosConexao" style="left: -5px;"></div><br>
  48 + <div id="i3GEOadminUploaddadosVariaveis" style="left: -5px;"></div>
  49 + <div id="i3GEOadminUploaddadosMedidas" style="left: -5px;"></div>
  50 + <br>
  51 + <form id=i3GEOupload target="i3GEOuploadiframe" action="../php/metaestat_uploaddados_submit.php" onsubmit="i3GEOadmin.uploaddados.submit();"
  52 + method="post" ENCTYPE="multipart/form-data">
  53 + <p class="paragrafo">
  54 + <input class=digitar type="file" size=42 name="i3GEOuploadArquivo"
  55 + style="top: 0px; left: 0px; cursor: pointer;">
  56 + </p>
  57 + <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
  58 + <input type="submit" value="Enviar" >
  59 + </form>
  60 + <br>
  61 + <div id="i3GEOadminEditorColunas" style="left: -5px;"></div>
  62 + <iframe id="i3GEOuploadiframe" name="i3GEOuploadiframe" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe>
  63 + </div>
  64 + </div>
  65 + <div id=logajax style="display: block"></div>
  66 + <script>
  67 + /*
  68 + Title: Upload de dados do sistema de metadados estat&iacute;sticos
  69 +
  70 + Licenca:
  71 +
  72 + GPL2
  73 +
  74 + i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  75 +
  76 + Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil
  77 + Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br
  78 +
  79 + Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  80 + e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  81 + GNU conforme publicada pela Free Software Foundation;
  82 +
  83 + Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  84 + por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  85 + de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  86 + Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  87 + Voc&ecirc; deve ter recebido uma cópia da Licen&ccedil;a P&uacute;blica Geral do
  88 + GNU junto com este programa; se n&atilde;o, escreva para a
  89 + Free Software Foundation, Inc., no endere&ccedil;o
  90 + 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  91 +
  92 + Arquivo:
  93 +
  94 + i3geo/admin/html/estat_uploaddados.html
  95 + */
  96 + if (screen.availWidth > 700) {
  97 + document.getElementById("divGeral").style.width = "700px";
  98 + }
  99 + //necessario para a ferramenta login e outras
  100 + i3GEO.configura = {
  101 + locaplic : "../.."
  102 + };
  103 + cabecalhoMetaestat("cabecalhoPrincipal", "uploaddados");
  104 + document.getElementById("formulario").style.display = "block";
  105 + i3GEOadmin.uploaddados.inicia();
  106 + /*
  107 + temp = function() {
  108 + document.getElementById("formulario").style.display = "block";
  109 + initEditor();
  110 + };
  111 + i3GEO.login.verificaOperacao("admin/html/menus",i3GEO.configura.locaplic, temp, "sessao");
  112 + */
  113 + </script>
  114 +</body>
0 115 \ No newline at end of file
... ...
admin/js/core.js
... ... @@ -67,7 +67,7 @@ Armazena o objeto com a lista de perfis
67 67 $perfis = "";
68 68 function cabecalhoMetaestat(id,excluir){
69 69 var i,n,temp,
70   - ins = "<fieldset class='cabecalhoGeral'><legend>Op&ccedil;&otilde;es principais</legend>",
  70 + ins = "<fieldset class='cabecalhoGeral' style='height:120px;line-height:30px'><legend>Op&ccedil;&otilde;es principais</legend>",
71 71 u = i3GEO.util.pegaCookie("i3geousuarionome"),
72 72 botoes = [
73 73 {id:"principal",titulo:"In&iacute;cio",link:"../index.html"},
... ... @@ -78,6 +78,7 @@ function cabecalhoMetaestat(id,excluir){
78 78 {id:"tipo_regiao",titulo:"Regi&otilde;es",link:"estat_tipo_regiao.html"},
79 79 {id:"fonteinfo",titulo:"Fonte",link:"estat_fonteinfo.html"},
80 80 {id:"editor",titulo:"Editor",link:"estat_editor.html"},
  81 + {id:"uploaddados",titulo:"Upload",link:"estat_uploaddados.html"},
81 82 {id:"login",titulo:"Login",js:"i3GEO.login.dialogo.abreLogin()"}
82 83 ];
83 84 n = botoes.length;
... ... @@ -332,16 +333,17 @@ postpar - parametros quando o tipo for post
332 333 */
333 334 function core_makeRequest(sUrl,callback,tipo,postpar)
334 335 {
335   - /*
336 336 sUrl = escape(sUrl);
337   - var re = new RegExp("%3F", "g");
  337 + re = new RegExp("%3F", "g");
338 338 sUrl = sUrl.replace(re,'?');
339 339 re = new RegExp("%3D", "g");
340 340 sUrl = sUrl.replace(re,'=');
341 341 re = new RegExp("%26", "g");
342 342 sUrl = sUrl.replace(re,'&');
343   - */
344   - //alert(sUrl)
  343 +
  344 + re = new RegExp("%3A", "g");
  345 + sUrl = sUrl.replace(re,':');
  346 +
345 347 if(arguments.length == 2)
346 348 {tipo = "GET";}
347 349 if(postpar){
... ...
admin/js/estat_uploaddados.js 0 → 100644
... ... @@ -0,0 +1,100 @@
  1 +if(typeof(i3GEOadmin) === 'undefined'){
  2 + var i3GEOadmin = {};
  3 +}
  4 +i3GEOadmin.uploaddados = {
  5 + COLUNASARQUIVO: "",
  6 + NOMEARQUIVOSERV: "",
  7 + /*
  8 + * Inicializa o sistema
  9 + */
  10 + inicia: function(){
  11 + YAHOO.namespace("editor");
  12 + YAHOO.namespace("admin.container");
  13 + i3GEOadmin.uploaddados.variaveis.lista();
  14 + i3GEOadmin.uploaddados.conexao.lista();
  15 + },
  16 + upload:{
  17 + submit: function(){
  18 + core_carregando("enviando...");
  19 + },
  20 + comboColunas: function(id){
  21 + var i=0,
  22 + c = i3GEOadmin.uploaddados.COLUNASARQUIVO,
  23 + n = c.length,
  24 + ins = "<select id='"+id+"'>";
  25 + for(i=0;i<n;i++){
  26 + ins += "<option value='"+c[i]+"' >"+c[i]+"</option>";
  27 + }
  28 + ins = "</select>";
  29 + return ins;
  30 + },
  31 + fimsubmit: function(){
  32 + //TODO escolher a tabela
  33 + core_carregando("desativa");
  34 + var ins = "";
  35 + ins += "<p>Abaixo voc&circ; deve definir quais colunas do arquivo que foi enviado corresponde &agrave;s colunas do banco de dados de destino</p>" +
  36 + "<p>Cont&eacute;m os c&oacute;digos que identificam a regi&atilde;o, como o c&oacute;digo do munic&iacute;pio ou bairro</p>" +
  37 + i3GEOadmin.uploaddados.upload.comboColunas("i3geoupload_codigoregiao") +
  38 + "<p>Cont&eacute;m os valores da medida</p>" +
  39 + i3GEOadmin.uploaddados.upload.comboColunas("i3geoupload_valor") +
  40 + "<p>Cont&eacute;m o ano (opcional)</p>" +
  41 + i3GEOadmin.uploaddados.upload.comboColunas("i3geoupload_ano") +
  42 + "<p>Cont&eacute;m o m&ecirc;s (opcional)</p>" +
  43 + i3GEOadmin.uploaddados.upload.comboColunas("i3geoupload_mes") +
  44 + "<p>Cont&eacute;m o dia (opcional)</p>" +
  45 + i3GEOadmin.uploaddados.upload.comboColunas("i3geoupload_dia") +
  46 + "<p>Cont&eacute;m a hora (opcional)</p>" +
  47 + i3GEOadmin.uploaddados.upload.comboColunas("i3geoupload_hora") +
  48 + "<p>Tipo de valores</p>";
  49 + }
  50 + },
  51 + conexao:{
  52 + onde: "i3GEOadminUploaddadosConexao",
  53 + lista: function(){
  54 + var callback = {
  55 + success:function(o){
  56 + try {
  57 + var dados = YAHOO.lang.JSON.parse(o.responseText),
  58 + temp = "<p>Escolha a conex&atilde;o com o banco:</p>";
  59 + temp += "<select id='i3GEOadmincodigo_estat_conexao' >";
  60 + temp += core_comboObjeto(dados,"codigo_estat_conexao","bancodedados","","usuario");
  61 + temp += "</select>";
  62 + $i(i3GEOadmin.uploaddados.conexao.onde).innerHTML = temp;
  63 + core_carregando("desativa");
  64 + }
  65 + catch(e){core_handleFailure(e,o.responseText);}
  66 + },
  67 + failure:core_handleFailure,
  68 + argument: { foo:"foo", bar:"bar" }
  69 + };
  70 + core_carregando("buscando dados...");
  71 + core_makeRequest("../php/metaestat.php?funcao=listaConexao",callback);
  72 + }
  73 + },
  74 + variaveis:{
  75 + onde: "i3GEOadminUploaddadosVariaveis",
  76 + lista: function(){
  77 + i3GEOF.metaestat.comum.aguarde($i(i3GEOadmin.uploaddados.variaveis.onde));
  78 + i3GEO.php.listaVariavel(i3GEOadmin.uploaddados.variaveis.combo,"i3geo_metaestat");
  79 + },
  80 + combo: function(dados){
  81 + $i(i3GEOadmin.uploaddados.variaveis.onde).innerHTML = "<p>Escolha a vari&aacute;vel que receberá os dados</p>" +
  82 + i3GEOF.metaestat.principal.comboVariaveis(dados,"i3GEOadminEditorVariaveis_combo","i3GEOadmin.uploaddados.medidas.lista()");
  83 + }
  84 + },
  85 + medidas:{
  86 + onde: "i3GEOadminUploaddadosMedidas",
  87 + lista: function(){
  88 + if($i("i3GEOadminEditorVariaveis_combo").value == ""){
  89 + $i(i3GEOadmin.uploaddados.medidas.onde).innerHTML = "";
  90 + return ;
  91 + }
  92 + i3GEOF.metaestat.comum.aguarde($i(i3GEOadmin.uploaddados.medidas.onde));
  93 + i3GEO.php.listaMedidaVariavel($i("i3GEOadminEditorVariaveis_combo").value,i3GEOadmin.uploaddados.medidas.combo);
  94 + },
  95 + combo: function(dados){
  96 + $i(i3GEOadmin.uploaddados.medidas.onde).innerHTML = "<p>Escolha a medida da vari&aacute;vel</p>" +
  97 + i3GEOF.metaestat.principal.comboMedidasVariavel(dados,"i3GEOadminEditorMedidas_combo","");
  98 + }
  99 + }
  100 +};
0 101 \ No newline at end of file
... ...
admin/php/classe_metaestat.php
... ... @@ -909,12 +909,16 @@ class Metaestat{
909 909  
910 910 $codigo_variavel - opcional
911 911 */
912   - function listaVariavel($codigo_variavel=""){
913   - $sql = "select * from ".$this->esquemaadmin."i3geoestat_variavel ";
  912 + function listaVariavel($codigo_variavel="",$filtro_esquema=""){
  913 + $sql = "select a.* from ".$this->esquemaadmin."i3geoestat_variavel as a ";
914 914 if($codigo_variavel != ""){
915   - $sql .= "WHERE codigo_variavel = $codigo_variavel ";
  915 + $sql .= "WHERE a.codigo_variavel = $codigo_variavel ";
916 916 }
917   - $sql .= "ORDER BY nome";
  917 + if($filtro_esquema != ""){
  918 + $sql .= ", ".$this->esquemaadmin."i3geoestat_medida_variavel as b WHERE a.codigo_variavel = b.codigo_variavel and b.esquemadb = '$filtro_esquema' ";
  919 + }
  920 + $sql .= "ORDER BY a.nome";
  921 + //echo $sql;exit;
918 922 return $this->execSQL($sql,$codigo_variavel);
919 923 }
920 924 /*
... ...
admin/php/menutemas.php
... ... @@ -25,7 +25,7 @@ Este programa &amp;eacute; distribu&amp;iacute;do na expectativa de que seja &amp;uacute;til
25 25 por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
26 26 de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
27 27 Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
28   -Voc&ecirc; deve ter recebido uma c�pia da Licen&ccedil;a P&uacute;blica Geral do
  28 +Voc&ecirc; deve ter recebido uma da Licen&ccedil;a P&uacute;blica Geral do
29 29 GNU junto com este programa; se n&atilde;o, escreva para a
30 30 Free Software Foundation, Inc., no endere&ccedil;o
31 31 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
... ... @@ -38,7 +38,7 @@ Parametros:
38 38  
39 39 O par&acirc;metro principal &eacute; "funcao", que define qual opera&ccedil;&atilde;o ser&aacute; executada, por exemplo, menutemas.php?funcao=pegaMenus
40 40  
41   -Cada opera&ccedil;&atilde;o possu&iacute; seus prprios par&acirc;metros, que devem ser enviados tamb&eacute;m na requisi&ccedil;&atilde;o da opera&ccedil;&atilde;o.
  41 +Cada opera&ccedil;&atilde;o possu&iacute; seus proprios par&acirc;metros, que devem ser enviados tamb&eacute;m na requisi&ccedil;&atilde;o da opera&ccedil;&atilde;o.
42 42  
43 43 */
44 44 include_once("admin.php");
... ...
admin/php/metaestat.php
... ... @@ -87,7 +87,10 @@ switch (strtoupper($funcao))
87 87 */
88 88 case "LISTAVARIAVEL":
89 89 $m = new Metaestat();
90   - retornaJSON($m->listaVariavel($codigo_variavel));
  90 + if(empty($filtro_esquema)){
  91 + $filtro_esquema = "";
  92 + }
  93 + retornaJSON($m->listaVariavel($codigo_variavel,$filtro_esquema));
91 94 exit;
92 95 break;
93 96 /*
... ... @@ -254,7 +257,7 @@ switch (strtoupper($funcao))
254 257 $m = new Metaestat();
255 258 $default = false;
256 259 //verifica se a criacao da medida esta sendo feita na tabela default
257   - if($codigo_tipo_periodo < 5 && $codigo_estat_conexao == 0 && $esquemadb == "public" && $colunaidgeo == "codigoregiao"){
  260 + if($codigo_tipo_periodo < 5 && $esquemadb == "i3geo_metaestat" && $colunaidgeo == "codigoregiao"){
258 261 $default = true;
259 262 }
260 263 if(empty($id_medida_variavel)){
... ...
admin/php/metaestat_uploaddados_submit.php 0 → 100644
... ... @@ -0,0 +1,32 @@
  1 +<?php
  2 +$colunasarquivo = "";
  3 +$nomearquivoserv = "";
  4 +//var_dump($_FILES);
  5 +if (isset($_FILES['i3GEOuploadArquivo']['name']))
  6 +{
  7 + require_once (__DIR__."/../../ms_configura.php");
  8 + $Arquivoup = $_FILES['i3GEOuploadArquivo']['tmp_name'];
  9 + $nomearquivoserv = $dir_tmp."/upload".basename($Arquivoup);
  10 + if(file_exists($nomearquivoserv)){
  11 + unlink($nomearquivoserv);
  12 + }
  13 + $status = move_uploaded_file($Arquivoup,$nomearquivoserv);
  14 + if($status == 1){
  15 + $handle = fopen ($nomearquivoserv, "r");
  16 + $buffer = fgets($handle);
  17 + $buffer = str_replace('"','',$buffer);
  18 + $buffer = str_replace("'",'',$buffer);
  19 + $buffer = str_replace("\n",'',$buffer);
  20 + $colunas = explode(";",$buffer);
  21 + if(count($colunas) == 1){
  22 + $colunas = explode(",",$buffer);
  23 + }
  24 + $colunasarquivo = implode(";",$colunas);
  25 + }
  26 +}
  27 +?>
  28 +<script>
  29 +window.parent.i3GEOadmin.uploaddados.COLUNASARQUIVO = "<?php echo $colunasarquivo;?>";
  30 +window.parent.i3GEOadmin.uploaddados.NOMEARQUIVOSERV = "<?php echo $nomearquivoserv;?>";
  31 +window.parent.i3GEOadmin.uploaddados.upload.fimsubmit();
  32 +</script>
0 33 \ No newline at end of file
... ...
classesjs/classe_php.js
... ... @@ -1425,8 +1425,11 @@ i3GEO.php = {
1425 1425  
1426 1426 Obt&eacute;m a lista de vari&aacute;veis do sistema de metadados estat&iacute;sticos
1427 1427 */
1428   - listaVariavel: function(funcao){
1429   - var p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=listaVariavel&g_sid="+i3GEO.configura.sid;
  1428 + listaVariavel: function(funcao,filtro_esquema){
  1429 + if(!filtro_esquema){
  1430 + filtro_esquema = "";
  1431 + }
  1432 + var p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=listaVariavel&g_sid="+i3GEO.configura.sid+"&filtro_esquema="+filtro_esquema;
1430 1433 i3GEO.util.ajaxGet(p,funcao);
1431 1434 },
1432 1435 /*
... ...
ferramentas/metaestat/index.js
... ... @@ -40,6 +40,7 @@ i3GEOF.metaestat = {
40 40 * Tipo de interface utilizada para construcao dos parametros
41 41 */
42 42 INTERFACE: "flutuante",
  43 + CONEXAODEFAULT: 0,
43 44 TOP: 50,
44 45 LEFT: 100,
45 46 LARGURA: 270,
... ... @@ -515,7 +516,7 @@ i3GEOF.metaestat = {
515 516 $i("Ecodigo_variavel").value = $i("i3geoCartoComboVariavelEditor").value;
516 517 //define os valores que sao padrao
517 518 //a conexao e com o default
518   - $i("Ecodigo_estat_conexao").value = 0;
  519 + $i("Ecodigo_estat_conexao").value = i3GEOF.metaestat.CONEXAODEFAULT;
519 520 //o esquema e o public
520 521 $i("Eesquemadb").value = "public";
521 522 //a tabela onde ficarao os dados
... ...
interface/carto_ol.htm
... ... @@ -172,6 +172,7 @@ i3GEO.inicia();
172 172 //parametros especificos dos cartogramas
173 173 //ver i3geo/ferramentas/metaestat
174 174 i3GEOF.metaestat.INTERFACE = "flutuante";
  175 +i3GEOF.metaestat.CONEXAODEFAULT = 0;
175 176 i3GEOF.metaestat.TOP = 50;
176 177 i3GEOF.metaestat.LEFT = 100;
177 178 i3GEOF.metaestat.LARGURA = 270;
... ...