Commit 0e94bce8a90b9ab61abfb14cb19454289880b12f

Authored by Edmar Moretti
1 parent 896df65b

Adaptação do editor de menus para bootstrap

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 [&quot;nome_menu&quot;], 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 [&quot;nome_menu&quot;], 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>
... ...
admin1/catalogo/menus/grupos/subgrupos/temas/exec.php 0 → 100755
... ... @@ -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 &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  16 + * e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  17 + * GNU conforme publicada pela Free Software Foundation;
  18 + *
  19 + * Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  20 + * por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  21 + * de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  22 + * Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  23 + * Voc&ecirc; deve ter recebido uma copia da Licen&ccedil;a P&uacute;blica Geral do
  24 + * GNU junto com este programa; se n&atilde;o, escreva para a
  25 + * Free Software Foundation, Inc., no endere&ccedil;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 +?>
... ...
admin1/catalogo/menus/grupos/subgrupos/temas/index.js 0 → 100755
... ... @@ -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&eacute;rio do Meio Ambiente Brasil
  9 +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  10 +
  11 +Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  12 +e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  13 +GNU conforme publicada pela Free Software Foundation;
  14 +
  15 +Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  16 +por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  17 +de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  18 +Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  19 +Voc&ecirc; deve ter recebido uma c&oacute;pia da Licen&ccedil;a P&uacute;blica Geral do
  20 +GNU junto com este programa; se n&atilde;o, escreva para a
  21 +Free Software Foundation, Inc., no endere&ccedil;o
  22 +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  23 +
  24 + */
  25 +i3GEOadmin.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
... ...
admin1/catalogo/menus/grupos/subgrupos/temas/index.php 0 → 100755
... ... @@ -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&aacute;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 + &nbsp;
  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 &quot;../../head.php&quot;;
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&ccedil;&otilde;es abaixo para criar ou editar temas que ficar&atilde;o na raiz do grupo e tamb&eacute;m para editar os temas existentes dentro do subgrupo atual.",
  44 + pt : "Utilize as op&ccedil;&otilde;es abaixo para criar ou editar temas que ficar&atilde;o na raiz do grupo e tamb&eacute;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 } ],
... ...
admin1/dicionario/temas.js 0 → 100644
... ... @@ -0,0 +1,27 @@
  1 +i3GEOadmin.temas.dicionario = {
  2 + 'txtDesc' : [ {
  3 + pt : "Utilize as op&ccedil;&otilde;es abaixo para criar ou editar temas que ficar&atilde;o dispon&iacute;veis para o usu&aacute;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&ccedil;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 +};
... ...