Commit 0945aee7c30fe2fc3a999049a9dfa6bb80695a7e
1 parent
6b339250
Exists in
master
and in
7 other branches
--no commit message
Showing
11 changed files
with
276 additions
and
16 deletions
Show diff stats
admin/admin.db
No preview for this file type
... | ... | @@ -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"> </div> | |
26 | + <div class="mascaraPrincipal" id="divGeral"> | |
27 | + <div id=cabecalhoPrincipal></div> | |
28 | + <h1> | |
29 | + Metadados estatí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ário permite fazero upload de dados | |
38 | + utilizadas pelo sistema de metadados estatísticos | |
39 | + </div> | |
40 | + <div class="ft"></div> | |
41 | + </div> | |
42 | + <p> | |
43 | + <br> Atenção: para poder editar o banco de dados, | |
44 | + o usuário da conexão escolhida deve ter direitos de | |
45 | + edição. Apenas variá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í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ério do Meio Ambiente Brasil | |
77 | + Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br | |
78 | + | |
79 | + Este programa é software livre; você pode redistribuí-lo | |
80 | + e/ou modificá-lo sob os termos da Licença Pública Geral | |
81 | + GNU conforme publicada pela Free Software Foundation; | |
82 | + | |
83 | + Este programa é distribuído na expectativa de que seja útil, | |
84 | + porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
85 | + de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
86 | + Consulte a Licença Pública Geral do GNU para mais detalhes. | |
87 | + Você deve ter recebido uma cópia da Licença Pública Geral do | |
88 | + GNU junto com este programa; se não, escreva para a | |
89 | + Free Software Foundation, Inc., no endereç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ções principais</legend>", | |
70 | + ins = "<fieldset class='cabecalhoGeral' style='height:120px;line-height:30px'><legend>Opções principais</legend>", | |
71 | 71 | u = i3GEO.util.pegaCookie("i3geousuarionome"), |
72 | 72 | botoes = [ |
73 | 73 | {id:"principal",titulo:"Início",link:"../index.html"}, |
... | ... | @@ -78,6 +78,7 @@ function cabecalhoMetaestat(id,excluir){ |
78 | 78 | {id:"tipo_regiao",titulo:"Regiõ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){ | ... | ... |
... | ... | @@ -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ˆ deve definir quais colunas do arquivo que foi enviado corresponde às colunas do banco de dados de destino</p>" + | |
36 | + "<p>Contém os códigos que identificam a região, como o código do município ou bairro</p>" + | |
37 | + i3GEOadmin.uploaddados.upload.comboColunas("i3geoupload_codigoregiao") + | |
38 | + "<p>Contém os valores da medida</p>" + | |
39 | + i3GEOadmin.uploaddados.upload.comboColunas("i3geoupload_valor") + | |
40 | + "<p>Contém o ano (opcional)</p>" + | |
41 | + i3GEOadmin.uploaddados.upload.comboColunas("i3geoupload_ano") + | |
42 | + "<p>Contém o mês (opcional)</p>" + | |
43 | + i3GEOadmin.uploaddados.upload.comboColunas("i3geoupload_mes") + | |
44 | + "<p>Contém o dia (opcional)</p>" + | |
45 | + i3GEOadmin.uploaddados.upload.comboColunas("i3geoupload_dia") + | |
46 | + "<p>Conté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ã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á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á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 &eacute; distribu&iacute;do na expectativa de que seja &uacute;til |
25 | 25 | porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita |
26 | 26 | de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. |
27 | 27 | Consulte a Licença Pública Geral do GNU para mais detalhes. |
28 | -Você deve ter recebido uma c�pia da Licença Pública Geral do | |
28 | +Você deve ter recebido uma da Licença Pública Geral do | |
29 | 29 | GNU junto com este programa; se não, escreva para a |
30 | 30 | Free Software Foundation, Inc., no endereço |
31 | 31 | 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. |
... | ... | @@ -38,7 +38,7 @@ Parametros: |
38 | 38 | |
39 | 39 | O parâmetro principal é "funcao", que define qual operação será executada, por exemplo, menutemas.php?funcao=pegaMenus |
40 | 40 | |
41 | -Cada operação possuí seus pr�prios parâmetros, que devem ser enviados também na requisição da operação. | |
41 | +Cada operação possuí seus proprios parâmetros, que devem ser enviados também na requisição da operaçã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)){ | ... | ... |
... | ... | @@ -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ém a lista de variáveis do sistema de metadados estatí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; | ... | ... |