Commit 0e94bce8a90b9ab61abfb14cb19454289880b12f
1 parent
896df65b
Exists in
master
and in
7 other branches
Adaptação do editor de menus para bootstrap
Showing
10 changed files
with
591 additions
and
16 deletions
Show diff stats
admin1/catalogo/menus/grupos/index.js
| ... | ... | @@ -406,7 +406,10 @@ i3GEOadmin.grupos = { |
| 406 | 406 | }, |
| 407 | 407 | editarSubGrupos: function(id,titulo){ |
| 408 | 408 | //muda a url para que o usuario possa voltar pelo botao do navegador |
| 409 | - var u = window.location.origin + window.location.pathname + "?nome_menu=" + i3GEOadmin.grupos.nome_menu + "&id_menu=" + i3GEOadmin.grupos.id_menu + "&id_filtro=" + id; | |
| 409 | + var u = window.location.origin | |
| 410 | + + window.location.pathname | |
| 411 | + + "?id_filtro=" + id + "&id_menu=" + i3GEOadmin.grupos.id_menu + "&nome_menu=" + i3GEOadmin.grupos.nome_menu | |
| 412 | + + "&nome_grupo=" + titulo + "&id_n1=" + id; | |
| 410 | 413 | window.history.replaceState(null,null,u); |
| 411 | 414 | //abre a pagina de edicao |
| 412 | 415 | window.location.href = "subgrupos/index.php?id_n1=" + id + "&nome_grupo=" + titulo + "&id_menu=" + i3GEOadmin.grupos.id_menu + "&nome_menu=" + i3GEOadmin.grupos.nome_menu; | ... | ... |
admin1/catalogo/menus/grupos/index.php
| ... | ... | @@ -26,9 +26,9 @@ $nome_menu = filter_var ( $_GET ["nome_menu"], FILTER_SANITIZE_STRING ); |
| 26 | 26 | class="btn btn-primary btn-fab btn-fab-mini pull-right"> |
| 27 | 27 | <i class="material-icons">help</i> |
| 28 | 28 | </button> |
| 29 | - <h3>{{{txtTitulo}}}</h3> | |
| 30 | - <h3><?php echo $nome_menu; ?></h3> | |
| 31 | - <h4>{{{txtDesc}}}</h4> | |
| 29 | + <h2><small>{{{menu}}}: <?php echo $nome_menu; ?></small></h2> | |
| 30 | + <blockquote>{{{txtDesc}}}</blockquote> | |
| 31 | + | |
| 32 | 32 | <!-- aqui entra o filtro --> |
| 33 | 33 | <div class="form-group"> |
| 34 | 34 | <label class="control-label">{{{filtro}}}</label> <select | ... | ... |
admin1/catalogo/menus/grupos/subgrupos/index.js
| ... | ... | @@ -406,12 +406,16 @@ i3GEOadmin.subgrupos = { |
| 406 | 406 | } |
| 407 | 407 | ); |
| 408 | 408 | }, |
| 409 | - editarSubsubgrupos: function(id,titulo){ | |
| 409 | + editarTemas: function(id,titulo){ | |
| 410 | 410 | //muda a url para que o usuario possa voltar pelo botao do navegador |
| 411 | - var u = window.location.origin + window.location.pathname + "?nome_menu=" + i3GEOadmin.subgrupos.nome_menu + "id_menu=" + i3GEOadmin.subgrupos.id_menu + "&id_filtro=" + id_n1; | |
| 411 | + var u = window.location.origin | |
| 412 | + + window.location.pathname | |
| 413 | + + "?id_filtro=" + id + "&id_menu=" + i3GEOadmin.subgrupos.id_menu + "&nome_menu=" + i3GEOadmin.subgrupos.nome_menu | |
| 414 | + + "&nome_grupo=" + i3GEOadmin.subgrupos.nome_grupo + "&id_n1=" + i3GEOadmin.subgrupos.id_n1 | |
| 415 | + + "&nome_subgrupo=" + titulo + "&id_n2=" + id; | |
| 412 | 416 | window.history.replaceState(null,null,u); |
| 413 | 417 | //abre a pagina de edicao |
| 414 | - window.location.href = "subsubgrupos/index.php?id_n2=" + id + "&nome_grupo=" + titulo + "&id_menu=" + i3GEOadmin.subgrupos.id_menu + "&nome_menu=" + i3GEOadmin.subgrupos.nome_menu; | |
| 418 | + window.location.href = "temas/index.php?id_n1=" + i3GEOadmin.subgrupos.id_n1 + "&nome_grupo=" + i3GEOadmin.subgrupos.nome_grupo + "&id_n2=" + id + "&nome_subgrupo=" + titulo + "&id_menu=" + i3GEOadmin.subgrupos.id_menu + "&nome_menu=" + i3GEOadmin.subgrupos.nome_menu; | |
| 415 | 419 | }, |
| 416 | 420 | addInput: function(id,valor){ |
| 417 | 421 | var i = $("#"+id); | ... | ... |
admin1/catalogo/menus/grupos/subgrupos/index.php
| ... | ... | @@ -30,9 +30,8 @@ $nome_menu = filter_var ( $_GET ["nome_menu"], FILTER_SANITIZE_STRING ); |
| 30 | 30 | class="btn btn-primary btn-fab btn-fab-mini pull-right"> |
| 31 | 31 | <i class="material-icons">help</i> |
| 32 | 32 | </button> |
| 33 | - <h3>{{{txtTitulo}}}</h3> | |
| 34 | - <h3><?php echo $nome_grupo; ?></h3> | |
| 35 | - <h4>{{{txtDesc}}}</h4> | |
| 33 | + <h2><small>{{{txtTitulo}}}: <?php echo $nome_grupo; ?></small></h2> | |
| 34 | + <blockquote>{{{txtDesc}}}</blockquote> | |
| 36 | 35 | <!-- aqui entra o filtro --> |
| 37 | 36 | <div class="form-group"> |
| 38 | 37 | <label class="control-label">{{{filtro}}}</label> <select |
| ... | ... | @@ -195,7 +194,7 @@ $nome_menu = filter_var ( $_GET ["nome_menu"], FILTER_SANITIZE_STRING ); |
| 195 | 194 | </div> |
| 196 | 195 | <div class="panel-footer {{escondido}}" style="padding-top: 0px; padding-bottom: 0px;"> |
| 197 | 196 | <div class="pull-right"> |
| 198 | - <button onclick="i3GEOadmin.subgrupos.editarSubsubgrupos('{{id_n2}}','{{{nome_subgrupo}}}')" class="btn btn-primary btn-xs" style="margin-top: 2px; margin-bottom: 2px;"> | |
| 197 | + <button onclick="i3GEOadmin.subgrupos.editarTemas('{{id_n2}}','{{{nome_subgrupo}}}')" class="btn btn-primary btn-xs" style="margin-top: 2px; margin-bottom: 2px;"> | |
| 199 | 198 | <i class="material-icons">folder_open</i> {{{editarSub}}} |
| 200 | 199 | </button> |
| 201 | 200 | </div> | ... | ... |
| ... | ... | @@ -0,0 +1,145 @@ |
| 1 | +<?php | |
| 2 | +// | |
| 3 | +//Executa as operacoes para um grupo de um menu | |
| 4 | +// | |
| 5 | +/* | |
| 6 | + * Licenca: | |
| 7 | + * | |
| 8 | + * GPL2 | |
| 9 | + * | |
| 10 | + * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
| 11 | + * | |
| 12 | + * Direitos Autorais Reservados (c) 2006 Edmar Moretti | |
| 13 | + * Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
| 14 | + * | |
| 15 | + * Este programa é software livre; você pode redistribuí-lo | |
| 16 | + * e/ou modificá-lo sob os termos da Licença Pública Geral | |
| 17 | + * GNU conforme publicada pela Free Software Foundation; | |
| 18 | + * | |
| 19 | + * Este programa é distribuído na expectativa de que seja útil, | |
| 20 | + * porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
| 21 | + * de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
| 22 | + * Consulte a Licença Pública Geral do GNU para mais detalhes. | |
| 23 | + * Você deve ter recebido uma copia da Licença Pública Geral do | |
| 24 | + * GNU junto com este programa; se não, escreva para a | |
| 25 | + * Free Software Foundation, Inc., no endereço | |
| 26 | + * 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
| 27 | + */ | |
| 28 | +error_reporting ( 0 ); | |
| 29 | +// | |
| 30 | +// pega as variaveis passadas com get ou post | |
| 31 | +// | |
| 32 | + | |
| 33 | +include_once (dirname ( __FILE__ ) . "/../../../../../../admin/php/login.php"); | |
| 34 | +$funcoesEdicao = array ( | |
| 35 | + "ADICIONAR", | |
| 36 | + "ALTERAR", | |
| 37 | + "EXCLUIR" | |
| 38 | +); | |
| 39 | +if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) { | |
| 40 | + if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) { | |
| 41 | + header ( "HTTP/1.1 403 Vc nao pode realizar essa operacao" ); | |
| 42 | + exit (); | |
| 43 | + } | |
| 44 | +} | |
| 45 | +include (dirname ( __FILE__ ) . "/../../../../../../admin/php/conexao.php"); | |
| 46 | + | |
| 47 | +$funcao = strtoupper ( $funcao ); | |
| 48 | +switch ($funcao) { | |
| 49 | + case "ADICIONAR" : | |
| 50 | + $novo = adicionar( $id_subgrupo, $id_n1, $publicado, $n2_perfil, $ordem, $dbhw ); | |
| 51 | + if ($novo === false) { | |
| 52 | + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); | |
| 53 | + exit (); | |
| 54 | + } | |
| 55 | + exit (); | |
| 56 | + break; | |
| 57 | + case "ALTERAR" : | |
| 58 | + $novo = alterar ( $id_n2, $id_subgrupo, $id_menu, $publicado, $n2_perfil, $ordem, $dbhw ); | |
| 59 | + if ($novo === false) { | |
| 60 | + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); | |
| 61 | + exit (); | |
| 62 | + } | |
| 63 | + $dados = pegaDados ( "SELECT id_n2 from ".$esquemaadmin."i3geoadmin_n2 WHERE id_n2 = $id_n2", $dbh, false ); | |
| 64 | + | |
| 65 | + if ($dados === false) { | |
| 66 | + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); | |
| 67 | + exit (); | |
| 68 | + } | |
| 69 | + $dbhw = null; | |
| 70 | + $dbh = null; | |
| 71 | + retornaJSON ( $dados ); | |
| 72 | + exit (); | |
| 73 | + break; | |
| 74 | + case "LISTA" : | |
| 75 | + $perfis = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by perfil", $dbh, false ); | |
| 76 | + $dbhw = null; | |
| 77 | + $dbh = null; | |
| 78 | + include($locaplic."/admin/php/classe_arvore.php"); | |
| 79 | + $arvore = new Arvore($locaplic); | |
| 80 | + $temassubgrupo = array("dados" => $arvore->pegaTemasSubGrupo($id_n2)); | |
| 81 | + $temas = $arvore->pegaTodosTemas(true); | |
| 82 | + unset($arvore); | |
| 83 | + $temassubgrupo["perfis"] = $perfis; | |
| 84 | + $temassubgrupo["temas"] = $temas; | |
| 85 | + retornaJSON($temassubgrupo); | |
| 86 | + break; | |
| 87 | + case "EXCLUIR" : | |
| 88 | + $r = pegaDados("SELECT id_n3 from ".$esquemaadmin."i3geoadmin_n3 where id_n2 ='$id'"); | |
| 89 | + if(count($r) > 0){ | |
| 90 | + header ( "HTTP/1.1 500 erro ao excluir. Exclua os subgrupos primeiro" ); | |
| 91 | + exit (); | |
| 92 | + } | |
| 93 | + $retorna = excluir ( $id_n2, $dbhw ); | |
| 94 | + $dbhw = null; | |
| 95 | + $dbh = null; | |
| 96 | + if ($retorna === false) { | |
| 97 | + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); | |
| 98 | + exit (); | |
| 99 | + } | |
| 100 | + retornaJSON ( $id_n2 ); | |
| 101 | + exit (); | |
| 102 | + break; | |
| 103 | +} | |
| 104 | +cpjson ( $retorno ); | |
| 105 | + | |
| 106 | +function adicionar( $id_subgrupo, $id_n1, $publicado, $n2_perfil, $ordem, $dbhw) { | |
| 107 | + global $esquemaadmin; | |
| 108 | + try { | |
| 109 | + $dataCol = array( | |
| 110 | + "id_n1" => $id_n1, | |
| 111 | + "publicado" => 'NAO', | |
| 112 | + "ordem" => 0, | |
| 113 | + "n2_perfil" => '' | |
| 114 | + ); | |
| 115 | + $id_n2 = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_n2",$dataCol,"n2_perfil","id_n2"); | |
| 116 | + $retorna = alterar ( $id_n2, $id_subgrupo, $id_n1, $publicado, $n2_perfil, $ordem, $dbhw ); | |
| 117 | + return $retorna; | |
| 118 | + } catch ( PDOException $e ) { | |
| 119 | + return false; | |
| 120 | + } | |
| 121 | +} | |
| 122 | +// $papeis deve ser um array | |
| 123 | +function alterar($id_n2, $id_subgrupo, $id_n1, $publicado, $n2_perfil, $ordem, $dbhw) { | |
| 124 | + global $esquemaadmin; | |
| 125 | + $dataCol = array( | |
| 126 | + "publicado" => $publicado, | |
| 127 | + "id_subgrupo" => $id_subgrupo, | |
| 128 | + "ordem" => $ordem, | |
| 129 | + "n2_perfil" => $n2_perfil | |
| 130 | + ); | |
| 131 | + $resultado = i3GeoAdminUpdate($dbhw,"i3geoadmin_n2",$dataCol,"WHERE id_n2 = $id_n2"); | |
| 132 | + if ($resultado === false) { | |
| 133 | + return false; | |
| 134 | + } | |
| 135 | + return $id_n2; | |
| 136 | +} | |
| 137 | +function excluir($id_n1, $dbhw) { | |
| 138 | + global $esquemaadmin; | |
| 139 | + $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_n2", "id_n2", $id_n2, $dbhw, false ); | |
| 140 | + if ($resultado === false) { | |
| 141 | + return false; | |
| 142 | + } | |
| 143 | + return $resultado; | |
| 144 | +} | |
| 145 | +?> | ... | ... |
| ... | ... | @@ -0,0 +1,223 @@ |
| 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.temas = { | |
| 26 | + id_menu: "", | |
| 27 | + nome_menu: "", | |
| 28 | + id_n1: "", | |
| 29 | + nome_grupo: "", | |
| 30 | + id_n2: "", | |
| 31 | + nome_subgrupo: "", | |
| 32 | + onde: "", | |
| 33 | + //conteudo html do formulario de adicao na raiz | |
| 34 | + formAdiciona: "", | |
| 35 | + init: function(onde){ | |
| 36 | + i3GEOadmin.temas.onde = onde; | |
| 37 | + i3GEOadmin.temas.lista(); | |
| 38 | + }, | |
| 39 | + lista: function(){ | |
| 40 | + i3GEOadmin.core.iconeAguarde(i3GEOadmin.temas.onde); | |
| 41 | + | |
| 42 | + $.post( | |
| 43 | + "exec.php?funcao=lista&id_n2=" + i3GEOadmin.temas.id_n2 | |
| 44 | + ) | |
| 45 | + .done( | |
| 46 | + function(data, status){ | |
| 47 | + //objeto json com os dados viondos do banco | |
| 48 | + var json = jQuery.parseJSON(data); | |
| 49 | + //combo com perfis | |
| 50 | + var opcoesPerfil = '<option value="">---</option>' + Mustache.to_html( | |
| 51 | + "{{#data}}" + $("#templateOpcoesPerfil").html() + "{{/data}}", | |
| 52 | + {"data":json["perfis"]} | |
| 53 | + ); | |
| 54 | + i3GEOadmin.temas.listaTemas(json["dados"],opcoesPerfil,json["temas"]); | |
| 55 | + $.material.init(); | |
| 56 | + } | |
| 57 | + ) | |
| 58 | + .fail(function(data){ | |
| 59 | + i3GEOadmin.temas.onde.html(""); | |
| 60 | + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); | |
| 61 | + }); | |
| 62 | + }, | |
| 63 | + listaTemas: function(dados,opcoesPerfil,temas){ | |
| 64 | + var template = $("#templateTemas").html(); | |
| 65 | + var html = Mustache.to_html( | |
| 66 | + "{{#data}}" + template + "{{/data}}", | |
| 67 | + $.extend( | |
| 68 | + {}, | |
| 69 | + i3GEOadmin.temas.dicionario, | |
| 70 | + { | |
| 71 | + "data": dados, | |
| 72 | + "opcoesPerfil": opcoesPerfil, | |
| 73 | + "onExcluir": "i3GEOadmin.temas.excluirTemaDialogo",//funcao | |
| 74 | + "onSalvar": "i3GEOadmin.temas.salvarTemaDialogo",//funcao | |
| 75 | + "opcoesTema": function(){ | |
| 76 | + var p = this.codigo_tema; | |
| 77 | + var id = ""; | |
| 78 | + //marca o selecionado | |
| 79 | + $(temas).each( | |
| 80 | + function(i,el){ | |
| 81 | + if(el.codigo_tema == p){ | |
| 82 | + temas[i]["selected"] = "selected"; | |
| 83 | + id = i; | |
| 84 | + } | |
| 85 | + else{ | |
| 86 | + temas[i]["selected"] = ""; | |
| 87 | + } | |
| 88 | + } | |
| 89 | + ); | |
| 90 | + var html = '<option value="">---</option>' + Mustache.to_html( | |
| 91 | + "{{#data}}" + $("#templateOpcoesTema").html() + "{{/data}}", | |
| 92 | + {"data":temas} | |
| 93 | + ); | |
| 94 | + //volta ao normal | |
| 95 | + temas[id]["selected"] = ""; | |
| 96 | + return html; | |
| 97 | + } | |
| 98 | + } | |
| 99 | + ) | |
| 100 | + ); | |
| 101 | + i3GEOadmin.temas.onde.html(html); | |
| 102 | + | |
| 103 | + //monta um template para o modal de inclusao de novo tema | |
| 104 | + if(i3GEOadmin.temas.formAdicionaRaiz == ""){ | |
| 105 | + html = Mustache.to_html( | |
| 106 | + $("#templateRaiz").html(), | |
| 107 | + $.extend( | |
| 108 | + {}, | |
| 109 | + i3GEOadmin.temas.dicionario, | |
| 110 | + { | |
| 111 | + "id_raiz": "modal", | |
| 112 | + "escondido": "hidden", | |
| 113 | + "opcoesPerfil": opcoesPerfil, | |
| 114 | + "excluir": i3GEOadmin.temas.dicionario.cancelar, | |
| 115 | + "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao | |
| 116 | + "onSalvar": "i3GEOadmin.temas.adicionaTemaRaiz",//funcao | |
| 117 | + "opcoesTema": function(){ | |
| 118 | + var html = '<option value="">---</option>' + Mustache.to_html( | |
| 119 | + "{{#data}}" + $("#templateOpcoesTema").html() + "{{/data}}", | |
| 120 | + {"data":temas} | |
| 121 | + ); | |
| 122 | + return html; | |
| 123 | + } | |
| 124 | + } | |
| 125 | + ) | |
| 126 | + ); | |
| 127 | + i3GEOadmin.temas.formAdicionaRaiz = html; | |
| 128 | + } | |
| 129 | + }, | |
| 130 | + adicionaTemaDialogo: function(){ | |
| 131 | + i3GEOadmin.core.abreModalGeral(i3GEOadmin.temas.formAdicionaRaiz); | |
| 132 | + $("#body-formRaiz-modal").collapse('show'); | |
| 133 | + }, | |
| 134 | +// os parametros sao obtidos do formulario aberto do modal | |
| 135 | + adicionaTema: function(){ | |
| 136 | + var parametros = $("#formRaiz-modal form").serialize(); | |
| 137 | + i3GEOadmin.core.fechaModalGeral(); | |
| 138 | + i3GEOadmin.core.modalAguarde(true); | |
| 139 | + $.post( | |
| 140 | + "execraiz.php?funcao=adicionar", | |
| 141 | + parametros + "&id_menu=" + i3GEOadmin.temas.id_menu + "&id_n1=" + i3GEOadmin.temas.id_n1 | |
| 142 | + ) | |
| 143 | + .done( | |
| 144 | + function(data, status){ | |
| 145 | + i3GEOadmin.core.modalAguarde(false); | |
| 146 | + i3GEOadmin.core.iconeAguarde(i3GEOadmin.temas.ondeRaiz); | |
| 147 | + i3GEOadmin.temas.lista(); | |
| 148 | + } | |
| 149 | + ) | |
| 150 | + .fail( | |
| 151 | + function(data){ | |
| 152 | + i3GEOadmin.core.modalAguarde(false); | |
| 153 | + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); | |
| 154 | + } | |
| 155 | + ); | |
| 156 | + }, | |
| 157 | + excluirTemaDialogo: function(id){ | |
| 158 | + var hash = { | |
| 159 | + "mensagem": i3GEOadmin.temas.dicionario.confirma, | |
| 160 | + "onBotao1": "i3GEOadmin.temas.excluirTema('"+id+"')", | |
| 161 | + "botao1": i3GEOadmin.temas.dicionario.sim, | |
| 162 | + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", | |
| 163 | + "botao2": i3GEOadmin.temas.dicionario.nao | |
| 164 | + }; | |
| 165 | + i3GEOadmin.core.abreModalConfirma(hash); | |
| 166 | + }, | |
| 167 | + excluirTema: function(id){ | |
| 168 | + i3GEOadmin.core.modalAguarde(true); | |
| 169 | + $.post( | |
| 170 | + "execraiz.php?funcao=excluir", | |
| 171 | + "id_raiz=" + id + "&id_menu=" + i3GEOadmin.temas.id_menu | |
| 172 | + ) | |
| 173 | + .done( | |
| 174 | + function(data, status){ | |
| 175 | + i3GEOadmin.core.modalAguarde(false); | |
| 176 | + var json = jQuery.parseJSON(data)*1; | |
| 177 | + $("#formRaiz-" + json).remove(); | |
| 178 | + } | |
| 179 | + ) | |
| 180 | + .fail( | |
| 181 | + function(data){ | |
| 182 | + i3GEOadmin.core.modalAguarde(false); | |
| 183 | + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); | |
| 184 | + } | |
| 185 | + ); | |
| 186 | + }, | |
| 187 | + salvarTemaDialogo: function(id){ | |
| 188 | + var hash = { | |
| 189 | + "mensagem": i3GEOadmin.temas.dicionario.confirma, | |
| 190 | + "onBotao1": "i3GEOadmin.temas.salvarTema('"+id+"')", | |
| 191 | + "botao1": i3GEOadmin.temas.dicionario.sim, | |
| 192 | + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", | |
| 193 | + "botao2": i3GEOadmin.temas.dicionario.nao | |
| 194 | + }; | |
| 195 | + i3GEOadmin.core.abreModalConfirma(hash); | |
| 196 | + }, | |
| 197 | + salvarTema: function(id){ | |
| 198 | + var parametros = $("#formRaiz-" + id + " form").serialize(); | |
| 199 | + i3GEOadmin.core.fechaModalGeral(); | |
| 200 | + i3GEOadmin.core.modalAguarde(true); | |
| 201 | + $.post( | |
| 202 | + "execraiz.php?funcao=alterar", | |
| 203 | + "id_raiz="+ id + "&"+parametros + "&id_menu=" + i3GEOadmin.temas.id_menu | |
| 204 | + ) | |
| 205 | + .done( | |
| 206 | + function(data, status){ | |
| 207 | + i3GEOadmin.core.modalAguarde(false); | |
| 208 | + i3GEOadmin.core.iconeAguarde(i3GEOadmin.temas.ondeRaiz); | |
| 209 | + i3GEOadmin.temas.lista(); | |
| 210 | + } | |
| 211 | + ) | |
| 212 | + .fail( | |
| 213 | + function(data){ | |
| 214 | + i3GEOadmin.core.modalAguarde(false); | |
| 215 | + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); | |
| 216 | + } | |
| 217 | + ); | |
| 218 | + }, | |
| 219 | + addInput: function(id,valor){ | |
| 220 | + var i = $("#"+id); | |
| 221 | + $(i.val(i.val() + ' ' + valor)); | |
| 222 | + } | |
| 223 | +}; | |
| 0 | 224 | \ No newline at end of file | ... | ... |
| ... | ... | @@ -0,0 +1,173 @@ |
| 1 | +<?php | |
| 2 | +define ( ONDEI3GEO, "../../../../../.." ); | |
| 3 | +include (dirname ( __FILE__ ) . "/../../../../../../ms_configura.php"); | |
| 4 | +error_reporting ( 0 ); | |
| 5 | +include "../../../../../head.php"; | |
| 6 | +$id_menu = filter_var ( $_GET ["id_menu"], FILTER_SANITIZE_NUMBER_INT ); | |
| 7 | +$nome_menu = filter_var ( $_GET ["nome_menu"], FILTER_SANITIZE_STRING ); | |
| 8 | +$id_n1 = filter_var ( $_GET ["id_n1"], FILTER_SANITIZE_NUMBER_INT ); | |
| 9 | +$nome_grupo = filter_var ( $_GET ["nome_grupo"], FILTER_SANITIZE_STRING ); | |
| 10 | +$id_n2 = filter_var ( $_GET ["id_n2"], FILTER_SANITIZE_NUMBER_INT ); | |
| 11 | +$nome_subgrupo = filter_var ( $_GET ["nome_subgrupo"], FILTER_SANITIZE_STRING ); | |
| 12 | +?> | |
| 13 | +<div class="container-fluid"> | |
| 14 | + <div class="row"> | |
| 15 | + <ol class="breadcrumb"> | |
| 16 | + <li><a href="../../../../../init/index.php">i3Geo</a></li> | |
| 17 | + <li><a href="../../../../../index.php">Admin</a></li> | |
| 18 | + <li>Catálogo</li> | |
| 19 | + <li><a href="../../../index.php">menus</a></li> | |
| 20 | + <li><a href="../../../index.php?id_filtro=<?php echo $id_menu; ?>">menu: <?php echo $nome_menu; ?></a></li> | |
| 21 | + <li><a href="../../index.php?id_menu=<?php echo $id_menu; ?>&nome_menu=<?php echo $nome_menu; ?>">grupos</a></li> | |
| 22 | + <li><a | |
| 23 | + href="../../index.php?id_filtro=<?php echo $id_n1; ?>&id_menu=<?php echo $id_menu; ?>&nome_menu=<?php echo $nome_menu; ?>">grupo: <?php echo $nome_grupo; ?></a></li> | |
| 24 | + <li><a | |
| 25 | + href="../../index.php?id_menu=<?php echo $id_menu; ?>&nome_menu=<?php echo $nome_menu; ?>&id_grupo=<?php echo $id_grupo; ?>&nome_grupo=<?php echo $nome_grupo; ?>">subgrupos</a></li> | |
| 26 | + <li><a | |
| 27 | + href="../../index.php?id_filtro=<?php echo $id_n2; ?>&id_menu=<?php echo $id_menu; ?>&nome_menu=<?php echo $nome_menu; ?>&id_grupo=<?php echo $id_grupo; ?>&nome_grupo=<?php echo $nome_grupo; ?>">subgrupo: <?php echo $nome_subgrupo; ?></a></li> | |
| 28 | + <li class="active">Temas</li> | |
| 29 | + </ol> | |
| 30 | + </div> | |
| 31 | +</div> | |
| 32 | +<div class="container" id="titulo"> | |
| 33 | + <div class="row center-block"> | |
| 34 | + <div class="col-md-12"> | |
| 35 | + <div class="well hidden"> | |
| 36 | + <h2> | |
| 37 | + <small>{{{txtTitulo}}}: <?php echo $nome_subgrupo; ?></small> | |
| 38 | + </h2> | |
| 39 | + <blockquote>{{{txtDesc}}}</blockquote> | |
| 40 | + <!-- aqui entra o filtro --> | |
| 41 | + <div class="form-group"> | |
| 42 | + <label class="control-label">{{{filtro}}}</label> <select | |
| 43 | + onchange="i3GEOadmin.core.filtra(this)" id="filtro" class="form-control input-lg"> | |
| 44 | + </select> | |
| 45 | + </div> | |
| 46 | + <div class="row pull-right"> | |
| 47 | + <a onclick="i3GEOadmin.temas.adicionaTemaDialogo();" href="javascript:void(0)" | |
| 48 | + class="btn btn-primary" role="button">{{{adicionarTema}}}</a> | |
| 49 | + </div> | |
| 50 | + <div class="clearfix"></div> | |
| 51 | + </div> | |
| 52 | + <div class="well hidden"> | |
| 53 | + <div id="corpo" class="panel-body panel-collapse in"></div> | |
| 54 | + </div> | |
| 55 | + </div> | |
| 56 | + </div> | |
| 57 | +</div> | |
| 58 | +<script id="templateFiltro" type="x-tmpl-mustache"> | |
| 59 | +<option value="form-{{id_n3}}">{{{nome_tema}}}</option> | |
| 60 | +</script> | |
| 61 | +<script id="templateTemas" type="x-tmpl-mustache"> | |
| 62 | +<div class="panel panel-default" id="form-{{id_n3}}"> | |
| 63 | + <div class="panel-heading" role="tab"> | |
| 64 | + <h3 class="panel-title" {{escondido}}> | |
| 65 | + <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_n3}}')" class="btn btn-danger btn-fab btn-fab-mini" role="button"> | |
| 66 | + <i class="material-icons">delete_forever</i> | |
| 67 | + </a> | |
| 68 | + | |
| 69 | + <a class="collapsed in" role="button" data-toggle="collapse" href="#body-form-{{id_n3}}" | |
| 70 | + aria-expanded="false" aria-controls="#body-form-{{id_n3}}"> {{{nome_tema}}} </a> | |
| 71 | + </h3> | |
| 72 | + </div> | |
| 73 | + <div class="panel-body panel-collapse collapse" id="body-form-{{id_n3}}"> | |
| 74 | + <form style="" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" role="form" method="post" action="" > | |
| 75 | + <div class="row"> | |
| 76 | + <div class="col-md-12"> | |
| 77 | + <div class="form-group form-group-lg"> | |
| 78 | + <label class="col-md-4 control-label" for="id_tema">{{{tema}}}</label> | |
| 79 | + <div class="col-md-8"> | |
| 80 | + <select class="form-control" name="id_tema"> | |
| 81 | + {{{opcoesTema}}} | |
| 82 | + </select> | |
| 83 | + </div> | |
| 84 | + </div> | |
| 85 | + <div class="form-group form-group-lg"> | |
| 86 | + <label class="col-md-4 control-label" for="ordem">{{{ordemTxt}}}</label> | |
| 87 | + <div class="col-md-8"> | |
| 88 | + <input type="text" value="{{{ordem}}}" class="form-control" name="ordem"> | |
| 89 | + </div> | |
| 90 | + </div> | |
| 91 | + <div class="form-group form-group-lg"> | |
| 92 | + <label class="col-md-4 control-label" for="perfil">{{{perfis}}}</label> | |
| 93 | + <div class="col-md-4"> | |
| 94 | + <input id="perfil_tema-{{id_raiz}}" type="text" value="{{{perfil}}}" class="form-control" name="perfil"> | |
| 95 | + </div> | |
| 96 | + <div class="col-md-4"> | |
| 97 | + <select class="form-control" onchange="i3GEOadmin.temas.addInput('perfil_tema-{{id_raiz}}',this.value)"> | |
| 98 | + {{{opcoesPerfil}}} | |
| 99 | + </select> | |
| 100 | + </div> | |
| 101 | + </div> | |
| 102 | + </div> | |
| 103 | + </div> | |
| 104 | + </form> | |
| 105 | + <div class="pull-right"> | |
| 106 | + <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_n3}}')" class="btn btn-danger" role="button">{{excluir}}</a> | |
| 107 | + <a href="javascript:void(0)" onclick="{{onSalvar}}('{{id_n3}}')" class="btn btn-primary" role="button">{{salvar}}</a> | |
| 108 | + </div> | |
| 109 | + </div> | |
| 110 | +</div> | |
| 111 | +</script> | |
| 112 | +<script id="templateOpcoesPublicado" type="x-tmpl-mustache"> | |
| 113 | + <option value="">---</option> | |
| 114 | + <option {{SIM-sel}} value="SIM">{{{sim}}}</option> | |
| 115 | + <option {{NAO-sel}} value="NAO">{{{nao}}}</option> | |
| 116 | +</script> | |
| 117 | +<script id="templateOpcoesNo" type="x-tmpl-mustache"> | |
| 118 | + <option {{{selected}}} value="{{{id_subgrupo}}}">{{{nome_subgrupo}}}</option> | |
| 119 | +</script> | |
| 120 | +<script id="templateOpcoesTema" type="x-tmpl-mustache"> | |
| 121 | + <option {{{selected}}} value="{{{id_tema}}}">{{{nome_tema}}} - {{{codigo_tema}}}</option> | |
| 122 | +</script> | |
| 123 | +<script id="templateOpcoesPerfil" type="x-tmpl-mustache"> | |
| 124 | + <option value="{{{perfil}}}">{{{perfil}}}</option> | |
| 125 | +</script> | |
| 126 | +<script type="text/javascript" src="index.js"></script> | |
| 127 | +<script type="text/javascript" src="../../../../../dicionario/temas.js"></script> | |
| 128 | +<script> | |
| 129 | + $(document).ready(function(){ | |
| 130 | + //vem de admin1/index.js | |
| 131 | + iniciaMenuPrincipal(); | |
| 132 | + $('ul.dropdown-grupo [data-toggle=dropdown]').on('click', function(event) { | |
| 133 | + event.preventDefault(); | |
| 134 | + event.stopPropagation(); | |
| 135 | + $(this).parent().siblings().removeClass('open'); | |
| 136 | + $(this).parent().toggleClass('open'); | |
| 137 | + }); | |
| 138 | + //traducao | |
| 139 | + var t = $("#titulo"); | |
| 140 | + //complementa dicionario | |
| 141 | + i3GEOadmin.temas.dicionario = $.extend( | |
| 142 | + {}, | |
| 143 | + i3GEOadmin.temas.dicionario, | |
| 144 | + i3GEOadmin.core.dicionario | |
| 145 | + ); | |
| 146 | + | |
| 147 | + i3GEOadmin.core.dicionario = null; | |
| 148 | + | |
| 149 | + i3GEOadmin.temas.dicionario = i3GEO.idioma.objetoIdioma(i3GEOadmin.temas.dicionario); | |
| 150 | + | |
| 151 | + t.html( | |
| 152 | + Mustache.to_html( | |
| 153 | + t.html(), | |
| 154 | + i3GEOadmin.temas.dicionario | |
| 155 | + ) | |
| 156 | + ); | |
| 157 | + $.material.init(); | |
| 158 | + i3GEOadmin.temas.id_menu = <?php echo $id_menu; ?>; | |
| 159 | + i3GEOadmin.temas.nome_menu = "<?php echo $nome_menu; ?>"; | |
| 160 | + i3GEOadmin.temas.id_n1 = <?php echo $id_n1; ?>; | |
| 161 | + i3GEOadmin.temas.nome_grupo = "<?php echo $nome_grupo; ?>"; | |
| 162 | + i3GEOadmin.temas.id_n2 = <?php echo $id_n2; ?>; | |
| 163 | + i3GEOadmin.temas.nome_subgrupo = "<?php echo $nome_subgrupo; ?>"; | |
| 164 | + | |
| 165 | + var inicia = function() { | |
| 166 | + $(".hidden").removeClass('hidden'); | |
| 167 | + i3GEOadmin.temas.init($("#corpo")); | |
| 168 | + }; | |
| 169 | + i3GEO.login.verificaOperacao("admin/html/arvore",i3GEO.configura.locaplic, inicia, "sessao"); | |
| 170 | + }); | |
| 171 | +</script> | |
| 172 | +</body> | |
| 173 | +</html> | ... | ... |
admin1/catalogo/menus/index.php
| ... | ... | @@ -22,8 +22,9 @@ include "../../head.php"; |
| 22 | 22 | class="btn btn-primary btn-fab btn-fab-mini pull-right"> |
| 23 | 23 | <i class="material-icons">help</i> |
| 24 | 24 | </button> |
| 25 | - <h3>{{{txtTitulo}}}</h3> | |
| 26 | - <h4>{{{txtDesc}}}</h4> | |
| 25 | + <h2><small>{{{txtTitulo}}}</small></h2> | |
| 26 | + <blockquote>{{{txtDesc}}}</blockquote> | |
| 27 | + | |
| 27 | 28 | <!-- aqui entra o filtro --> |
| 28 | 29 | <div class="form-group"> |
| 29 | 30 | <label class="control-label">{{{filtro}}}</label> <select | ... | ... |
admin1/dicionario/subgrupos.js
| ... | ... | @@ -41,7 +41,7 @@ i3GEOadmin.subgrupos.dicionario = { |
| 41 | 41 | es : "" |
| 42 | 42 | } ], |
| 43 | 43 | 'txtDesc' : [ { |
| 44 | - pt : "Utilze as opções abaixo para criar ou editar temas que ficarão na raiz do grupo e também para editar os temas existentes dentro do subgrupo atual.", | |
| 44 | + pt : "Utilize as opções abaixo para criar ou editar temas que ficarão na raiz do grupo e também para editar os temas existentes dentro do subgrupo atual.", | |
| 45 | 45 | en : "", |
| 46 | 46 | es : "" |
| 47 | 47 | } ], |
| ... | ... | @@ -60,8 +60,8 @@ i3GEOadmin.subgrupos.dicionario = { |
| 60 | 60 | en : "", |
| 61 | 61 | es : "" |
| 62 | 62 | } ], |
| 63 | - '' : [ { | |
| 64 | - pt : "", | |
| 63 | + 'txtTitulo' : [ { | |
| 64 | + pt : "Grupo", | |
| 65 | 65 | en : "", |
| 66 | 66 | es : "" |
| 67 | 67 | } ], | ... | ... |
| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | +i3GEOadmin.temas.dicionario = { | |
| 2 | + 'txtDesc' : [ { | |
| 3 | + pt : "Utilize as opções abaixo para criar ou editar temas que ficarão disponíveis para o usuário acessar no subgrupo escolhido.", | |
| 4 | + en : "", | |
| 5 | + es : "" | |
| 6 | + } ], | |
| 7 | + 'adicionarTema' : [ { | |
| 8 | + pt : "Adicionar tema", | |
| 9 | + en : "", | |
| 10 | + es : "" | |
| 11 | + } ], | |
| 12 | + 'perfis' : [ { | |
| 13 | + pt : "Perfis que podem ver. Separe por espaços e escolha da lista ao lado.", | |
| 14 | + en : "", | |
| 15 | + es : "" | |
| 16 | + } ], | |
| 17 | + 'txtTitulo' : [ { | |
| 18 | + pt : "Temas do subgrupo", | |
| 19 | + en : "", | |
| 20 | + es : "" | |
| 21 | + } ], | |
| 22 | + '' : [ { | |
| 23 | + pt : "", | |
| 24 | + en : "", | |
| 25 | + es : "" | |
| 26 | + } ] | |
| 27 | +}; | ... | ... |