diff --git a/admin/admin.db b/admin/admin.db
index d8e67da..ae2d475 100755
Binary files a/admin/admin.db and b/admin/admin.db differ
diff --git a/admin1/catalogo/mapas/exec.php b/admin1/catalogo/mapas/exec.php
index b15feeb..038a3a3 100755
--- a/admin1/catalogo/mapas/exec.php
+++ b/admin1/catalogo/mapas/exec.php
@@ -32,7 +32,9 @@ $funcoesEdicao = array (
"ADICIONAR",
"ALTERAR",
"EXCLUIR",
- "LIMPACACHE"
+ "LIMPACACHE",
+ "LISTA",
+ "LISTAUNICO"
);
if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) {
if (verificaOperacaoSessao ( "admin/html/mapas" ) === false) {
@@ -74,10 +76,12 @@ switch ($funcao) {
retornaJSON ( $dados );
exit ();
break;
- case "LISTA" :
- $semmapfile = pegaDados ( "SELECT id_mapa, publicado_mapa, ordem_mapa, perfil_mapa, ligados_mapa, temas_mapa, desc_mapa, ext_mapa, imagem_mapa, linkdireto_mapa, nome_mapa, outros_mapa, 'nao' as contemmapfile from " . $esquemaadmin . "i3geoadmin_mapas where mapfile = '' or mapfile is null order by ordem_mapa, lower(nome_mapa)", $dbh, false );
- $commapfile = pegaDados ( "SELECT id_mapa, publicado_mapa, ordem_mapa, perfil_mapa, ligados_mapa, temas_mapa, desc_mapa, ext_mapa, imagem_mapa, linkdireto_mapa, nome_mapa, outros_mapa, 'sim' as contemmapfile from " . $esquemaadmin . "i3geoadmin_mapas where mapfile != '' and mapfile is not null order by ordem_mapa, lower(nome_mapa)", $dbh, false );
- if ($semmapfile === false || $commapfile === false) {
+ case "LISTAUNICO" :
+ $mapfile = pegaDados ( "SELECT id_mapa, publicado_mapa, ordem_mapa, perfil_mapa, ligados_mapa, temas_mapa, desc_mapa, ext_mapa, imagem_mapa, linkdireto_mapa, nome_mapa, outros_mapa, 'nao' as contemmapfile from " . $esquemaadmin . "i3geoadmin_mapas where id_mapa = $id_mapa AND mapfile = '' or mapfile is null ", $dbh, false );
+ if(count($mapfile) == 0){
+ $mapfile = pegaDados ( "SELECT id_mapa, publicado_mapa, ordem_mapa, perfil_mapa, ligados_mapa, temas_mapa, desc_mapa, ext_mapa, imagem_mapa, linkdireto_mapa, nome_mapa, outros_mapa, 'sim' as contemmapfile from " . $esquemaadmin . "i3geoadmin_mapas where id_mapa = $id_mapa AND mapfile != '' and mapfile is not null ", $dbh, false );
+ }
+ if ($mapfile === false) {
$dbhw = null;
$dbh = null;
header ( "HTTP/1.1 500 erro ao consultar banco de dados tabela de mapas" );
@@ -91,11 +95,32 @@ switch ($funcao) {
$arvore = new Arvore ( $locaplic );
$temas = $arvore->pegaTodosTemas ( true );
retornaJSON ( array (
- "dados" => array_merge ( $semmapfile, $commapfile ),
+ "dados" => $mapfile[0],
"perfis" => $perfis,
"temas" => $temas
) );
break;
+ case "LISTA" :
+ $mapfiles = pegaDados ( "SELECT id_mapa, nome_mapa from " . $esquemaadmin . "i3geoadmin_mapas order by ordem_mapa, lower(nome_mapa)", $dbh, false );
+ if ($mapfiles === false) {
+ $dbhw = null;
+ $dbh = null;
+ header ( "HTTP/1.1 500 erro ao consultar banco de dados tabela de mapas" );
+ exit ();
+ }
+ $perfis = pegaDados ( "SELECT id_perfil, perfil from " . $esquemaadmin . "i3geoadmin_perfis order by perfil", $dbh, false );
+ $dbhw = null;
+ $dbh = null;
+ // pega a lista de temas
+ include ("../../../admin/php/classe_arvore.php");
+ $arvore = new Arvore ( $locaplic );
+ $temas = $arvore->pegaTodosTemas ( true );
+ retornaJSON ( array (
+ "dados" => $mapfiles,
+ "perfis" => $perfis,
+ "temas" => $temas
+ ) );
+ break;
case "EXCLUIR" :
$retorna = excluir ( $id_mapa, $dbhw );
$dbhw = null;
diff --git a/admin1/catalogo/mapas/index.js b/admin1/catalogo/mapas/index.js
index ac238aa..f76b0cb 100755
--- a/admin1/catalogo/mapas/index.js
+++ b/admin1/catalogo/mapas/index.js
@@ -27,6 +27,8 @@ i3GEOadmin.mapas = {
ondeLista: "",
//conteudo html do formulario de adicao de operacao
formAdiciona: "",
+ //parametros obtidos do formulario de edicao antes de abrir o modal de confirmacao
+ parametrosSalvar: "",
init: function(onde){
i3GEOadmin.mapas.ondeLista = onde;
i3GEOadmin.mapas.lista();
@@ -69,22 +71,7 @@ Obtém a lista
{
"data": json["dados"],
"onExcluir": "i3GEOadmin.mapas.excluirDialogo",//funcao
- "onSalvar": "i3GEOadmin.mapas.salvarDialogo",//funcao
- "opcoesPublicado": function(){
- var hash = {};
- hash["sim"] = i3GEOadmin.mapas.dicionario.sim;
- hash["nao"] = i3GEOadmin.mapas.dicionario.nao;
- if(this.publicado_mapa == ""){
- this.publicado_mapa = "SIM";
- }
- hash[this.publicado_mapa + "-sel"] = "selected";
- return Mustache.to_html(
- $("#templateOpcoesPublicado").html(),
- hash
- );
- },
- "opcoesPerfil": opcoesPerfil,
- "opcoesTema": opcoesTema
+ "onEditar": "i3GEOadmin.mapas.editarDialogo"
}
)
);
@@ -139,6 +126,65 @@ Obtém a lista
i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
});
},
+ editarDialogo: function(id){
+ i3GEOadmin.core.fechaModalGeral();
+ i3GEOadmin.core.modalAguarde(true);
+ $.post(
+ "exec.php?funcao=listaunico",
+ "id_mapa=" + id
+ )
+ .done(
+ function(data, status){
+ var json = jQuery.parseJSON(data);
+ var templateLista = $("#templateFormLista").html();
+ //combo com temas
+ var opcoesTema = '' + Mustache.to_html(
+ "{{#data}}" + $("#templateTemas").html() + "{{/data}}",
+ {"data":json["temas"]}
+ );
+ //combo com perfis
+ var opcoesPerfil = '' + Mustache.to_html(
+ "{{#data}}" + $("#templateOpcoesPerfil").html() + "{{/data}}",
+ {"data":json["perfis"]}
+ );
+ //lista todas as menus
+ var html = Mustache.to_html(
+ "{{#data}}" + templateLista + "{{/data}}",
+ $.extend(
+ {},
+ i3GEOadmin.mapas.dicionario,
+ {
+ "data": json["dados"],
+ "onExcluir": "i3GEOadmin.mapas.excluirDialogo",//funcao
+ "onSalvar": "i3GEOadmin.mapas.salvarDialogo",//funcao
+ "opcoesPublicado": function(){
+ var hash = {};
+ hash["sim"] = i3GEOadmin.mapas.dicionario.sim;
+ hash["nao"] = i3GEOadmin.mapas.dicionario.nao;
+ if(this.publicado_mapa == ""){
+ this.publicado_mapa = "SIM";
+ }
+ hash[this.publicado_mapa + "-sel"] = "selected";
+ return Mustache.to_html(
+ $("#templateOpcoesPublicado").html(),
+ hash
+ );
+ },
+ "opcoesPerfil": opcoesPerfil,
+ "opcoesTema": opcoesTema
+ }
+ )
+ );
+ i3GEOadmin.core.abreModalGeral(html);
+ }
+ )
+ .fail(
+ function(data){
+ i3GEOadmin.core.modalAguarde(false);
+ i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
+ }
+ );
+ },
adicionaDialogo: function(){
i3GEOadmin.core.abreModalGeral(i3GEOadmin.mapas.formAdiciona);
},
@@ -196,17 +242,18 @@ Obtém a lista
);
},
salvarDialogo: function(id){
+ i3GEOadmin.mapas.parametrosSalvar = $("#form-edicao-" + id).serialize();
var hash = {
"mensagem": i3GEOadmin.mapas.dicionario.confirma,
"onBotao1": "i3GEOadmin.mapas.salvar('"+id+"')",
"botao1": i3GEOadmin.mapas.dicionario.sim,
- "onBotao2": "i3GEOadmin.core.fechaModalConfirma();",
+ "onBotao2": "i3GEOadmin.mapas.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();",
"botao2": i3GEOadmin.mapas.dicionario.nao
};
i3GEOadmin.core.abreModalConfirma(hash);
},
salvar: function(id){
- var parametros = $("#form-" + id + " form").serialize();
+ var parametros = i3GEOadmin.mapas.parametrosSalvar;
i3GEOadmin.core.fechaModalGeral();
i3GEOadmin.core.modalAguarde(true);
$.post(
@@ -215,6 +262,7 @@ Obtém a lista
)
.done(
function(data, status){
+ i3GEOadmin.mapas.parametrosSalvar = '';
i3GEOadmin.core.modalAguarde(false);
i3GEOadmin.core.iconeAguarde(i3GEOadmin.mapas.ondeLista);
i3GEOadmin.mapas.lista();
@@ -222,6 +270,7 @@ Obtém a lista
)
.fail(
function(data){
+ i3GEOadmin.mapas.parametrosSalvar = '';
i3GEOadmin.core.modalAguarde(false);
i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
}
diff --git a/admin1/catalogo/mapas/index.php b/admin1/catalogo/mapas/index.php
index bc54467..2fc78ba 100755
--- a/admin1/catalogo/mapas/index.php
+++ b/admin1/catalogo/mapas/index.php
@@ -56,7 +56,7 @@ include "../../head.php";