Commit 91c84256df41b0e8cd4f67027a57c25dca24159c
1 parent
e5c73ec8
Exists in
master
and in
7 other branches
Adaptação do sistema de admin para bootstrap
Showing
11 changed files
with
491 additions
and
118 deletions
Show diff stats
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ção do cadastro de tags | ||
52 | - | ||
53 | - Veja també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ério do Meio Ambiente Brasil | ||
66 | - Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br | ||
67 | - | ||
68 | - Este programa é software livre; você pode redistribuí-lo | ||
69 | - e/ou modificá-lo sob os termos da Licença Pública Geral | ||
70 | - GNU conforme publicada pela Free Software Foundation; | ||
71 | - | ||
72 | - Este programa é distribuído na expectativa de que seja útil, | ||
73 | - porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | ||
74 | - de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | ||
75 | - Consulte a Licença Pública Geral do GNU para mais detalhes. | ||
76 | - Você deve ter recebido uma cópia da Licença Pública Geral do | ||
77 | - GNU junto com este programa; se não, escreva para a | ||
78 | - Free Software Foundation, Inc., no endereç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&eacute;m a lista de menus | @@ -49,6 +49,11 @@ Obt&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&eacute;m a lista de menus | @@ -56,7 +61,7 @@ Obt&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&eacute;m a lista de menus | @@ -78,7 +83,8 @@ Obt&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&eacute;m a lista de menus | @@ -86,7 +92,7 @@ Obt&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&eacute;m a lista de menus | @@ -123,7 +129,8 @@ Obt&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&eacute;m a lista de menus | @@ -248,5 +255,9 @@ Obt&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 "../../head.php"; | @@ -88,7 +88,10 @@ include "../../head.php"; | ||
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 "../../head.php"; | @@ -118,6 +121,9 @@ include "../../head.php"; | ||
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__ ) . "/../../../admin/php/conexao.php"); | @@ -43,7 +43,8 @@ include (dirname ( __FILE__ ) . "/../../../admin/php/conexao.php"); | ||
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 "../../head.php"; | @@ -56,7 +56,7 @@ include "../../head.php"; | ||
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}}"> |
@@ -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 é software livre; você pode redistribuí-lo | ||
13 | + * e/ou modificá-lo sob os termos da Licença Pública Geral | ||
14 | + * GNU conforme publicada pela Free Software Foundation; | ||
15 | + * | ||
16 | + * Este programa é distribuído na expectativa de que seja útil, | ||
17 | + * porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | ||
18 | + * de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | ||
19 | + * Consulte a Licença Pública Geral do GNU para mais detalhes. | ||
20 | + * Você deve ter recebido uma copia da Licença Pública Geral do | ||
21 | + * GNU junto com este programa; se não, escreva para a | ||
22 | + * Free Software Foundation, Inc., no endereç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 | +?> |
@@ -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ério do Meio Ambiente Brasil | ||
9 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | ||
10 | + | ||
11 | +Este programa é software livre; você pode redistribuí-lo | ||
12 | +e/ou modificá-lo sob os termos da Licença Pública Geral | ||
13 | +GNU conforme publicada pela Free Software Foundation; | ||
14 | + | ||
15 | +Este programa é distribuído na expectativa de que seja útil, | ||
16 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | ||
17 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | ||
18 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | ||
19 | +Você deve ter recebido uma cópia da Licença Pública Geral do | ||
20 | +GNU junto com este programa; se não, escreva para a | ||
21 | +Free Software Foundation, Inc., no endereç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é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 "../../head.php"; | @@ -13,13 +13,81 @@ include "../../head.php"; | ||
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 "../../head.php"; | @@ -30,7 +98,35 @@ include "../../head.php"; | ||
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çã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ão como palavras-chave que podem ser adicionadas aos temas para a realização de buscas.", | 13 | + 'txtDesc' : [ { |
14 | + pt : "Tags são como palavras-chave que podem ser adicionadas aos temas para a realização de buscas.", | ||
16 | en : "", | 15 | en : "", |
17 | es : "" | 16 | es : "" |
18 | } ], | 17 | } ], |