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   -<!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 65 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
66 66 exit ();
67 67 }
  68 + $dbhw = null;
  69 + $dbh = null;
68 70 retornaJSON ( $dados );
69 71 exit ();
70 72 break;
... ... @@ -76,9 +78,10 @@ switch ($funcao) {
76 78 header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
77 79 exit ();
78 80 }
  81 + $perfis = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by perfil", $dbh, false );
79 82 $dbhw = null;
80 83 $dbh = null;
81   - retornaJSON ( $dados );
  84 + retornaJSON ( array("dados"=>$dados, "perfis"=>$perfis) );
82 85 break;
83 86 case "EXCLUIR" :
84 87 $retorna = excluir ( $id_menu, $dbhw );
... ... @@ -126,6 +129,15 @@ function alterar($id_menu, $publicado_menu, $perfil_menu, $aberto, $desc_menu, $
126 129 $es = utf8_encode($es);
127 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 141 $dataCol = array(
130 142 "en" => $en,
131 143 "es" => $es,
... ...
admin1/catalogo/menus/index.js
... ... @@ -49,6 +49,11 @@ Obt&amp;eacute;m a lista de menus
49 49 var json = jQuery.parseJSON(data);
50 50 //template do form de cada operacao
51 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 57 //lista todas as menus
53 58 var html = Mustache.to_html(
54 59 "{{#data}}" + templateLista + "{{/data}}",
... ... @@ -56,7 +61,7 @@ Obt&amp;eacute;m a lista de menus
56 61 {},
57 62 i3GEOadmin.menus.dicionario,
58 63 {
59   - "data": json,
  64 + "data": json["dados"],
60 65 "onExcluir": "i3GEOadmin.menus.excluirDialogo",//funcao
61 66 "onSalvar": "i3GEOadmin.menus.salvarDialogo",//funcao
62 67 "opcoesAberto": function(){
... ... @@ -78,7 +83,8 @@ Obt&amp;eacute;m a lista de menus
78 83 $("#templateOpcoesPublicado").html(),
79 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 92 //filtro
87 93 html = Mustache.to_html(
88 94 "{{#data}}" + $("#templateFiltro").html() + "{{/data}}",
89   - {"data":json}
  95 + {"data":json["dados"]}
90 96 );
91 97 $("#filtro").html("<option value='' >Todos</option>" + html);
92 98 $("#filtro").combobox();
... ... @@ -123,7 +129,8 @@ Obt&amp;eacute;m a lista de menus
123 129 $("#templateOpcoesPublicado").html(),
124 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 255 if(obj.value != ""){
249 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 264 \ No newline at end of file
... ...
admin1/catalogo/menus/index.php
... ... @@ -88,7 +88,10 @@ include &quot;../../head.php&quot;;
88 88 <div class="form-group form-group-lg">
89 89 <label class="col-md-3 control-label" for="perfil_menu">{{{perfil}}}</label>
90 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 95 <p>{{{perfilAjuda}}}</p>
93 96 </div>
94 97 </div>
... ... @@ -118,6 +121,9 @@ include &quot;../../head.php&quot;;
118 121 </div>
119 122 </div>
120 123 </script>
  124 +<script id="templateOpcoesPerfil" type="x-tmpl-mustache">
  125 + <option value="{{{perfil}}}">{{{perfil}}}</option>
  126 +</script>
121 127 <script id="templateOpcoesPublicado" type="x-tmpl-mustache">
122 128 <option value="">---</option>
123 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 43 if(!isset($idioma) || $idioma == ""){
44 44 $idioma = "pt";
45 45 }
46   -
  46 +//remove espaco em branco do nome do perfil
  47 +$perfil = str_replace(" ","",$perfil);
47 48 $funcao = strtoupper ( $funcao );
48 49 switch ($funcao) {
49 50 case "ADICIONAR" :
... ...
admin1/catalogo/perfis/index.php
... ... @@ -56,7 +56,7 @@ include &quot;../../head.php&quot;;
56 56 </div>
57 57 </div>
58 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 60 </script>
61 61 <script id="templateLista" type="x-tmpl-mustache">
62 62 <div class="panel panel-default" id="form-{{id_perfil}}">
... ...
admin1/catalogo/tags/exec.php 0 → 100755
... ... @@ -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 @@
  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 215 \ No newline at end of file
... ...
admin1/catalogo/tags/index.php
... ... @@ -13,13 +13,81 @@ include &quot;../../head.php&quot;;
13 13 <li class="active">Tags</li>
14 14 </ol>
15 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 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 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 91 <script>
24 92 $(document).ready(function(){
25 93 //vem de admin1/index.js
... ... @@ -30,7 +98,35 @@ include &quot;../../head.php&quot;;
30 98 $(this).parent().siblings().removeClass('open');
31 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 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 131 </script>
36 132 </body>
... ...
admin1/dicionario/tags.js
1 1 //+$trad(1,i3GEOadmin.principal.dicionario)+
2   -i3GEOadmin.tags = {};
3 2 i3GEOadmin.tags.dicionario = {
4   - 'tags' : [ {
5   - pt : "Administra&ccedil;&atilde;o do i3geo - tags",
  3 + 'txtTitulo' : [ {
  4 + pt : "Tags",
6 5 en : "",
7 6 es : ""
8 7 } ],
... ... @@ -11,8 +10,8 @@ i3GEOadmin.tags.dicionario = {
11 10 en : "",
12 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 15 en : "",
17 16 es : ""
18 17 } ],
... ...