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";