Commit 291a14f707e6805fa2edb1851777a4c9bc8ddc57
1 parent
57e06093
Exists in
master
and in
7 other branches
Inclusão de opção para upload de shapefile e gravação no postgis
Showing
10 changed files
with
266 additions
and
22 deletions
Show diff stats
admin/admin.db
No preview for this file type
admin/html/estat_editor.html
| @@ -43,6 +43,7 @@ body { | @@ -43,6 +43,7 @@ body { | ||
| 43 | Apenas as tabelas e os dados existentes no esquema i3geo_metaestat podem ser editados<br> | 43 | Apenas as tabelas e os dados existentes no esquema i3geo_metaestat podem ser editados<br> |
| 44 | <div id="i3GEOadminEditorConexao" style="left: -5px;"></div><br> | 44 | <div id="i3GEOadminEditorConexao" style="left: -5px;"></div><br> |
| 45 | <div id="i3GEOadminEditorEsquema" style="left: -5px;"></div> | 45 | <div id="i3GEOadminEditorEsquema" style="left: -5px;"></div> |
| 46 | + <div id="i3GEOadminEditorUpload" style="left: -5px;"></div> | ||
| 46 | <div id="i3GEOadminEditorTabela" style="left: -5px;"></div> | 47 | <div id="i3GEOadminEditorTabela" style="left: -5px;"></div> |
| 47 | <div id="i3GEOadminEditorColuna" style="left: -5px;"></div> | 48 | <div id="i3GEOadminEditorColuna" style="left: -5px;"></div> |
| 48 | </div> | 49 | </div> |
admin/html/estat_tipo_regiao.html
| @@ -41,7 +41,7 @@ body { | @@ -41,7 +41,7 @@ body { | ||
| 41 | <div class="ft"></div> | 41 | <div class="ft"></div> |
| 42 | </div> | 42 | </div> |
| 43 | <br> <input type=button id=adicionaNovaLinha | 43 | <br> <input type=button id=adicionaNovaLinha |
| 44 | - value="Adicionar um novo registro" style="left: -5px;" /> | 44 | + value="Adicionar um novo registro" style="left: -5px;" /> Utilize a opção "Editor" no menu superior caso você queira fazer o upload de shapefile para criar uma nova tabela com os dados que serão utilizados em uma determinada região |
| 45 | <p> | 45 | <p> |
| 46 | <br> | 46 | <br> |
| 47 | <div id="tabela" style="left: -5px;"></div> | 47 | <div id="tabela" style="left: -5px;"></div> |
admin/index.html
| @@ -188,7 +188,7 @@ | @@ -188,7 +188,7 @@ | ||
| 188 | </tr> | 188 | </tr> |
| 189 | <tr onclick="abre('html/estat_uploaddados.html')"> | 189 | <tr onclick="abre('html/estat_uploaddados.html')"> |
| 190 | <td><div class=aplicar></div></td> | 190 | <td><div class=aplicar></div></td> |
| 191 | - <td>Upload de dados</td> | 191 | + <td>Upload de dados para uma variável (para upload de shapefile, utilize o gerenciador de tabelas)</td> |
| 192 | </tr> | 192 | </tr> |
| 193 | <tr onclick="abre('html/estat_editor.html')"> | 193 | <tr onclick="abre('html/estat_editor.html')"> |
| 194 | <td><div class=aplicar></div></td> | 194 | <td><div class=aplicar></div></td> |
admin/js/estat_editor.js
| @@ -81,11 +81,13 @@ i3GEOadmin.editor = { | @@ -81,11 +81,13 @@ i3GEOadmin.editor = { | ||
| 81 | success:function(o){ | 81 | success:function(o){ |
| 82 | try { | 82 | try { |
| 83 | var dados = YAHOO.lang.JSON.parse(o.responseText), | 83 | var dados = YAHOO.lang.JSON.parse(o.responseText), |
| 84 | - temp = "<fieldset>Escolha uma tabela: "; | ||
| 85 | - temp += "<select id='i3GEOadmintabela' onchange='i3GEOadmin.editor.coluna.lista()'>"; | 84 | + temp = "<fieldset>" + |
| 85 | + "<p><input type=button value='Upload Shapefile' id='i3GEOadmin_botaoupload' /></p>" + | ||
| 86 | + "<div id='i3GEOadmin_formupload'></div>" + | ||
| 87 | + "Escolha uma tabela existente: " + | ||
| 88 | + "<select id='i3GEOadmintabela' onchange='i3GEOadmin.editor.coluna.lista()'>"; | ||
| 86 | temp += core_comboObjeto(dados,"tabela","tabela"); | 89 | temp += core_comboObjeto(dados,"tabela","tabela"); |
| 87 | - temp += "</select>"; | ||
| 88 | - temp += "" + | 90 | + temp += "</select>" + |
| 89 | "<p><input type=button value='Relatório' id='i3GEOadmintabelaMostrar' />" + | 91 | "<p><input type=button value='Relatório' id='i3GEOadmintabelaMostrar' />" + |
| 90 | "<input type=button value='CSV' id='i3GEOadmintabelaCsv'/>" + | 92 | "<input type=button value='CSV' id='i3GEOadmintabelaCsv'/>" + |
| 91 | "<input type=button value='Criar uma nova tabela' id='i3GEOadmintabelaCriar' />" + | 93 | "<input type=button value='Criar uma nova tabela' id='i3GEOadmintabelaCriar' />" + |
| @@ -93,6 +95,10 @@ i3GEOadmin.editor = { | @@ -93,6 +95,10 @@ i3GEOadmin.editor = { | ||
| 93 | "<input type=button value='Copiar para' id='i3GEOadmintabelaCopiar' />"; | 95 | "<input type=button value='Copiar para' id='i3GEOadmintabelaCopiar' />"; |
| 94 | $i(i3GEOadmin.editor.tabela.onde).innerHTML = temp+"</fieldset>"; | 96 | $i(i3GEOadmin.editor.tabela.onde).innerHTML = temp+"</fieldset>"; |
| 95 | new YAHOO.widget.Button( | 97 | new YAHOO.widget.Button( |
| 98 | + "i3GEOadmin_botaoupload", | ||
| 99 | + {onclick:{fn: i3GEOadmin.editor.uploadshp.inicia}} | ||
| 100 | + ); | ||
| 101 | + new YAHOO.widget.Button( | ||
| 96 | "i3GEOadmintabelaMostrar", | 102 | "i3GEOadmintabelaMostrar", |
| 97 | {onclick:{fn: i3GEOadmin.editor.tabela.mostrar}} | 103 | {onclick:{fn: i3GEOadmin.editor.tabela.mostrar}} |
| 98 | ); | 104 | ); |
| @@ -399,5 +405,50 @@ i3GEOadmin.editor = { | @@ -399,5 +405,50 @@ i3GEOadmin.editor = { | ||
| 399 | } | 405 | } |
| 400 | return false; | 406 | return false; |
| 401 | } | 407 | } |
| 408 | + }, | ||
| 409 | + uploadshp: { | ||
| 410 | + inicia: function(){ | ||
| 411 | + var onde = $i("i3GEOadmin_formupload"); | ||
| 412 | + if(onde.innerHTML != ""){ | ||
| 413 | + onde.innerHTML = ""; | ||
| 414 | + return; | ||
| 415 | + } | ||
| 416 | + $i("i3GEOadmin_formupload").innerHTML = i3GEOadmin.editor.uploadshp.formulario(); | ||
| 417 | + new YAHOO.widget.Button( | ||
| 418 | + "i3GEOuploadsubmit", | ||
| 419 | + {onclick:{fn: i3GEOadmin.editor.uploadshp.submit}} | ||
| 420 | + ); | ||
| 421 | + }, | ||
| 422 | + formulario: function(){ | ||
| 423 | + var ins = '<fieldset><form id=i3GEOuploadf target="i3GEOuploadiframe" action="../php/metaestat_uploadshp_submit.php" method="post" ENCTYPE="multipart/form-data">' + | ||
| 424 | + '<p class="paragrafo" >shp: <br><input class=digitar type="file" size=22 name="i3GEOuploadshp" style="top:0px;left:0px;cursor:pointer;"></p>' + | ||
| 425 | + '<p class="paragrafo" >shx: <br><input class=digitar type="file" size=22 name="i3GEOuploadshx" style="top:0px;left:0px;cursor:pointer;"></p>' + | ||
| 426 | + '<p class="paragrafo" >dbf: <br><input class=digitar type="file" size=22 name="i3GEOuploaddbf" style="top:0px;left:0px;cursor:pointer;"></p>' + | ||
| 427 | + '<p class="paragrafo" >Nome da nova tabela:<br><input class=digitar type="text" size=20 id="tabelaDestino" name="tabelaDestino" style="top:0px;left:0px;cursor:pointer;"></p>' + | ||
| 428 | + '<p class="paragrafo" >Código da projeção (SRID):<br><input class=digitar type="text" value="4326" size=20 id="srid" name="srid" style="top:0px;left:0px;cursor:pointer;"></p>' + | ||
| 429 | + | ||
| 430 | + '<p class="paragrafo" ><input id=i3GEOuploadsubmit type="button" value="Enviar" size=12 />' + | ||
| 431 | + '<input type="hidden" name="MAX_FILE_SIZE" value="1000000">' + | ||
| 432 | + '<input type="hidden" id="i3GEOuploadcodigoconexao" name="i3GEOuploadcodigoconexao" value="">' + | ||
| 433 | + '<input type="hidden" id="i3GEOuploadesquema" name="i3GEOuploadesquema" value="">' + | ||
| 434 | + '</form>' + | ||
| 435 | + "<p class='paragrafo' style=color:red >Não utilize '_' no nome do arquivo. Apenas letras e números são aceitos!!!</p>" + | ||
| 436 | + '<iframe name=i3GEOuploadiframe style="text-align:left;border:1px solid gray;" width="98%" height="60px"></iframe></fieldset>'; | ||
| 437 | + return ins; | ||
| 438 | + }, | ||
| 439 | + submit: function(){ | ||
| 440 | + if($i("tabelaDestino").value == ""){ | ||
| 441 | + alert("Digite o nome da tabela a ser criada"); | ||
| 442 | + return; | ||
| 443 | + } | ||
| 444 | + if($i("srid").value == ""){ | ||
| 445 | + alert("Digite o valor do SRID"); | ||
| 446 | + return; | ||
| 447 | + } | ||
| 448 | + $i("i3GEOuploadcodigoconexao").value = $i("i3GEOadmincodigo_estat_conexao").value; | ||
| 449 | + $i("i3GEOuploadesquema").value = $i("i3GEOadminesquema").value; | ||
| 450 | + $i("i3GEOuploadf").submit(); | ||
| 451 | + } | ||
| 402 | } | 452 | } |
| 453 | + | ||
| 403 | }; | 454 | }; |
| 404 | \ No newline at end of file | 455 | \ No newline at end of file |
admin/js/estat_tipo_regiao.js
| @@ -55,13 +55,13 @@ function montaTabela(dados){ | @@ -55,13 +55,13 @@ function montaTabela(dados){ | ||
| 55 | elCell.innerHTML = "<div class=editar style='text-align:center' ></div>"; | 55 | elCell.innerHTML = "<div class=editar style='text-align:center' ></div>"; |
| 56 | }, | 56 | }, |
| 57 | formatShp = function(elCell, oRecord, oColumn){ | 57 | formatShp = function(elCell, oRecord, oColumn){ |
| 58 | - elCell.innerHTML = "<div class=download style='text-align:center' ></div>"; | 58 | + elCell.innerHTML = "<div class=download style='text-align:center' title='shape file' ></div>"; |
| 59 | }, | 59 | }, |
| 60 | myColumnDefs = [ | 60 | myColumnDefs = [ |
| 61 | {key:"excluir",label:"excluir",formatter:formatExclui}, | 61 | {key:"excluir",label:"excluir",formatter:formatExclui}, |
| 62 | - {key:"shapefile",label:"shapefile",formatter:formatShp}, | 62 | + {key:"shapefile",label:"download",formatter:formatShp}, |
| 63 | {key:"rel",label:"agregações",formatter:formatRel}, | 63 | {key:"rel",label:"agregações",formatter:formatRel}, |
| 64 | - {key:"mais",label:"editar",formatter:formatMais}, | 64 | + {key:"mais",label:"propriedades",formatter:formatMais}, |
| 65 | {label:"código",key:"codigo_tipo_regiao", formatter:formatTexto}, | 65 | {label:"código",key:"codigo_tipo_regiao", formatter:formatTexto}, |
| 66 | {label:"Nome",resizeable:true,key:"nome_tipo_regiao", formatter:formatTexto}, | 66 | {label:"Nome",resizeable:true,key:"nome_tipo_regiao", formatter:formatTexto}, |
| 67 | {label:"Descrição",resizeable:true,key:"descricao_tipo_regiao", formatter:formatTexto}, | 67 | {label:"Descrição",resizeable:true,key:"descricao_tipo_regiao", formatter:formatTexto}, |
admin/php/criabanco.php
| @@ -173,6 +173,8 @@ | @@ -173,6 +173,8 @@ | ||
| 173 | $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES('16', 'admin/php/editortexto', 'editor de textos para edicao de mapfiles')"); | 173 | $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES('16', 'admin/php/editortexto', 'editor de textos para edicao de mapfiles')"); |
| 174 | $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES('17', 'admin/html/usuarios', 'cadastro de usuarios')"); | 174 | $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES('17', 'admin/html/usuarios', 'cadastro de usuarios')"); |
| 175 | $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES('18', 'admin/metaestat/geral', 'permite edicoes mais comuns do sistema de metadados estatisticos')"); | 175 | $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES('18', 'admin/metaestat/geral', 'permite edicoes mais comuns do sistema de metadados estatisticos')"); |
| 176 | + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES('19', 'admin/metaestat/editorbanco', 'permite gerenciar as tabelas do banco')"); | ||
| 177 | + | ||
| 176 | //papeis por operacao | 178 | //papeis por operacao |
| 177 | $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(1,2)"); | 179 | $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(1,2)"); |
| 178 | $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(1,3)"); | 180 | $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(1,3)"); |
| @@ -0,0 +1,173 @@ | @@ -0,0 +1,173 @@ | ||
| 1 | +<?php | ||
| 2 | +/* | ||
| 3 | + * Faz o upload de shapefile e insere no banco de dados | ||
| 4 | + */ | ||
| 5 | +include_once("admin.php"); | ||
| 6 | +include_once("login.php"); | ||
| 7 | +if(verificaOperacaoSessao("admin/metaestat/editorbanco") == false){ | ||
| 8 | + echo "Vc nao pode realizar essa operacao.";exit; | ||
| 9 | +} | ||
| 10 | +error_reporting(E_ALL); | ||
| 11 | +?> | ||
| 12 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | ||
| 13 | +<html> | ||
| 14 | +<head> | ||
| 15 | +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> | ||
| 16 | +<link rel="stylesheet" type="text/css" href="../../css/geral.css" /> | ||
| 17 | +<title></title> | ||
| 18 | +</head> | ||
| 19 | +<body bgcolor="white" style="background-color:white;text-align:left;"> | ||
| 20 | +<p> | ||
| 21 | +<?php | ||
| 22 | +if($_POST["tabelaDestino"] == ""){ | ||
| 23 | + echo "Nome da tabela não definido"; | ||
| 24 | + exit; | ||
| 25 | +} | ||
| 26 | +if($_POST["srid"] == ""){ | ||
| 27 | + echo "SRID não definido"; | ||
| 28 | + exit; | ||
| 29 | +} | ||
| 30 | +if ($_FILES['i3GEOuploadshp']['name'] == ""){ | ||
| 31 | + echo "Arquivo não definido"; | ||
| 32 | + exit; | ||
| 33 | +} | ||
| 34 | +if (isset($_FILES['i3GEOuploadshp']['name'])){ | ||
| 35 | + require_once ("../../ms_configura.php"); | ||
| 36 | + echo "<p class='paragrafo' >Carregando o arquivo...</p>"; | ||
| 37 | + $arqshp = $_FILES['i3GEOuploadshp']['tmp_name']; | ||
| 38 | + //verifica nomes e sobe arquivo | ||
| 39 | + verificaNome($_FILES['i3GEOuploadshp']['name'],"shp"); | ||
| 40 | + $nomePrefixo = str_replace(" ","_",removeAcentos(str_replace(".shp","",$_FILES['i3GEOuploadshp']['name']))); | ||
| 41 | + $nomePrefixo = $nomePrefixo."_".(nomeRandomico(4)); | ||
| 42 | + | ||
| 43 | + $Arquivo = $_FILES['i3GEOuploadshp']['tmp_name']; | ||
| 44 | + $status = move_uploaded_file($Arquivo,$dir_tmp."/".$nomePrefixo.".shp"); | ||
| 45 | + if($status != 1) | ||
| 46 | + {echo "<p class='paragrafo' >Ocorreu um erro no envio do arquivo SHP";exit;} | ||
| 47 | + $Arquivo = $_FILES['i3GEOuploadshx']['tmp_name']; | ||
| 48 | + $status = move_uploaded_file($Arquivo,$dir_tmp."/".$nomePrefixo.".shx"); | ||
| 49 | + if($status != 1) | ||
| 50 | + {echo "<p class='paragrafo' >Ocorreu um erro no envio do arquivo SHX";exit;} | ||
| 51 | + $Arquivo = $_FILES['i3GEOuploaddbf']['tmp_name']; | ||
| 52 | + $status = move_uploaded_file($Arquivo,$dir_tmp."/".$nomePrefixo.".dbf"); | ||
| 53 | + if($status != 1) | ||
| 54 | + {echo "<p class='paragrafo' >Ocorreu um erro no envio do arquivo DBF";exit;} | ||
| 55 | + | ||
| 56 | + if(!file_exists($dir_tmp."/".$nomePrefixo.".shp")) | ||
| 57 | + {echo "<p class='paragrafo' >Ocorreu algum problema no envio do arquivo ".$dir_tmp."/".$nomePrefixo;paraAguarde();exit;} | ||
| 58 | + $arqshp = $dir_tmp."/".$nomePrefixo.".shp"; | ||
| 59 | + | ||
| 60 | + //pega os parametros de conexao | ||
| 61 | + include("classe_metaestat.php"); | ||
| 62 | + $m = new Metaestat(); | ||
| 63 | + $conexao = $m->listaConexao($_POST["i3GEOuploadcodigoconexao"],true); | ||
| 64 | + //array(5) { ["codigo_estat_conexao"]=> string(1) "1" ["bancodedados"]=> string(8) "geosaude" ["host"]=> string(9) "localhost" ["porta"]=> string(4) "5432" ["usuario"]=> string(8) "postgres" } | ||
| 65 | + //pega as colunas do shapefile | ||
| 66 | + $shapefileObj = ms_newShapefileObj($arqshp,-1); | ||
| 67 | + $numshapes = $shapefileObj->numshapes; | ||
| 68 | + $mapObj = ms_newMapObjFromString("MAP END"); | ||
| 69 | + $layer = ms_newLayerObj($mapObj); | ||
| 70 | + $layer->set("data",$arqshp); | ||
| 71 | + $layer->open(); | ||
| 72 | + $colunas = $layer->getItems(); | ||
| 73 | + | ||
| 74 | + echo "<br>Numshapes: ". $numshapes; | ||
| 75 | + $tipo = $shapefileObj->type; | ||
| 76 | + echo "<br>Tipo: ". $tipo; | ||
| 77 | + echo "<br>Colunas: "; | ||
| 78 | + var_dump($colunas); | ||
| 79 | + | ||
| 80 | + $sqinsert = array(); | ||
| 81 | + | ||
| 82 | + | ||
| 83 | + | ||
| 84 | + //verifica o tipo de coluna | ||
| 85 | + $tipoColuna = array(); | ||
| 86 | + if($numshapes < 10){ | ||
| 87 | + $testar = $numshapes; | ||
| 88 | + } | ||
| 89 | + else{ | ||
| 90 | + $testar = 10; | ||
| 91 | + } | ||
| 92 | + foreach($colunas as $coluna){ | ||
| 93 | + $tipo = "numeric"; | ||
| 94 | + for ($i=0; $i<$testar;$i++){ | ||
| 95 | + $s = $layer->getShape(new resultObj($i)); | ||
| 96 | + $v = $s->getValue($layer,$coluna); | ||
| 97 | + if(!is_numeric($v)){ | ||
| 98 | + $tipo = "varchar"; | ||
| 99 | + } | ||
| 100 | + } | ||
| 101 | + $tipoColuna[$coluna] = $tipo; | ||
| 102 | + } | ||
| 103 | + echo "<br>Tipos das colunas: <pre>"; | ||
| 104 | + var_dump($tipoColuna); | ||
| 105 | + echo "</pre>"; | ||
| 106 | + //gera o script para criar a tabela | ||
| 107 | + $sqltabela = array(); | ||
| 108 | + $sql = "CREATE TABLE ".$_POST["i3GEOuploadesquema"].".".$_POST["tabelaDestino"]."(gid integer, the_geom geometry"; | ||
| 109 | + foreach($colunas as $coluna){ | ||
| 110 | + $sql .= ",".strtolower($coluna)." ".$tipoColuna[$coluna]; | ||
| 111 | + } | ||
| 112 | + $sql .= ")WITH(OIDS=FALSE)"; | ||
| 113 | + $sqltabela[] = $sql; | ||
| 114 | + $sqltabela[] = "ALTER TABLE ".$_POST["i3GEOuploadesquema"].".".$_POST["tabelaDestino"]." OWNER TO ".$conexao["usuario"]; | ||
| 115 | + $sqltabela[] = "CREATE INDEX ".$_POST["tabelaDestino"]."_indx_thegeom ON ".$_POST["i3GEOuploadesquema"].".".$_POST["tabelaDestino"]." USING gist (the_geom )"; | ||
| 116 | + echo "<br>Sql tabela: <pre>"; | ||
| 117 | + var_dump($sqltabela); | ||
| 118 | + echo "</pre>"; | ||
| 119 | + //gera o script para inserir os dados | ||
| 120 | + $linhas = array(); | ||
| 121 | + $insert = "INSERT INTO ".$_POST["i3GEOuploadesquema"].".".$_POST["tabelaDestino"]."( gid,".strtolower(implode(",",$colunas)).",the_geom)"; | ||
| 122 | + for ($i=0; $i<$numshapes;$i++){ | ||
| 123 | + $s = $layer->getShape(new resultObj($i)); | ||
| 124 | + $vs = array(); | ||
| 125 | + $vs[] = $i; | ||
| 126 | + foreach($colunas as $coluna){ | ||
| 127 | + if($tipoColuna[$coluna] == "varchar"){ | ||
| 128 | + $vs[] = "'".$s->getValue($layer,$coluna)."'"; | ||
| 129 | + } | ||
| 130 | + else{ | ||
| 131 | + $vs[] = $s->getValue($layer,$coluna); | ||
| 132 | + } | ||
| 133 | + } | ||
| 134 | + $vs[] = "st_geomfromtext('".$s->toWkt()."','".$_POST["srid"]."')"; | ||
| 135 | + $linhas[] = $insert."VALUES(".implode(",",$vs).")"; | ||
| 136 | + } | ||
| 137 | + $layer->close(); | ||
| 138 | + try { | ||
| 139 | + $dbh = new PDO('pgsql:dbname='.$conexao["bancodedados"].';user='.$conexao["usuario"].';password='.$conexao["senha"].';host='.$conexao["host"].';port='.$conexao["porta"]); | ||
| 140 | + } catch (PDOException $e) { | ||
| 141 | + echo 'Connection failed: ' . $e->getMessage(); | ||
| 142 | + } | ||
| 143 | + foreach($sqltabela as $linha){ | ||
| 144 | + try { | ||
| 145 | + $dbh->query($linha); | ||
| 146 | + } catch (PDOException $e) { | ||
| 147 | + echo 'Erro: ' . $e->getMessage(); | ||
| 148 | + } | ||
| 149 | + } | ||
| 150 | + foreach($linhas as $linha){ | ||
| 151 | + try { | ||
| 152 | + $dbh->query($linha); | ||
| 153 | + } catch (PDOException $e) { | ||
| 154 | + echo 'Erro: ' . $e->getMessage(); | ||
| 155 | + } | ||
| 156 | + } | ||
| 157 | + echo "<br>Feito!!!"; | ||
| 158 | +} | ||
| 159 | +else{ | ||
| 160 | + echo "<p class='paragrafo' >Erro ao enviar o arquivo. Talvez o tamanho do arquivo seja maior do que o permitido.</p>"; | ||
| 161 | +} | ||
| 162 | +function verificaNome($nome,$ext){ | ||
| 163 | + $nome = strtolower($nome); | ||
| 164 | + $lista = explode(".",$nome); | ||
| 165 | + $extensao = $lista[count($lista) - 1]; | ||
| 166 | + if($extensao != $ext){ | ||
| 167 | + echo "Nome de arquivo inválido."; | ||
| 168 | + exit; | ||
| 169 | + } | ||
| 170 | +} | ||
| 171 | +?> | ||
| 172 | +</body> | ||
| 173 | +</html> | ||
| 0 | \ No newline at end of file | 174 | \ No newline at end of file |
admin/php/upgradebanco46_47.php
| @@ -176,6 +176,9 @@ if(!in_array($teste,17)) | @@ -176,6 +176,9 @@ if(!in_array($teste,17)) | ||
| 176 | $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES('17', 'admin/html/usuarios', 'cadastro de usuarios')"); | 176 | $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES('17', 'admin/html/usuarios', 'cadastro de usuarios')"); |
| 177 | if(!in_array($teste,18)) | 177 | if(!in_array($teste,18)) |
| 178 | $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES('18', 'admin/metaestat/geral', 'permite edicoes mais comuns do sistema de metadados estatisticos')"); | 178 | $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES('18', 'admin/metaestat/geral', 'permite edicoes mais comuns do sistema de metadados estatisticos')"); |
| 179 | +if(!in_array($teste,19)) | ||
| 180 | + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES('19', 'admin/metaestat/editorbanco', 'permite gerenciar as tabelas do banco')"); | ||
| 181 | + | ||
| 179 | 182 | ||
| 180 | 183 | ||
| 181 | $teste = lista("select * from ".$esquemaadmin."i3geousr_operacoes","id_operacao","id_papel"); | 184 | $teste = lista("select * from ".$esquemaadmin."i3geousr_operacoes","id_operacao","id_papel"); |
documentacao/diagramas/cadastrodeusuarios.erm
| @@ -110,7 +110,7 @@ | @@ -110,7 +110,7 @@ | ||
| 110 | </connections> | 110 | </connections> |
| 111 | <display>false</display> | 111 | <display>false</display> |
| 112 | <creation_date>2012-07-19 01:51:14</creation_date> | 112 | <creation_date>2012-07-19 01:51:14</creation_date> |
| 113 | - <updated_date>2012-11-28 13:56:34</updated_date> | 113 | + <updated_date>2013-01-31 12:16:31</updated_date> |
| 114 | <model_property> | 114 | <model_property> |
| 115 | <name>Project Name</name> | 115 | <name>Project Name</name> |
| 116 | <value></value> | 116 | <value></value> |
| @@ -656,7 +656,7 @@ | @@ -656,7 +656,7 @@ | ||
| 656 | <connections> | 656 | <connections> |
| 657 | <relation> | 657 | <relation> |
| 658 | <id>0</id> | 658 | <id>0</id> |
| 659 | - <source>1</source> | 659 | + <source>4</source> |
| 660 | <target>2</target> | 660 | <target>2</target> |
| 661 | <child_cardinality>1..n</child_cardinality> | 661 | <child_cardinality>1..n</child_cardinality> |
| 662 | <parent_cardinality>1</parent_cardinality> | 662 | <parent_cardinality>1</parent_cardinality> |
| @@ -673,7 +673,7 @@ | @@ -673,7 +673,7 @@ | ||
| 673 | </relation> | 673 | </relation> |
| 674 | <relation> | 674 | <relation> |
| 675 | <id>1</id> | 675 | <id>1</id> |
| 676 | - <source>4</source> | 676 | + <source>1</source> |
| 677 | <target>2</target> | 677 | <target>2</target> |
| 678 | <child_cardinality>1..n</child_cardinality> | 678 | <child_cardinality>1..n</child_cardinality> |
| 679 | <parent_cardinality>1</parent_cardinality> | 679 | <parent_cardinality>1</parent_cardinality> |
| @@ -699,7 +699,7 @@ | @@ -699,7 +699,7 @@ | ||
| 699 | <normal_column> | 699 | <normal_column> |
| 700 | <id>7</id> | 700 | <id>7</id> |
| 701 | <referenced_column>0</referenced_column> | 701 | <referenced_column>0</referenced_column> |
| 702 | - <relation>0</relation> | 702 | + <relation>1</relation> |
| 703 | <description></description> | 703 | <description></description> |
| 704 | <unique_key_name></unique_key_name> | 704 | <unique_key_name></unique_key_name> |
| 705 | <logical_name></logical_name> | 705 | <logical_name></logical_name> |
| @@ -732,7 +732,7 @@ | @@ -732,7 +732,7 @@ | ||
| 732 | <normal_column> | 732 | <normal_column> |
| 733 | <id>8</id> | 733 | <id>8</id> |
| 734 | <referenced_column>11</referenced_column> | 734 | <referenced_column>11</referenced_column> |
| 735 | - <relation>1</relation> | 735 | + <relation>0</relation> |
| 736 | <description></description> | 736 | <description></description> |
| 737 | <unique_key_name></unique_key_name> | 737 | <unique_key_name></unique_key_name> |
| 738 | <logical_name></logical_name> | 738 | <logical_name></logical_name> |
| @@ -787,7 +787,7 @@ | @@ -787,7 +787,7 @@ | ||
| 787 | <connections> | 787 | <connections> |
| 788 | <relation> | 788 | <relation> |
| 789 | <id>2</id> | 789 | <id>2</id> |
| 790 | - <source>6</source> | 790 | + <source>4</source> |
| 791 | <target>3</target> | 791 | <target>3</target> |
| 792 | <child_cardinality>1..n</child_cardinality> | 792 | <child_cardinality>1..n</child_cardinality> |
| 793 | <parent_cardinality>1</parent_cardinality> | 793 | <parent_cardinality>1</parent_cardinality> |
| @@ -804,7 +804,7 @@ | @@ -804,7 +804,7 @@ | ||
| 804 | </relation> | 804 | </relation> |
| 805 | <relation> | 805 | <relation> |
| 806 | <id>3</id> | 806 | <id>3</id> |
| 807 | - <source>4</source> | 807 | + <source>6</source> |
| 808 | <target>3</target> | 808 | <target>3</target> |
| 809 | <child_cardinality>1..n</child_cardinality> | 809 | <child_cardinality>1..n</child_cardinality> |
| 810 | <parent_cardinality>1</parent_cardinality> | 810 | <parent_cardinality>1</parent_cardinality> |
| @@ -830,7 +830,7 @@ | @@ -830,7 +830,7 @@ | ||
| 830 | <normal_column> | 830 | <normal_column> |
| 831 | <id>9</id> | 831 | <id>9</id> |
| 832 | <referenced_column>16</referenced_column> | 832 | <referenced_column>16</referenced_column> |
| 833 | - <relation>2</relation> | 833 | + <relation>3</relation> |
| 834 | <description></description> | 834 | <description></description> |
| 835 | <unique_key_name></unique_key_name> | 835 | <unique_key_name></unique_key_name> |
| 836 | <logical_name></logical_name> | 836 | <logical_name></logical_name> |
| @@ -863,7 +863,7 @@ | @@ -863,7 +863,7 @@ | ||
| 863 | <normal_column> | 863 | <normal_column> |
| 864 | <id>10</id> | 864 | <id>10</id> |
| 865 | <referenced_column>11</referenced_column> | 865 | <referenced_column>11</referenced_column> |
| 866 | - <relation>3</relation> | 866 | + <relation>2</relation> |
| 867 | <description></description> | 867 | <description></description> |
| 868 | <unique_key_name></unique_key_name> | 868 | <unique_key_name></unique_key_name> |
| 869 | <logical_name></logical_name> | 869 | <logical_name></logical_name> |
| @@ -1045,7 +1045,7 @@ | @@ -1045,7 +1045,7 @@ | ||
| 1045 | <connections> | 1045 | <connections> |
| 1046 | <relation> | 1046 | <relation> |
| 1047 | <id>4</id> | 1047 | <id>4</id> |
| 1048 | - <source>1</source> | 1048 | + <source>7</source> |
| 1049 | <target>5</target> | 1049 | <target>5</target> |
| 1050 | <child_cardinality>1..n</child_cardinality> | 1050 | <child_cardinality>1..n</child_cardinality> |
| 1051 | <parent_cardinality>1</parent_cardinality> | 1051 | <parent_cardinality>1</parent_cardinality> |
| @@ -1062,7 +1062,7 @@ | @@ -1062,7 +1062,7 @@ | ||
| 1062 | </relation> | 1062 | </relation> |
| 1063 | <relation> | 1063 | <relation> |
| 1064 | <id>5</id> | 1064 | <id>5</id> |
| 1065 | - <source>7</source> | 1065 | + <source>1</source> |
| 1066 | <target>5</target> | 1066 | <target>5</target> |
| 1067 | <child_cardinality>1..n</child_cardinality> | 1067 | <child_cardinality>1..n</child_cardinality> |
| 1068 | <parent_cardinality>1</parent_cardinality> | 1068 | <parent_cardinality>1</parent_cardinality> |
| @@ -1088,7 +1088,7 @@ | @@ -1088,7 +1088,7 @@ | ||
| 1088 | <normal_column> | 1088 | <normal_column> |
| 1089 | <id>14</id> | 1089 | <id>14</id> |
| 1090 | <referenced_column>0</referenced_column> | 1090 | <referenced_column>0</referenced_column> |
| 1091 | - <relation>4</relation> | 1091 | + <relation>5</relation> |
| 1092 | <description></description> | 1092 | <description></description> |
| 1093 | <unique_key_name></unique_key_name> | 1093 | <unique_key_name></unique_key_name> |
| 1094 | <logical_name></logical_name> | 1094 | <logical_name></logical_name> |
| @@ -1121,7 +1121,7 @@ | @@ -1121,7 +1121,7 @@ | ||
| 1121 | <normal_column> | 1121 | <normal_column> |
| 1122 | <id>15</id> | 1122 | <id>15</id> |
| 1123 | <referenced_column>19</referenced_column> | 1123 | <referenced_column>19</referenced_column> |
| 1124 | - <relation>5</relation> | 1124 | + <relation>4</relation> |
| 1125 | <description></description> | 1125 | <description></description> |
| 1126 | <unique_key_name></unique_key_name> | 1126 | <unique_key_name></unique_key_name> |
| 1127 | <logical_name></logical_name> | 1127 | <logical_name></logical_name> |
| @@ -2054,6 +2054,20 @@ | @@ -2054,6 +2054,20 @@ | ||
| 2054 | <value>permite edicoes mais comuns do sistema de metadados estatisticos</value> | 2054 | <value>permite edicoes mais comuns do sistema de metadados estatisticos</value> |
| 2055 | </column_data> | 2055 | </column_data> |
| 2056 | </data> | 2056 | </data> |
| 2057 | + <data> | ||
| 2058 | + <column_data> | ||
| 2059 | + <column_id>16</column_id> | ||
| 2060 | + <value>19</value> | ||
| 2061 | + </column_data> | ||
| 2062 | + <column_data> | ||
| 2063 | + <column_id>17</column_id> | ||
| 2064 | + <value>admin/metaestat/editorbanco</value> | ||
| 2065 | + </column_data> | ||
| 2066 | + <column_data> | ||
| 2067 | + <column_id>18</column_id> | ||
| 2068 | + <value>permite gerenciar as tabelas do banco de dados metaestat</value> | ||
| 2069 | + </column_data> | ||
| 2070 | + </data> | ||
| 2057 | </direct_test_data> | 2071 | </direct_test_data> |
| 2058 | <repeat_test_data> | 2072 | <repeat_test_data> |
| 2059 | <test_data_num>0</test_data_num> | 2073 | <test_data_num>0</test_data_num> |