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 | -<!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 | 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&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&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&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&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&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&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 "../../head.php"; |
| 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 "../../head.php"; |
| 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__ ) . "/../../../admin/php/conexao.php"); |
| 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 "../../head.php"; |
| 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}}"> | ... | ... |
| ... | ... | @@ -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 @@ |
| 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 | 215 | \ No newline at end of file | ... | ... |
admin1/catalogo/tags/index.php
| ... | ... | @@ -13,13 +13,81 @@ include "../../head.php"; |
| 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 "../../head.php"; |
| 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çã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ã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 | 15 | en : "", |
| 17 | 16 | es : "" |
| 18 | 17 | } ], | ... | ... |