diff --git a/admin/admin.db b/admin/admin.db index 8a5ec13..e7746a7 100755 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin/html/estat_editor.html b/admin/html/estat_editor.html index abef426..b583318 100755 --- a/admin/html/estat_editor.html +++ b/admin/html/estat_editor.html @@ -91,6 +91,6 @@ body { document.getElementById("formulario").style.display = "block"; i3GEOadmin.editor.inicia(); }; - i3GEO.login.verificaOperacao("admin/metaestat/geral",i3GEO.configura.locaplic, temp, "sessao",i3GEO.login.dialogo.abreLogin); + i3GEO.login.verificaOperacao("admin/metaestat/editorbanco",i3GEO.configura.locaplic, temp, "sessao",i3GEO.login.dialogo.abreLogin); diff --git a/admin/html/estat_editor_.html b/admin/html/estat_editor_.html index 4289538..3d19c24 100755 --- a/admin/html/estat_editor_.html +++ b/admin/html/estat_editor_.html @@ -89,6 +89,6 @@ body { document.getElementById("formulario").style.display = "block"; i3GEOadmin.editor.inicia(); }; - i3GEO.login.verificaOperacao("admin/metaestat/geral",i3GEO.configura.locaplic, temp, "sessao",i3GEO.login.dialogo.abreLogin); + i3GEO.login.verificaOperacao("admin/metaestat/editorbanco",i3GEO.configura.locaplic, temp, "sessao",i3GEO.login.dialogo.abreLogin); diff --git a/admin/js/estat_editor.js b/admin/js/estat_editor.js index 11e55e5..a63d14c 100755 --- a/admin/js/estat_editor.js +++ b/admin/js/estat_editor.js @@ -600,7 +600,7 @@ i3GEOadmin.editor = { '' + '
' + 'Projeção' + - '

Se voc� n�o escolheu o arquivo PRJ escolha o código da projeção (SRID) do arquivo

' + + '

Se você não escolheu o arquivo PRJ escolha o código da projeção (SRID) do arquivo

' + '
' + '

Projetar o arquivo para (deixe em branco se você não quiser aplicar nenhuma transformação de projeção):

' + '
' + diff --git a/admin/php/classe_metaestat.php b/admin/php/classe_metaestat.php index dd7cec4..7e78125 100755 --- a/admin/php/classe_metaestat.php +++ b/admin/php/classe_metaestat.php @@ -2220,7 +2220,7 @@ class Metaestat{ * @return execSQLDB */ function esquemasConexao($codigo_estat_conexao){ - return $this->execSQLDB($codigo_estat_conexao,"SELECT oid,nspname as esquema FROM pg_namespace group by nspname,oid order by nspname"); + return $this->execSQLDB($codigo_estat_conexao,"SELECT oid,nspname as esquema FROM pg_namespace WHERE nspname NOT LIKE 'pg_%' AND nspname NOT LIKE '%_schema%' group by nspname,oid order by nspname"); } /** * Cria um novo esquema no banco de dados @@ -2239,9 +2239,9 @@ class Metaestat{ * @return execSQLDB */ function tabelasEsquema($codigo_estat_conexao,$nome_esquema,$excluigeom=""){ - $sql = "SELECT table_name as tabela FROM information_schema.tables where table_schema = '$nome_esquema'"; + $sql = "SELECT table_name as tabela FROM information_schema.tables where table_schema = '$nome_esquema' AND table_schema NOT LIKE 'i3geo%' AND table_schema NOT LIKE 'pg_%' AND table_schema NOT LIKE '%_schema%'"; if(strtolower($excluigeom) == "sim"){ - $sql = "SELECT c.table_name as tabela FROM information_schema.tables as c left join (SELECT distinct a.table_name FROM information_schema.tables as a left join information_schema.columns as b on a.table_name = b.table_name where a.table_schema = '$nome_esquema' and udt_name = 'geometry' ) as d on c.table_name = d.table_name where c.table_schema = '$nome_esquema' and d.table_name is null"; + $sql = "SELECT c.table_name as tabela FROM information_schema.tables as c left join (SELECT distinct a.table_name FROM information_schema.tables as a left join information_schema.columns as b on a.table_name = b.table_name where a.table_schema = '$nome_esquema' and udt_name = 'geometry' ) as d on c.table_name = d.table_name where c.table_schema = '$nome_esquema' AND c.table_schema NOT LIKE 'i3geo%' AND c.table_schema NOT LIKE 'pg_%' AND c.table_schema NOT LIKE '%_schema%' and d.table_name is null"; } return $this->execSQLDB($codigo_estat_conexao,$sql); } diff --git a/admin/php/metaestat.php b/admin/php/metaestat.php index 43bd091..a4de1e1 100755 --- a/admin/php/metaestat.php +++ b/admin/php/metaestat.php @@ -38,7 +38,7 @@ Cada operação possuí seus proprios parâmetros, que de */ include_once(dirname(__FILE__)."/login.php"); -$codigo_estat_conexao = $_GET["codigo_estat_conexao"]; +$codigo_estat_conexao = $_GET["codigo_estat_conexao"];//pode ser string ou numerico $codigo_variavel = $_GET["codigo_variavel"]; $codigo_tipo_periodo = $_GET["codigo_tipo_periodo"]; $codigo_tipo_regiao = $_GET["codigo_tipo_regiao"]; @@ -56,7 +56,7 @@ $id_mapa_grupo = $_GET["id_mapa_grupo"]; $id_mapa_tema = $_GET["id_mapa_tema"]; $id_pai = $_GET["id_pai"]; -testaSafeNumerico([$codigo_tipo_regiao_pai,$id_pai,$id_mapa_tema,$id_mapa_grupo,$id_mapa,$id_agregaregiao,$codigo_tipo_regiao,$codigo_tipo_periodo,$id_fonteinfo,$codigo_unidade_medida,$codigo_estat_conexao,$codigo_variavel,$id_medida_variavel,$id_classificacao,$id_link,$id_classe,$id_parametro_medida]); +testaSafeNumerico([$codigo_tipo_regiao_pai,$id_pai,$id_mapa_tema,$id_mapa_grupo,$id_mapa,$id_agregaregiao,$codigo_tipo_regiao,$codigo_tipo_periodo,$id_fonteinfo,$codigo_unidade_medida,$codigo_variavel,$id_medida_variavel,$id_classificacao,$id_link,$id_classe,$id_parametro_medida]); //lista de funcoes que passam pela validacao de login $funcoesEdicao = array( @@ -93,13 +93,6 @@ $funcoesEdicao = array( "EXCLUIRCLASSIFICACAOMEDIDA", "EXCLUIRCLASSECLASSIFICACAO", "EXCLUIRLINKMEDIDA", - "CRIATABELADB", - "CRIAESQUEMADB", - "ALTERANOMETABELADB", - "ALTERANOMEESQUEMADB", - "COPIATABELADB", - "CRIACOLUNADB", - "ALTERANOMECOLUNADB", "OBTEMDADOSTABELADB", "INSERIRDADOS", "MANTEMDADOSREGIAO", @@ -122,7 +115,7 @@ if(in_array(strtoupper($funcao),$funcoesEdicao)){ retornaJSON($esquema);exit; } if(strtoupper($funcao) == "TABELASESQUEMA"){ - if($nome_esquema != "public"){ + if($_GET["nome_esquema"] != "public"){ retornaJSON("Vc nao pode realizar essa operacao.");exit; } } @@ -131,6 +124,25 @@ if(in_array(strtoupper($funcao),$funcoesEdicao)){ } } } +//verifica as funcoes que manipulam o banco de dados +$funcoesEdicao = array( + "CRIATABELADB", + "CRIAESQUEMADB", + "ALTERANOMETABELADB", + "ALTERANOMEESQUEMADB", + "COPIATABELADB", + "CRIACOLUNADB", + "ALTERANOMECOLUNADB", +); +if(in_array(strtoupper($funcao),$funcoesEdicao)){ + if(verificaOperacaoSessao("admin/metaestat/editorbanco") == false){ + retornaJSON("Vc nao pode realizar essa operacao.");exit; + } +} + + + + include(dirname(__FILE__)."/classe_metaestat.php"); error_reporting(0); //faz a busca da função que deve ser executada -- libgit2 0.21.2