Commit 91c84256df41b0e8cd4f67027a57c25dca24159c

Authored by Edmar Moretti
1 parent e5c73ec8

Adaptação do sistema de admin para bootstrap

admin/admin.db
No preview for this file type
admin/html/tags_.html
@@ -1,100 +0,0 @@ @@ -1,100 +0,0 @@
1 -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">  
2 -<html>  
3 -<head>  
4 -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">  
5 -<title>Tags</title>  
6 -<style type="text/css">  
7 -/*margin and padding on body element  
8 - can introduce errors in determining  
9 - element position and are not recommended;  
10 - we turn them off as a foundation for YUI  
11 - CSS treatments. */  
12 -body {  
13 - margin: 0;  
14 - padding: 0;  
15 -}  
16 -</style>  
17 -<script type="text/javascript" src="../js/core_.js"></script>  
18 -<script type="text/javascript" src="../dicionario/core.js"></script>  
19 -<script type="text/javascript" src="../dicionario/tags.js"></script>  
20 -<script type="text/javascript" src="../js/tags.js"></script>  
21 -<link rel="stylesheet" type="text/css" href="admin.css">  
22 -</head>  
23 -<body class=" yui-skin-sam fundoPonto" style="background-color: white; margin-top: 20px;">  
24 - <center>  
25 - <div class="mascaraPrincipal" id="divGeral">  
26 - <h1>  
27 - {{{tags}}} <img  
28 - src="../imagens/04.png" style="cursor: pointer" id=botaoAjuda />  
29 - </h1>  
30 - <div id="formulario" style="display: none">  
31 - <div id="ajuda">  
32 - <div class="hd">{{{ajuda}}}</div>  
33 - <div class="bd" style="height: 144px; overflow: auto">  
34 - {{{txtAjuda}}}  
35 -  
36 - </div>  
37 - <div class="ft"></div>  
38 - </div>  
39 - <input onclick="adicionaLinha()" type=button id=adiciona  
40 - value="{{{adicionaTag}}}" /> <br>  
41 - {{{tagsExistentes}}}  
42 - <div id="tabela" style="left: -5px;"></div>  
43 - <div id=logajax style="display: block"></div>  
44 - </div>  
45 - </div>  
46 - </center>  
47 - <script>  
48 - /*  
49 - Title: Tags  
50 -  
51 - HTML da interface de administra&ccedil;&atilde;o do cadastro de tags  
52 -  
53 - Veja tamb&eacute;m:  
54 -  
55 - <core.js>  
56 -  
57 - <tags.js>  
58 -  
59 - Licenca:  
60 -  
61 - GPL2  
62 -  
63 - i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet  
64 -  
65 - Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil  
66 - Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br  
67 -  
68 - Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo  
69 - e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral  
70 - GNU conforme publicada pela Free Software Foundation;  
71 -  
72 - Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,  
73 - por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita  
74 - de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.  
75 - Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.  
76 - Voc&ecirc; deve ter recebido uma cópia da Licen&ccedil;a P&uacute;blica Geral do  
77 - GNU junto com este programa; se n&atilde;o, escreva para a  
78 - Free Software Foundation, Inc., no endere&ccedil;o  
79 - 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.  
80 -  
81 - Arquivo:  
82 -  
83 - i3geo/admin/html/tags.html  
84 - */  
85 -  
86 - //necessário para a ferramenta login e outras  
87 - i3GEO.configura = {  
88 - locaplic : "../.."  
89 - };  
90 - //  
91 - core_parseMustacheBody(i3GEOadmin.tags.dicionario);  
92 - cabecalhoGeral("cabecalhoPrincipal", "");  
93 - temp = function() {  
94 - document.getElementById("formulario").style.display = "block";  
95 - initMenu();  
96 - };  
97 - i3GEO.login.verificaOperacao("admin/html/tags",  
98 - i3GEO.configura.locaplic, temp, "sessao",i3GEO.login.dialogo.abreLogin);  
99 - </script>  
100 -</body>  
admin1/catalogo/menus/exec.php
@@ -65,6 +65,8 @@ switch ($funcao) { @@ -65,6 +65,8 @@ switch ($funcao) {
65 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 65 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
66 exit (); 66 exit ();
67 } 67 }
  68 + $dbhw = null;
  69 + $dbh = null;
68 retornaJSON ( $dados ); 70 retornaJSON ( $dados );
69 exit (); 71 exit ();
70 break; 72 break;
@@ -76,9 +78,10 @@ switch ($funcao) { @@ -76,9 +78,10 @@ switch ($funcao) {
76 header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); 78 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
77 exit (); 79 exit ();
78 } 80 }
  81 + $perfis = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by perfil", $dbh, false );
79 $dbhw = null; 82 $dbhw = null;
80 $dbh = null; 83 $dbh = null;
81 - retornaJSON ( $dados ); 84 + retornaJSON ( array("dados"=>$dados, "perfis"=>$perfis) );
82 break; 85 break;
83 case "EXCLUIR" : 86 case "EXCLUIR" :
84 $retorna = excluir ( $id_menu, $dbhw ); 87 $retorna = excluir ( $id_menu, $dbhw );
@@ -126,6 +129,15 @@ function alterar($id_menu, $publicado_menu, $perfil_menu, $aberto, $desc_menu, $ @@ -126,6 +129,15 @@ function alterar($id_menu, $publicado_menu, $perfil_menu, $aberto, $desc_menu, $
126 $es = utf8_encode($es); 129 $es = utf8_encode($es);
127 $perfil_menu = utf8_encode($perfil_menu); 130 $perfil_menu = utf8_encode($perfil_menu);
128 } 131 }
  132 + $perfil_menu = str_replace(","," ",trim($perfil_menu));
  133 + //verifica a consistencia da lista de perfis
  134 + $perfis = pegaDados ( "SELECT perfil from ".$esquemaadmin."i3geoadmin_perfis order by perfil", $dbw, false );
  135 + $p = array();
  136 + foreach ($perfis as $perfil){
  137 + $p[] = $perfil["perfil"];
  138 + }
  139 + $perfil_menu = implode(" ",array_intersect(explode(" ",$perfil_menu),$p));
  140 +
129 $dataCol = array( 141 $dataCol = array(
130 "en" => $en, 142 "en" => $en,
131 "es" => $es, 143 "es" => $es,
admin1/catalogo/menus/index.js
@@ -49,6 +49,11 @@ Obt&amp;eacute;m a lista de menus @@ -49,6 +49,11 @@ Obt&amp;eacute;m a lista de menus
49 var json = jQuery.parseJSON(data); 49 var json = jQuery.parseJSON(data);
50 //template do form de cada operacao 50 //template do form de cada operacao
51 var templateLista = $("#templateLista").html(); 51 var templateLista = $("#templateLista").html();
  52 + //combo com perfis
  53 + var opcoesPerfil = '<option value="">---</option>' + Mustache.to_html(
  54 + "{{#data}}" + $("#templateOpcoesPerfil").html() + "{{/data}}",
  55 + {"data":json["perfis"]}
  56 + );
52 //lista todas as menus 57 //lista todas as menus
53 var html = Mustache.to_html( 58 var html = Mustache.to_html(
54 "{{#data}}" + templateLista + "{{/data}}", 59 "{{#data}}" + templateLista + "{{/data}}",
@@ -56,7 +61,7 @@ Obt&amp;eacute;m a lista de menus @@ -56,7 +61,7 @@ Obt&amp;eacute;m a lista de menus
56 {}, 61 {},
57 i3GEOadmin.menus.dicionario, 62 i3GEOadmin.menus.dicionario,
58 { 63 {
59 - "data": json, 64 + "data": json["dados"],
60 "onExcluir": "i3GEOadmin.menus.excluirDialogo",//funcao 65 "onExcluir": "i3GEOadmin.menus.excluirDialogo",//funcao
61 "onSalvar": "i3GEOadmin.menus.salvarDialogo",//funcao 66 "onSalvar": "i3GEOadmin.menus.salvarDialogo",//funcao
62 "opcoesAberto": function(){ 67 "opcoesAberto": function(){
@@ -78,7 +83,8 @@ Obt&amp;eacute;m a lista de menus @@ -78,7 +83,8 @@ Obt&amp;eacute;m a lista de menus
78 $("#templateOpcoesPublicado").html(), 83 $("#templateOpcoesPublicado").html(),
79 hash 84 hash
80 ); 85 );
81 - } 86 + },
  87 + "opcoesPerfil": opcoesPerfil
82 } 88 }
83 ) 89 )
84 ); 90 );
@@ -86,7 +92,7 @@ Obt&amp;eacute;m a lista de menus @@ -86,7 +92,7 @@ Obt&amp;eacute;m a lista de menus
86 //filtro 92 //filtro
87 html = Mustache.to_html( 93 html = Mustache.to_html(
88 "{{#data}}" + $("#templateFiltro").html() + "{{/data}}", 94 "{{#data}}" + $("#templateFiltro").html() + "{{/data}}",
89 - {"data":json} 95 + {"data":json["dados"]}
90 ); 96 );
91 $("#filtro").html("<option value='' >Todos</option>" + html); 97 $("#filtro").html("<option value='' >Todos</option>" + html);
92 $("#filtro").combobox(); 98 $("#filtro").combobox();
@@ -123,7 +129,8 @@ Obt&amp;eacute;m a lista de menus @@ -123,7 +129,8 @@ Obt&amp;eacute;m a lista de menus
123 $("#templateOpcoesPublicado").html(), 129 $("#templateOpcoesPublicado").html(),
124 hash 130 hash
125 ); 131 );
126 - } 132 + },
  133 + "opcoesPerfil": opcoesPerfil
127 } 134 }
128 ) 135 )
129 ); 136 );
@@ -248,5 +255,9 @@ Obt&amp;eacute;m a lista de menus @@ -248,5 +255,9 @@ Obt&amp;eacute;m a lista de menus
248 if(obj.value != ""){ 255 if(obj.value != ""){
249 $("#"+obj.value).show(); 256 $("#"+obj.value).show();
250 } 257 }
  258 + },
  259 + addPerfil: function(id,valor){
  260 + var i = $("#"+id);
  261 + $(i.val(i.val() + ' ' + valor));
251 } 262 }
252 }; 263 };
253 \ No newline at end of file 264 \ No newline at end of file
admin1/catalogo/menus/index.php
@@ -88,7 +88,10 @@ include &quot;../../head.php&quot;; @@ -88,7 +88,10 @@ include &quot;../../head.php&quot;;
88 <div class="form-group form-group-lg"> 88 <div class="form-group form-group-lg">
89 <label class="col-md-3 control-label" for="perfil_menu">{{{perfil}}}</label> 89 <label class="col-md-3 control-label" for="perfil_menu">{{{perfil}}}</label>
90 <div class="col-md-9"> 90 <div class="col-md-9">
91 - <input type="text" value="{{{perfil_menu}}}" class="form-control" name="perfil_menu"> 91 + <input id="perfil-{{id_menu}}" type="text" value="{{{perfil_menu}}}" class="form-control" name="perfil_menu">
  92 + <select class="form-control" onchange="i3GEOadmin.menus.addPerfil('perfil-{{id_menu}}',this.value)">
  93 + {{{opcoesPerfil}}}
  94 + </select>
92 <p>{{{perfilAjuda}}}</p> 95 <p>{{{perfilAjuda}}}</p>
93 </div> 96 </div>
94 </div> 97 </div>
@@ -118,6 +121,9 @@ include &quot;../../head.php&quot;; @@ -118,6 +121,9 @@ include &quot;../../head.php&quot;;
118 </div> 121 </div>
119 </div> 122 </div>
120 </script> 123 </script>
  124 +<script id="templateOpcoesPerfil" type="x-tmpl-mustache">
  125 + <option value="{{{perfil}}}">{{{perfil}}}</option>
  126 +</script>
121 <script id="templateOpcoesPublicado" type="x-tmpl-mustache"> 127 <script id="templateOpcoesPublicado" type="x-tmpl-mustache">
122 <option value="">---</option> 128 <option value="">---</option>
123 <option {{SIM-sel}} value="SIM">{{{sim}}}</option> 129 <option {{SIM-sel}} value="SIM">{{{sim}}}</option>
admin1/catalogo/perfis/exec.php
@@ -43,7 +43,8 @@ include (dirname ( __FILE__ ) . &quot;/../../../admin/php/conexao.php&quot;); @@ -43,7 +43,8 @@ include (dirname ( __FILE__ ) . &quot;/../../../admin/php/conexao.php&quot;);
43 if(!isset($idioma) || $idioma == ""){ 43 if(!isset($idioma) || $idioma == ""){
44 $idioma = "pt"; 44 $idioma = "pt";
45 } 45 }
46 - 46 +//remove espaco em branco do nome do perfil
  47 +$perfil = str_replace(" ","",$perfil);
47 $funcao = strtoupper ( $funcao ); 48 $funcao = strtoupper ( $funcao );
48 switch ($funcao) { 49 switch ($funcao) {
49 case "ADICIONAR" : 50 case "ADICIONAR" :
admin1/catalogo/perfis/index.php
@@ -56,7 +56,7 @@ include &quot;../../head.php&quot;; @@ -56,7 +56,7 @@ include &quot;../../head.php&quot;;
56 </div> 56 </div>
57 </div> 57 </div>
58 <script id="templateFiltro" type="x-tmpl-mustache"> 58 <script id="templateFiltro" type="x-tmpl-mustache">
59 -<option value="form-{{id_perfil}}">{{{nome_menu}}}</option> 59 +<option value="form-{{id_perfil}}">{{{perfil}}}</option>
60 </script> 60 </script>
61 <script id="templateLista" type="x-tmpl-mustache"> 61 <script id="templateLista" type="x-tmpl-mustache">
62 <div class="panel panel-default" id="form-{{id_perfil}}"> 62 <div class="panel panel-default" id="form-{{id_perfil}}">
admin1/catalogo/tags/exec.php 0 → 100755
@@ -0,0 +1,134 @@ @@ -0,0 +1,134 @@
  1 +<?php
  2 +/*
  3 + * Licenca:
  4 + *
  5 + * GPL2
  6 + *
  7 + * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  8 + *
  9 + * Direitos Autorais Reservados (c) 2006 Edmar Moretti
  10 + * Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  11 + *
  12 + * Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  13 + * e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  14 + * GNU conforme publicada pela Free Software Foundation;
  15 + *
  16 + * Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  17 + * por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  18 + * de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  19 + * Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  20 + * Voc&ecirc; deve ter recebido uma copia da Licen&ccedil;a P&uacute;blica Geral do
  21 + * GNU junto com este programa; se n&atilde;o, escreva para a
  22 + * Free Software Foundation, Inc., no endere&ccedil;o
  23 + * 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  24 + */
  25 +error_reporting ( 0 );
  26 +//
  27 +// pega as variaveis passadas com get ou post
  28 +//
  29 +
  30 +include_once (dirname ( __FILE__ ) . "/../../../admin/php/login.php");
  31 +$funcoesEdicao = array (
  32 + "ADICIONAR",
  33 + "ALTERAR",
  34 + "EXCLUIR"
  35 +);
  36 +if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) {
  37 + if (verificaOperacaoSessao ( "admin/html/arvore" ) == false) {
  38 + header ( "HTTP/1.1 403 Vc nao pode realizar essa operacao" );
  39 + exit ();
  40 + }
  41 +}
  42 +include (dirname ( __FILE__ ) . "/../../../admin/php/conexao.php");
  43 +
  44 +//remove espaco em branco do nome do tag
  45 +$nome = str_replace(" ","",$nome);
  46 +$funcao = strtoupper ( $funcao );
  47 +switch ($funcao) {
  48 + case "ADICIONAR" :
  49 + $novo = adicionar( $nome, $dbhw );
  50 + if ($novo == false) {
  51 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  52 + exit ();
  53 + }
  54 + exit ();
  55 + break;
  56 + case "ALTERAR" :
  57 + $novo = alterar ( $id_tag, $nome, $dbhw );
  58 + if ($novo == false) {
  59 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  60 + exit ();
  61 + }
  62 + $dados = pegaDados ( "SELECT id_tag, nome from ".$esquemaadmin."i3geoadmin_tags order by nome", $dbh, false );
  63 + if ($dados == false) {
  64 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  65 + exit ();
  66 + }
  67 + retornaJSON ( $dados );
  68 + exit ();
  69 + break;
  70 + case "LISTA" :
  71 + $dados = pegaDados ( "SELECT id_tag, nome from ".$esquemaadmin."i3geoadmin_tags order by nome", $dbh, false );
  72 + if ($dados == false) {
  73 + $dbhw = null;
  74 + $dbh = null;
  75 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  76 + exit ();
  77 + }
  78 + $dbhw = null;
  79 + $dbh = null;
  80 + retornaJSON ( $dados );
  81 + break;
  82 + case "EXCLUIR" :
  83 + $retorna = excluir ( $id_tag, $dbhw );
  84 + $dbhw = null;
  85 + $dbh = null;
  86 + if ($retorna == false) {
  87 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  88 + exit ();
  89 + }
  90 + retornaJSON ( $id_tag );
  91 + exit ();
  92 + break;
  93 +}
  94 +cpjson ( $retorno );
  95 +
  96 +// $papeis deve ser um array
  97 +function adicionar($nome, $dbhw) {
  98 + global $esquemaadmin;
  99 + try {
  100 + $dataCol = array(
  101 + "nome" => ''
  102 + );
  103 + $id_tag = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_tags",$dataCol,"nome","id_tag");
  104 + $retorna = alterar ( $id_tag, $nome,$dbhw );
  105 +
  106 + return $retorna;
  107 + } catch ( PDOException $e ) {
  108 + return false;
  109 + }
  110 +}
  111 +// $papeis deve ser um array
  112 +function alterar($id_tag, $nome,$dbhw) {
  113 + global $esquemaadmin;
  114 + if($convUTF){
  115 + $nome = utf8_encode($nome);
  116 + }
  117 + $dataCol = array(
  118 + "nome" => $nome
  119 + );
  120 + $resultado = i3GeoAdminUpdate ( $dbhw, "i3geoadmin_tags", $dataCol, "WHERE id_tag = $id_tag" );
  121 + if ($resultado == false) {
  122 + return false;
  123 + }
  124 + return $id_tag;
  125 +}
  126 +function excluir($id_tag, $dbhw) {
  127 + global $esquemaadmin;
  128 + $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_tags", "id_tag", $id_tag, $dbhw, false );
  129 + if ($resultado == false) {
  130 + return false;
  131 + }
  132 + return $resultado;
  133 +}
  134 +?>
admin1/catalogo/tags/index.js 0 → 100755
@@ -0,0 +1,214 @@ @@ -0,0 +1,214 @@
  1 +/*
  2 +Licenca:
  3 +
  4 +GPL2
  5 +
  6 +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  7 +
  8 +Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil
  9 +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  10 +
  11 +Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  12 +e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  13 +GNU conforme publicada pela Free Software Foundation;
  14 +
  15 +Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  16 +por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  17 +de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  18 +Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  19 +Voc&ecirc; deve ter recebido uma c&oacute;pia da Licen&ccedil;a P&uacute;blica Geral do
  20 +GNU junto com este programa; se n&atilde;o, escreva para a
  21 +Free Software Foundation, Inc., no endere&ccedil;o
  22 +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  23 +
  24 + */
  25 +i3GEOadmin.tags = {
  26 + //variavel global indicando o elemento que recebera a lista de tags
  27 + ondeLista: "",
  28 + //conteudo html do formulario de adicao de operacao
  29 + formAdiciona: "",
  30 + init: function(onde){
  31 + i3GEOadmin.tags.ondeLista = onde;
  32 + i3GEOadmin.tags.lista();
  33 + },
  34 + /*
  35 +Function: lista
  36 +
  37 +Obt&eacute;m a lista de tags
  38 + */
  39 + lista: function(){
  40 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.tags.ondeLista);
  41 + $.post(
  42 + "exec.php?funcao=lista"
  43 + )
  44 + .done(
  45 + function(data, status){
  46 + //valor do filtro atual
  47 + var filtro = i3GEOadmin.tags.valorFiltro();
  48 + //objeto json com os dados viondos do banco
  49 + var json = jQuery.parseJSON(data);
  50 + //template do form de cada operacao
  51 + var templateLista = $("#templateLista").html();
  52 + //lista todas as tags
  53 + var html = Mustache.to_html(
  54 + "{{#data}}" + templateLista + "{{/data}}",
  55 + $.extend(
  56 + {},
  57 + i3GEOadmin.tags.dicionario,
  58 + {
  59 + "data": json,
  60 + "onExcluir": "i3GEOadmin.tags.excluirDialogo",//funcao
  61 + "onSalvar": "i3GEOadmin.tags.salvarDialogo"//funcao
  62 + }
  63 + )
  64 + );
  65 + i3GEOadmin.tags.ondeLista.html(html);
  66 + //filtro
  67 + html = Mustache.to_html(
  68 + "{{#data}}" + $("#templateFiltro").html() + "{{/data}}",
  69 + {"data":json}
  70 + );
  71 + $("#filtro").html("<option value='' >Todos</option>" + html);
  72 + $("#filtro").combobox();
  73 + if(filtro != ""){
  74 + i3GEOadmin.tags.defineFiltro(filtro);
  75 + i3GEOadmin.tags.filtra(i3GEOadmin.tags.pegaFiltro());
  76 + }
  77 + //monta um template para o modal de inclusao de novo usuario
  78 + if(i3GEOadmin.tags.formAdiciona == ""){
  79 + html = Mustache.to_html(
  80 + $("#templateLista").html(),
  81 + $.extend(
  82 + {},
  83 + i3GEOadmin.tags.dicionario,
  84 + {
  85 + "id_tag": "modal",
  86 + "excluir": i3GEOadmin.tags.dicionario.cancelar,
  87 + "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao
  88 + "onSalvar": "i3GEOadmin.tags.adiciona"//funcao
  89 + }
  90 + )
  91 + );
  92 + i3GEOadmin.tags.formAdiciona = html;
  93 + }
  94 + $.material.init();
  95 + }
  96 + )
  97 + .fail(function(data){
  98 + i3GEOadmin.tags.ondeLista.html("");
  99 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  100 + });
  101 + },
  102 + adicionaDialogo: function(){
  103 + i3GEOadmin.core.abreModalGeral(i3GEOadmin.tags.formAdiciona);
  104 + },
  105 +// os parametros sao obtidos do formulario aberto do modal
  106 + adiciona: function(){
  107 + var parametros = $("#form-modal form").serialize();
  108 + i3GEOadmin.core.fechaModalGeral();
  109 + i3GEOadmin.core.modalAguarde(true);
  110 + $.post(
  111 + "exec.php?funcao=adicionar",
  112 + parametros
  113 + )
  114 + .done(
  115 + function(data, status){
  116 + i3GEOadmin.core.modalAguarde(false);
  117 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.tags.ondeLista);
  118 + i3GEOadmin.tags.lista();
  119 + }
  120 + )
  121 + .fail(
  122 + function(data){
  123 + i3GEOadmin.core.modalAguarde(false);
  124 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  125 + }
  126 + );
  127 + },
  128 + excluirDialogo: function(id){
  129 + var hash = {
  130 + "mensagem": i3GEOadmin.tags.dicionario.confirma,
  131 + "onBotao1": "i3GEOadmin.tags.excluir('"+id+"')",
  132 + "botao1": i3GEOadmin.tags.dicionario.sim,
  133 + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();",
  134 + "botao2": i3GEOadmin.tags.dicionario.nao
  135 + };
  136 + i3GEOadmin.core.abreModalConfirma(hash);
  137 + },
  138 + excluir: function(id){
  139 + i3GEOadmin.core.modalAguarde(true);
  140 + $.post(
  141 + "exec.php?funcao=excluir",
  142 + "id_tag="+id
  143 + )
  144 + .done(
  145 + function(data, status){
  146 + i3GEOadmin.core.modalAguarde(false);
  147 + var json = jQuery.parseJSON(data)*1;
  148 + $("#form-" + json).remove();
  149 + }
  150 + )
  151 + .fail(
  152 + function(data){
  153 + i3GEOadmin.core.modalAguarde(false);
  154 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  155 + }
  156 + );
  157 + },
  158 + salvarDialogo: function(id){
  159 + var hash = {
  160 + "mensagem": i3GEOadmin.tags.dicionario.confirma,
  161 + "onBotao1": "i3GEOadmin.tags.salvar('"+id+"')",
  162 + "botao1": i3GEOadmin.tags.dicionario.sim,
  163 + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();",
  164 + "botao2": i3GEOadmin.tags.dicionario.nao
  165 + };
  166 + i3GEOadmin.core.abreModalConfirma(hash);
  167 + },
  168 + salvar: function(id){
  169 + var parametros = $("#form-" + id + " form").serialize();
  170 + i3GEOadmin.core.fechaModalGeral();
  171 + i3GEOadmin.core.modalAguarde(true);
  172 + $.post(
  173 + "exec.php?funcao=alterar",
  174 + "id_tag="+ id+"&"+parametros
  175 + )
  176 + .done(
  177 + function(data, status){
  178 + i3GEOadmin.core.modalAguarde(false);
  179 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.tags.ondeLista);
  180 + i3GEOadmin.tags.lista();
  181 + }
  182 + )
  183 + .fail(
  184 + function(data){
  185 + i3GEOadmin.core.modalAguarde(false);
  186 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  187 + }
  188 + );
  189 + },
  190 + pegaFiltro: function(){
  191 + return $i("filtro");
  192 + },
  193 + valorFiltro: function(){
  194 + return i3GEOadmin.tags.pegaFiltro().value;
  195 + },
  196 + defineFiltro: function(valor){
  197 + i3GEOadmin.tags.pegaFiltro().value = valor;
  198 + },
  199 + filtra: function(obj){
  200 + $("#corpo .panel").each(
  201 + function(i,el){
  202 + if(obj.value == ""){
  203 + $(el).show();
  204 + }
  205 + else {
  206 + $(el).hide();
  207 + }
  208 + }
  209 + );
  210 + if(obj.value != ""){
  211 + $("#"+obj.value).show();
  212 + }
  213 + }
  214 +};
0 \ No newline at end of file 215 \ No newline at end of file
admin1/catalogo/tags/index.php
@@ -13,13 +13,81 @@ include &quot;../../head.php&quot;; @@ -13,13 +13,81 @@ include &quot;../../head.php&quot;;
13 <li class="active">Tags</li> 13 <li class="active">Tags</li>
14 </ol> 14 </ol>
15 </div> 15 </div>
16 -  
17 -</div>  
18 -<div class="container-fluid">  
19 - <div class="row">  
20 - <iframe src="../../../admin/html/tags_.html" style="width:100%; height:5000px;border:none; scrolling:no; frameborder:0; marginheight:0; marginwidth:0;" ></iframe>  
21 </div> 16 </div>
  17 +<div class="container">
  18 + <div class="row center-block">
  19 + <div class="col-md-12">
  20 + <div class="well hidden" id="titulo">
  21 + <!--
  22 + <button data-toggle="modal" data-target="#ajudaPrincipal"
  23 + class="btn btn-primary btn-fab btn-fab-mini pull-right">
  24 + <i class="material-icons">help</i>
  25 + </button>
  26 + -->
  27 + <h3>{{{txtTitulo}}}</h3>
  28 + <h4>{{{txtDesc}}}</h4>
  29 + <!-- aqui entra o filtro -->
  30 + <div class="form-group">
  31 + <label class="control-label">{{{filtro}}}</label> <select
  32 + onchange="i3GEOadmin.tags.filtra(this)" id="filtro" class="form-control input-lg">
  33 + </select>
  34 + </div>
  35 + <div class="row pull-right">
  36 + <a onclick="i3GEOadmin.tags.adicionaDialogo();" href="javascript:void(0)"
  37 + class="btn btn-primary" role="button">{{{adicionar}}}</a>
  38 + </div>
  39 + <div class="clearfix"></div>
  40 + <!--
  41 + <div id="ajudaPrincipal" class="modal fade" tabindex="-1">
  42 + <div class="modal-dialog">
  43 + <div class="modal-content">
  44 + <div class="modal-body">
  45 + <p>{{{txtAjuda}}}</p>
  46 + </div>
  47 + </div>
  48 + </div>
  49 + </div>
  50 + -->
  51 + </div>
  52 + <div class="well hidden">
  53 + <div id="corpo"></div>
  54 + </div>
  55 + </div>
  56 + </div>
22 </div> 57 </div>
  58 +<script id="templateFiltro" type="x-tmpl-mustache">
  59 +<option value="form-{{id_tag}}">{{{nome}}}</option>
  60 +</script>
  61 +<script id="templateLista" type="x-tmpl-mustache">
  62 + <div class="panel panel-default" id="form-{{id_tag}}">
  63 + <div class="panel-body">
  64 + <div class="row">
  65 + <div class="col-md-7">
  66 + <form style="" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form" role="form"
  67 + method="post" action="">
  68 + <div class="form-group form-group-lg">
  69 + <label class="col-md-2 control-label" for="nome">{{{txtTag}}}</label>
  70 + <div class="col-md-10">
  71 + <input type="text" value="{{{nome}}}" class="form-control" name="nome" required>
  72 + </div>
  73 + </div>
  74 + </form>
  75 + </div>
  76 + <div class="col-md-5">
  77 + <div class="pull-right">
  78 + <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_tag}}')" class="btn btn-danger"
  79 + role="button">{{excluir}}</a>
  80 + <a href="javascript:void(0)"
  81 + onclick="{{onSalvar}}('{{id_tag}}')" class="btn btn-primary" role="button">{{salvar}}</a>
  82 + </div>
  83 + </div>
  84 + </div>
  85 + </div>
  86 + </div>
  87 +</script>
  88 +
  89 +<script type="text/javascript" src="index.js"></script>
  90 +<script type="text/javascript" src="../../dicionario/tags.js"></script>
23 <script> 91 <script>
24 $(document).ready(function(){ 92 $(document).ready(function(){
25 //vem de admin1/index.js 93 //vem de admin1/index.js
@@ -30,7 +98,35 @@ include &quot;../../head.php&quot;; @@ -30,7 +98,35 @@ include &quot;../../head.php&quot;;
30 $(this).parent().siblings().removeClass('open'); 98 $(this).parent().siblings().removeClass('open');
31 $(this).parent().toggleClass('open'); 99 $(this).parent().toggleClass('open');
32 }); 100 });
  101 + //traducao
  102 + var t = $("#titulo");
  103 + //complementa dicionario
  104 + i3GEOadmin.tags.dicionario.adicionar = i3GEOadmin.core.dicionario.adicionar;
  105 + i3GEOadmin.tags.dicionario.filtro = i3GEOadmin.core.dicionario.filtro;
  106 + i3GEOadmin.tags.dicionario.excluir = i3GEOadmin.core.dicionario.excluir;
  107 + i3GEOadmin.tags.dicionario.salvar = i3GEOadmin.core.dicionario.salva;
  108 + i3GEOadmin.tags.dicionario.cancelar = i3GEOadmin.core.dicionario.cancelar;
  109 + i3GEOadmin.tags.dicionario.confirma = i3GEOadmin.core.dicionario.confirma;
  110 + i3GEOadmin.tags.dicionario.txtTag = i3GEOadmin.core.dicionario.txtTag;
  111 + i3GEOadmin.tags.dicionario.sim = i3GEOadmin.core.dicionario.sim;
  112 + i3GEOadmin.tags.dicionario.nao = i3GEOadmin.core.dicionario.nao;
  113 +
  114 + i3GEOadmin.core.dicionario = null;
  115 +
  116 + i3GEOadmin.tags.dicionario = i3GEO.idioma.objetoIdioma(i3GEOadmin.tags.dicionario);
  117 +
  118 + t.html(
  119 + Mustache.to_html(
  120 + t.html(),
  121 + i3GEOadmin.tags.dicionario
  122 + )
  123 + );
33 $.material.init(); 124 $.material.init();
  125 + var inicia = function() {
  126 + $(".hidden").removeClass('hidden');
  127 + i3GEOadmin.tags.init($("#corpo"));
  128 + };
  129 + i3GEO.login.verificaOperacao("admin/html/tags",i3GEO.configura.locaplic, inicia, "sessao");
34 }); 130 });
35 </script> 131 </script>
36 </body> 132 </body>
admin1/dicionario/tags.js
1 //+$trad(1,i3GEOadmin.principal.dicionario)+ 1 //+$trad(1,i3GEOadmin.principal.dicionario)+
2 -i3GEOadmin.tags = {};  
3 i3GEOadmin.tags.dicionario = { 2 i3GEOadmin.tags.dicionario = {
4 - 'tags' : [ {  
5 - pt : "Administra&ccedil;&atilde;o do i3geo - tags", 3 + 'txtTitulo' : [ {
  4 + pt : "Tags",
6 en : "", 5 en : "",
7 es : "" 6 es : ""
8 } ], 7 } ],
@@ -11,8 +10,8 @@ i3GEOadmin.tags.dicionario = { @@ -11,8 +10,8 @@ i3GEOadmin.tags.dicionario = {
11 en : "", 10 en : "",
12 es : "" 11 es : ""
13 } ], 12 } ],
14 - 'txtAjuda' : [ {  
15 - pt : "<p>Tags s&atilde;o como palavras-chave que podem ser adicionadas aos temas para a realiza&ccedil;&atilde;o de buscas.", 13 + 'txtDesc' : [ {
  14 + pt : "Tags s&atilde;o como palavras-chave que podem ser adicionadas aos temas para a realiza&ccedil;&atilde;o de buscas.",
16 en : "", 15 en : "",
17 es : "" 16 es : ""
18 } ], 17 } ],