diff --git a/admin/js/estat_conexao.js b/admin/js/estat_conexao.js index 54840db..a07c349 100755 --- a/admin/js/estat_conexao.js +++ b/admin/js/estat_conexao.js @@ -5,7 +5,7 @@ i3GEOadmin.conexao = { dados: "", letra: "", dataTable: null, - colunas: ["codigo_estat_conexao","bancodedados","host","porta","usuario","senha"], + colunas: ["codigo_estat_conexao","bancodedados","host","porta","usuario","senha","fonte"], formatTexto: function(elCell, oRecord, oColumn, oData){ if(oData === ""){ oData = ""; @@ -13,10 +13,14 @@ i3GEOadmin.conexao = { elCell.innerHTML = "
"; }, formatExclui: function(elCell, oRecord, oColumn){ - elCell.innerHTML = ""; + if(oRecord.getData("fonte") == "metaestat"){ + elCell.innerHTML = ""; + } }, formatMais: function(elCell, oRecord, oColumn){ - elCell.innerHTML = ""; + if(oRecord.getData("fonte") == "metaestat"){ + elCell.innerHTML = ""; + } }, formatSenha: function(elCell, oRecord, oColumn){ elCell.innerHTML = "A senha deve ser editada diretamente no banco de dados de administração. Veja o i3geo/ms_configura.php para saber qual é o banco."; @@ -30,6 +34,7 @@ i3GEOadmin.conexao = { {label:"Host",resizeable:true,key:"host", formatter:i3GEOadmin.conexao.formatTexto}, {label:"Porta",key:"porta",formatter:i3GEOadmin.conexao.formatTexto}, {label:"Usuário",key:"usuario",formatter:i3GEOadmin.conexao.formatTexto}, + {label:"Fonte",key:"fonte",formatter:i3GEOadmin.conexao.formatTexto}, {label:"Senha",key:"senha",formatter:i3GEOadmin.conexao.formatSenha} ]; }, @@ -87,7 +92,11 @@ i3GEOadmin.conexao = { YAHOO.conexao.panelCK = null; } if (column.key == 'excluir'){ - i3GEOadmin.conexao.exclui(registro.getData('codigo_estat_conexao'),target); + if(registro.getData('fonte')){ + alert("Nao pode ser editado. Veja em ms_configura.php"); + return; + } + //i3GEOadmin.conexao.exclui(registro.getData('codigo_estat_conexao'),target); } if (column.key == 'mais'){ core_carregando("ativa"); @@ -225,4 +234,4 @@ i3GEOadmin.conexao = { }; core_makeRequest(sUrl,callback); } -}; \ No newline at end of file +}; diff --git a/admin/js/estat_editor.js b/admin/js/estat_editor.js index 4b56c60..f8a701c 100644 --- a/admin/js/estat_editor.js +++ b/admin/js/estat_editor.js @@ -29,7 +29,7 @@ i3GEOadmin.editor = { var dados = YAHOO.lang.JSON.parse(o.responseText), temp = "" + oData + "
Escolha a conexão com o banco: "; temp += "
"; $i(i3GEOadmin.editor.conexao.onde).innerHTML = temp; core_carregando("desativa"); diff --git a/admin/php/classe_metaestat.php b/admin/php/classe_metaestat.php index 1519f43..aad08c6 100755 --- a/admin/php/classe_metaestat.php +++ b/admin/php/classe_metaestat.php @@ -1792,7 +1792,7 @@ class Metaestat{ return $regioes; } /** - * Lista os dads de uma conexao ou de todas + * Lista os dados de uma conexao ou de todas * @param id da conexao * @param boolean inclui na lista a senha ou nao */ @@ -1808,7 +1808,50 @@ class Metaestat{ $sql .= "WHERE codigo_estat_conexao = $codigo_estat_conexao "; } $sql .= "ORDER BY bancodedados,host,usuario"; - return $this->execSQL($sql,$codigo_estat_conexao); + $res = $this->execSQL($sql,$codigo_estat_conexao); + //se achou e a requisico e para listar uma conexao, retorna o que for encontrado + $cres = count($res); + if($cres > 0 && $codigo_estat_conexao != "" && !empty($cres[0]["dbname"])){ + return $res; + } + //caso contrario, e deve retornar todas as conexoes, inclui a fonte + if($codigo_estat_conexao == ""){ + for($i=0; $i<$cres;$i++){ + $res[$i]["fonte"] = "metaestat"; + } + } + //obtem as conexoes definidas em ms_configgura.php + if(!isset($postgis_mapa)){ + require(dirname(__FILE__)."/../../ms_configura.php"); + } + if(!empty($postgis_mapa)){ + foreach(array_keys($postgis_mapa) as $key){ + $lista = explode(" ",$postgis_mapa[$key]); + $con = array(); + foreach($lista as $l){ + $teste = explode("=",$l); + $con[trim($teste[0])] = trim($teste[1]); + } + $c = array( + "codigo_estat_conexao" => $key, + "bancodedados" => $con["dbname"], + "host" => $con["host"], + "porta" => $con["port"], + "usuario" => $con["user"], + "fonte" => "ms_configura" + ); + if($senha == true){ + $c["senha"] = $con["password"]; + } + $res[] = $c; + if($codigo_estat_conexao != "" && $codigo_estat_conexao == $key){ + return $c; + } + } + } + //echo ""; + //var_dump($res);exit; + return $res; } function listaParametroTempo2CampoData($id_medida_variavel,$prefixoAlias = ""){ //lista os parametros temporais diff --git a/ferramentas/salvamapa/index.js b/ferramentas/salvamapa/index.js index b08e05e..9649c2b 100644 --- a/ferramentas/salvamapa/index.js +++ b/ferramentas/salvamapa/index.js @@ -151,8 +151,9 @@ i3GEOF.salvaMapa = { }; i3GEO.php.salvaMapaBanco(temp,titulo,id_mapa,true,true); }; - texto = $trad(7,i3GEOF.salvaMapa.dicionario)+"
"+$trad(15,i3GEOF.salvaMapa.dicionario); + texto = $trad(7,i3GEOF.salvaMapa.dicionario)+"
"+$trad(15,i3GEOF.salvaMapa.dicionario); i3GEO.janela.prompt(texto + "
"+$trad(8,i3GEOF.salvaMapa.dicionario),funcaoOK); + i3GEOF.salvaMapa.comboMapas("i3GEOFsalvamapaMapa"); } }, /* @@ -202,5 +203,21 @@ i3GEOF.salvaMapa = { divid = janela[2].id; i3GEOF.salvaMapa.aguarde = $i("i3GEOF.salvaMapa_imagemCabecalho").style; i3GEOF.salvaMapa.inicia(divid); + }, + comboMapas: function(onde){ + var p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=listaMapas", + combo = function(retorno){ + var n = retorno.length, + i, + ins = "" + + ""; + $i(onde).innerHTML = ins; + }; + i3GEO.util.ajaxGet(p,combo); } }; diff --git a/ms_configura.php b/ms_configura.php index 8f85164..59e42a3 100644 --- a/ms_configura.php +++ b/ms_configura.php @@ -353,7 +353,7 @@ Tipo: */ $postgis_mapa = array( "teste"=>"user=postgres password=postgres dbname=postgis host=localhost port=5432 options='-c client_encoding=LATIN1'", - "postgres"=>"user=postgres password=postgres dbname=postgis host=localhost port=5432", + "postgres"=>"user=postgres password=postgres dbname=postgres host=localhost port=5432", ); /* Variable: utilizacgi -- libgit2 0.21.2