Commit 025cd941662d483514647f7de7546a56464d611c

Authored by Edmar Moretti
1 parent a3f950fe

Conclusão dos formulários de administração da árvore do catálogo de temas

admin/admin.db
No preview for this file type
admin1/cadastros/sistemas/exec.php 0 → 100755
... ... @@ -0,0 +1,164 @@
  1 +<?php
  2 +/*
  3 + * Licenca:
  4 + *
  5 + * GPL2
  6 + *
  7 + * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  8 + *
  9 + * Direitos Autorais Reservados (c) 2006 Edmar Moretti
  10 + * Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  11 + *
  12 + * Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  13 + * e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  14 + * GNU conforme publicada pela Free Software Foundation;
  15 + *
  16 + * Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  17 + * por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  18 + * de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  19 + * Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  20 + * Voc&ecirc; deve ter recebido uma copia da Licen&ccedil;a P&uacute;blica Geral do
  21 + * GNU junto com este programa; se n&atilde;o, escreva para a
  22 + * Free Software Foundation, Inc., no endere&ccedil;o
  23 + * 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  24 + */
  25 +error_reporting ( 0 );
  26 +//
  27 +// pega as variaveis passadas com get ou post
  28 +//
  29 +
  30 +include_once (dirname ( __FILE__ ) . "/../../../admin/php/login.php");
  31 +$funcoesEdicao = array (
  32 + "ADICIONAR",
  33 + "ALTERAR",
  34 + "EXCLUIR",
  35 + "LISTA",
  36 + "LISTAUNICO"
  37 +);
  38 +if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) {
  39 + if (verificaOperacaoSessao ( "admin/html/sistemas" ) === false) {
  40 + header ( "HTTP/1.1 403 Vc nao pode realizar essa operacao" );
  41 + exit ();
  42 + }
  43 +}
  44 +include (dirname ( __FILE__ ) . "/../../../admin/php/conexao.php");
  45 +
  46 +$id = $_POST["id"];
  47 +$id_sistema = $_POST["id_sistema"];
  48 +$id_funcao = $_POST["id_funcao"];
  49 +
  50 +testaSafeNumerico([$id,$id_sistema,$id_funcao]);
  51 +
  52 +$funcao = strtoupper ( $funcao );
  53 +switch ($funcao) {
  54 + case "ADICIONAR" :
  55 + $novo = adicionar( $_POST["publicado_sistema"],$_POST["nome_sistema"],$_POST["perfil_sistema"], $dbhw );
  56 + if ($novo === false) {
  57 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  58 + exit ();
  59 + }
  60 + exit ();
  61 + break;
  62 + case "ALTERAR" :
  63 + $novo = alterar ( $id_sistema, $_POST["publicado_sistema"],$_POST["nome_sistema"],$_POST["perfil_sistema"], $dbhw );
  64 + if ($novo === false) {
  65 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  66 + exit ();
  67 + }
  68 + $dados = pegaDados ( "SELECT * from ".$esquemaadmin."i3geoadmin_sistemas WHERE id_sistema = $id_sistema ", $dbh, false );
  69 +
  70 + if ($dados === false) {
  71 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  72 + exit ();
  73 + }
  74 + $dbhw = null;
  75 + $dbh = null;
  76 + retornaJSON ( $dados );
  77 + exit ();
  78 + break;
  79 + case "LISTAUNICO" :
  80 + $dados = pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_sistemas WHERE id_sistema = $id_sistema", $dbh, false);
  81 + if ($dados === false) {
  82 + $dbhw = null;
  83 + $dbh = null;
  84 + header ( "HTTP/1.1 500 erro ao consultar banco de dados tabela de sistemas" );
  85 + exit ();
  86 + }
  87 + $dbhw = null;
  88 + $dbh = null;
  89 + retornaJSON ( array("dados"=>$dados[0]) );
  90 + break;
  91 + case "LISTA" :
  92 + $dados = pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_sistemas ORDER BY lower(nome_sistema)", $dbh, false);
  93 + if ($dados === false) {
  94 + $dbhw = null;
  95 + $dbh = null;
  96 + header ( "HTTP/1.1 500 erro ao consultar banco de dados tabela de atlas" );
  97 + exit ();
  98 + }
  99 + $perfis = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by perfil", $dbh, false );
  100 + $dbhw = null;
  101 + $dbh = null;
  102 + retornaJSON ( array("dados"=>$dados, "perfis"=>$perfis) );
  103 + break;
  104 + case "EXCLUIR" :
  105 + $funcoes = pegaDados("SELECT id_sistema from ".$esquemaadmin."i3geoadmin_sistemasf where id_sistema = '$id_sistema'");
  106 + if(count($funcoes) > 0){
  107 + header ( "HTTP/1.1 500 erro ao excluir. Exclua as funcoes do sistema primeiro" );
  108 + exit ();
  109 + }
  110 + $retorna = excluir ( $id_sistema, $dbhw );
  111 + $dbhw = null;
  112 + $dbh = null;
  113 + if ($retorna === false) {
  114 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  115 + exit ();
  116 + }
  117 + retornaJSON ( $id_sistema );
  118 + exit ();
  119 + break;
  120 +}
  121 +cpjson ( $retorno );
  122 +
  123 +function adicionar( $publicado_sistema,$nome_sistema,$perfil_sistema, $dbhw) {
  124 + global $esquemaadmin;
  125 + try {
  126 + $dataCol = array(
  127 + "publicado_sistema" => '',
  128 + "nome_sistema" => '',
  129 + "perfil_sistema" => ''
  130 + );
  131 + $id_sistema = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_sistemas",$dataCol,"nome_sistema","id_sistema");
  132 + $retorna = alterar ( $id_sistema,$publicado_sistema,$nome_sistema,$perfil_sistema, $dbhw );
  133 +
  134 + return $retorna;
  135 + } catch ( PDOException $e ) {
  136 + return false;
  137 + }
  138 +}
  139 +// $papeis deve ser um array
  140 +function alterar($id_sistema,$publicado_sistema,$nome_sistema,$perfil_sistema, $dbhw) {
  141 + global $convUTF, $esquemaadmin;
  142 + if ($convUTF != true){
  143 + $nome_sistema = utf8_encode($nome_sistema);
  144 + }
  145 + $dataCol = array(
  146 + "publicado_sistema" => $publicado_sistema,
  147 + "nome_sistema" => $nome_sistema,
  148 + "perfil_sistema" => $perfil_sistema
  149 + );
  150 + $resultado = i3GeoAdminUpdate ( $dbhw, "i3geoadmin_sistemas", $dataCol, "WHERE id_sistema = $id_sistema" );
  151 + if ($resultado === false) {
  152 + return false;
  153 + }
  154 + return $id_sistema;
  155 +}
  156 +function excluir($id_sistema, $dbhw) {
  157 + global $esquemaadmin;
  158 + $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_sistemas", "id_sistema", $id_sistema, $dbhw, false );
  159 + if ($resultado === false) {
  160 + return false;
  161 + }
  162 + return $resultado;
  163 +}
  164 +?>
... ...
admin1/cadastros/sistemas/funcoes/exec.php 0 → 100755
... ... @@ -0,0 +1,164 @@
  1 +<?php
  2 +/*
  3 + * Licenca:
  4 + *
  5 + * GPL2
  6 + *
  7 + * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  8 + *
  9 + * Direitos Autorais Reservados (c) 2006 Edmar Moretti
  10 + * Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  11 + *
  12 + * Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  13 + * e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  14 + * GNU conforme publicada pela Free Software Foundation;
  15 + *
  16 + * Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  17 + * por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  18 + * de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  19 + * Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  20 + * Voc&ecirc; deve ter recebido uma copia da Licen&ccedil;a P&uacute;blica Geral do
  21 + * GNU junto com este programa; se n&atilde;o, escreva para a
  22 + * Free Software Foundation, Inc., no endere&ccedil;o
  23 + * 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  24 + */
  25 +error_reporting ( 0 );
  26 +//
  27 +// pega as variaveis passadas com get ou post
  28 +//
  29 +
  30 +include_once (dirname ( __FILE__ ) . "/../../../../admin/php/login.php");
  31 +$funcoesEdicao = array (
  32 + "ADICIONAR",
  33 + "ALTERAR",
  34 + "EXCLUIR",
  35 + "LISTA",
  36 + "LISTAUNICO"
  37 +);
  38 +if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) {
  39 + if (verificaOperacaoSessao ( "admin/html/sistemas" ) === false) {
  40 + header ( "HTTP/1.1 403 Vc nao pode realizar essa operacao" );
  41 + exit ();
  42 + }
  43 +}
  44 +include (dirname ( __FILE__ ) . "/../../../../admin/php/conexao.php");
  45 +
  46 +$id = $_POST["id"];
  47 +$id_sistema = $_POST["id_sistema"];
  48 +$id_funcao = $_POST["id_funcao"];
  49 +
  50 +testaSafeNumerico([$id,$id_sistema,$id_funcao]);
  51 +
  52 +$funcao = strtoupper ( $funcao );
  53 +switch ($funcao) {
  54 + case "ADICIONAR" :
  55 + $novo = adicionar( $id_sistema, $_POST["nome_funcao"],$_POST["abrir_funcao"],$_POST["h_funcao"],$_POST["w_funcao"],$_POST["perfil_funcao"],$dbhw );
  56 + if ($novo === false) {
  57 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  58 + exit ();
  59 + }
  60 + exit ();
  61 + break;
  62 + case "ALTERAR" :
  63 + $novo = alterar ( $id_funcao, $_POST["nome_funcao"],$_POST["abrir_funcao"],$_POST["h_funcao"],$_POST["w_funcao"],$_POST["perfil_funcao"], $dbhw );
  64 + if ($novo === false) {
  65 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  66 + exit ();
  67 + }
  68 + $dados = pegaDados ( "SELECT * from ".$esquemaadmin."i3geoadmin_sistemasf WHERE id_funcao = $id_funcao", $dbh, false );
  69 +
  70 + if ($dados === false) {
  71 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  72 + exit ();
  73 + }
  74 + $dbhw = null;
  75 + $dbh = null;
  76 + retornaJSON ( $dados );
  77 + exit ();
  78 + break;
  79 + case "LISTAUNICO" :
  80 + $dados = pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_sistemasf WHERE id_funcao = '$id_funcao'", $dbh, false);
  81 + if ($dados === false) {
  82 + $dbhw = null;
  83 + $dbh = null;
  84 + header ( "HTTP/1.1 500 erro ao consultar banco de dados tabela de pranchas" );
  85 + exit ();
  86 + }
  87 + $dbhw = null;
  88 + $dbh = null;
  89 + retornaJSON ( array("dados"=>$dados[0]) );
  90 + break;
  91 + case "LISTA" :
  92 + $dados = pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_sistemasf where id_sistema = $id_sistema", $dbh, false);
  93 + if ($dados === false) {
  94 + $dbhw = null;
  95 + $dbh = null;
  96 + header ( "HTTP/1.1 500 erro ao consultar banco de dados tabela de pranchas" );
  97 + exit ();
  98 + }
  99 + $perfis = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by perfil", $dbh, false );
  100 + $dbhw = null;
  101 + $dbh = null;
  102 + retornaJSON ( array("dados"=>$dados, "perfis"=>$perfis) );
  103 + break;
  104 + case "EXCLUIR" :
  105 + $retorna = excluir ( $id_funcao, $dbhw );
  106 + $dbhw = null;
  107 + $dbh = null;
  108 + if ($retorna === false) {
  109 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  110 + exit ();
  111 + }
  112 + retornaJSON ( $id_funcao );
  113 + exit ();
  114 + break;
  115 +}
  116 +cpjson ( $retorno );
  117 +
  118 +function adicionar( $id_sistema,$nome_funcao,$abrir_funcao,$h_funcao,$w_funcao,$perfil_funcao, $dbhw) {
  119 + global $esquemaadmin;
  120 + try {
  121 + $dataCol = array(
  122 + "nome_funcao" => '',
  123 + "perfil_funcao" => '',
  124 + "w_funcao" => '',
  125 + "h_funcao" => '',
  126 + "abrir_funcao" => '',
  127 + "id_sistema" => $id_sistema
  128 + );
  129 + $id_funcao = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_sistemasf",$dataCol,"nome_funcao","id_funcao");
  130 + $retorna = alterar ( $id_funcao,$nome_funcao,$abrir_funcao,$h_funcao,$w_funcao,$perfil_funcao, $dbhw );
  131 +
  132 + return $retorna;
  133 + } catch ( PDOException $e ) {
  134 + return false;
  135 + }
  136 +}
  137 +// $papeis deve ser um array
  138 +function alterar($id_funcao,$nome_funcao,$abrir_funcao,$h_funcao,$w_funcao,$perfil_funcao, $dbhw) {
  139 + global $convUTF, $esquemaadmin;
  140 + if ($convUTF != true){
  141 + $nome_funcao = utf8_encode($nome_funcao);
  142 + }
  143 + $dataCol = array(
  144 + "nome_funcao" => $nome_funcao,
  145 + "perfil_funcao" => $perfil_funcao,
  146 + "w_funcao" => $w_funcao,
  147 + "h_funcao" => $h_funcao,
  148 + "abrir_funcao" => $abrir_funcao
  149 + );
  150 + $resultado = i3GeoAdminUpdate ( $dbhw, "i3geoadmin_sistemasf", $dataCol, "WHERE id_funcao = $id_funcao" );
  151 + if ($resultado === false) {
  152 + return false;
  153 + }
  154 + return $id_funcao;
  155 +}
  156 +function excluir($id_funcao, $dbhw) {
  157 + global $esquemaadmin;
  158 + $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_sistemasf", "id_funcao", $id_funcao, $dbhw, false );
  159 + if ($resultado === false) {
  160 + return false;
  161 + }
  162 + return $resultado;
  163 +}
  164 +?>
... ...
admin1/cadastros/sistemas/funcoes/index.js 0 → 100755
... ... @@ -0,0 +1,247 @@
  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.funcao = {
  26 + id_sistema: "",
  27 + //variavel global indicando o elemento que recebera a lista de menus
  28 + ondeLista: "",
  29 + //conteudo html do formulario de adicao de operacao
  30 + formAdiciona: "",
  31 + //parametros obtidos do formulario de edicao antes de abrir o modal de confirmacao
  32 + parametrosSalvar: "",
  33 + init: function(onde){
  34 + i3GEOadmin.funcao.ondeLista = onde;
  35 + i3GEOadmin.funcao.lista();
  36 + },
  37 + /*
  38 +Function: lista
  39 +
  40 +Obt&eacute;m a lista
  41 + */
  42 + lista: function(){
  43 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.funcao.ondeLista);
  44 + $.post(
  45 + "exec.php?funcao=lista",
  46 + "id_sistema=" + i3GEOadmin.funcao.id_sistema
  47 + )
  48 + .done(
  49 + function(data, status){
  50 + //valor do filtro atual
  51 + var filtro = i3GEOadmin.core.valorFiltro();
  52 + //objeto json com os dados viondos do banco
  53 + var json = jQuery.parseJSON(data);
  54 + //template do form de cada operacao
  55 + var templateLista = $("#templateLista").html();
  56 + //lista todas as menus
  57 + var html = Mustache.to_html(
  58 + "{{#data}}" + templateLista + "{{/data}}",
  59 + $.extend(
  60 + {},
  61 + i3GEOadmin.funcao.dicionario,
  62 + {
  63 + "data": json["dados"],
  64 + "onExcluir": "i3GEOadmin.funcao.excluirDialogo",//funcao
  65 + "onEditar": "i3GEOadmin.funcao.editarDialogo"//funcao
  66 + }
  67 + )
  68 + );
  69 + i3GEOadmin.funcao.ondeLista.html(html);
  70 + //filtro
  71 + html = Mustache.to_html(
  72 + "{{#data}}" + $("#templateFiltro").html() + "{{/data}}",
  73 + {"data":json["dados"]}
  74 + );
  75 + $("#filtro").html("<option value='' >Todos</option>" + html);
  76 + $("#filtro").combobox();
  77 + $(".ui-autocomplete-input").attr( "title", "Filtro" );
  78 +
  79 + if(filtro != ""){
  80 + i3GEOadmin.core.defineFiltro(filtro);
  81 + i3GEOadmin.core.filtra(i3GEOadmin.funcao.pegaFiltro());
  82 + }
  83 + //monta um template para o modal de inclusao de novo usuario
  84 + if(i3GEOadmin.funcao.formAdiciona == ""){
  85 + html = Mustache.to_html(
  86 + $("#templateFormLista").html(),
  87 + $.extend(
  88 + {},
  89 + i3GEOadmin.funcao.dicionario,
  90 + {
  91 + "id_funcao": "modal",
  92 + "escondido": "hidden",
  93 + "funcaos": "",
  94 + "excluir": i3GEOadmin.funcao.dicionario.cancelar,
  95 + "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao
  96 + "onSalvar": "i3GEOadmin.funcao.adiciona",//funcao
  97 + "editarTema": ""
  98 + }
  99 + )
  100 + );
  101 + i3GEOadmin.funcao.formAdiciona = html;
  102 + }
  103 + $.material.init();
  104 + }
  105 + )
  106 + .fail(function(data){
  107 + i3GEOadmin.funcao.ondeLista.html("");
  108 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  109 + });
  110 + },
  111 + editarDialogo: function(id){
  112 + i3GEOadmin.core.fechaModalGeral();
  113 + i3GEOadmin.core.modalAguarde(true);
  114 + $.post(
  115 + "exec.php?funcao=listaunico",
  116 + "id_funcao=" + id
  117 + )
  118 + .done(
  119 + function(data, status){
  120 + var json = jQuery.parseJSON(data);
  121 + var templateLista = $("#templateFormLista").html();
  122 + //lista todas as menus
  123 + var html = Mustache.to_html(
  124 + "{{#data}}" + templateLista + "{{/data}}",
  125 + $.extend(
  126 + {},
  127 + i3GEOadmin.funcao.dicionario,
  128 + {
  129 + "data": json["dados"],
  130 + "onExcluir": "i3GEOadmin.funcao.excluirDialogo",//funcao
  131 + "onSalvar": "i3GEOadmin.funcao.salvarDialogo"//funcao
  132 + }
  133 + )
  134 + );
  135 + i3GEOadmin.core.abreModalGeral(html);
  136 + }
  137 + )
  138 + .fail(
  139 + function(data){
  140 + i3GEOadmin.core.modalAguarde(false);
  141 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  142 + }
  143 + );
  144 + },
  145 + adicionaDialogo: function(){
  146 + i3GEOadmin.core.abreModalGeral(i3GEOadmin.funcao.formAdiciona);
  147 + },
  148 +// os parametros sao obtidos do formulario aberto do modal
  149 + adiciona: function(){
  150 + var parametros = $("#modalGeral form").serialize();
  151 + i3GEOadmin.core.fechaModalGeral();
  152 + i3GEOadmin.core.modalAguarde(true);
  153 + $.post(
  154 + "exec.php?funcao=adicionar",
  155 + parametros + "&id_sistema=" + i3GEOadmin.funcao.id_sistema
  156 + )
  157 + .done(
  158 + function(data, status){
  159 + i3GEOadmin.core.modalAguarde(false);
  160 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.funcao.ondeLista);
  161 + i3GEOadmin.funcao.lista();
  162 + }
  163 + )
  164 + .fail(
  165 + function(data){
  166 + i3GEOadmin.core.modalAguarde(false);
  167 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  168 + }
  169 + );
  170 + },
  171 + excluirDialogo: function(id){
  172 + var hash = {
  173 + "mensagem": i3GEOadmin.funcao.dicionario.confirma,
  174 + "onBotao1": "i3GEOadmin.funcao.excluir('"+id+"')",
  175 + "botao1": i3GEOadmin.funcao.dicionario.sim,
  176 + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();",
  177 + "botao2": i3GEOadmin.funcao.dicionario.nao
  178 + };
  179 + i3GEOadmin.core.abreModalConfirma(hash);
  180 + },
  181 + excluir: function(id){
  182 + i3GEOadmin.core.modalAguarde(true);
  183 + $.post(
  184 + "exec.php?funcao=excluir",
  185 + "id_funcao=" + id + "&id_sistema=" + i3GEOadmin.funcao.id_sistema
  186 + )
  187 + .done(
  188 + function(data, status){
  189 + i3GEOadmin.core.modalAguarde(false);
  190 + var json = jQuery.parseJSON(data)*1;
  191 + $("#form-" + json).remove();
  192 + }
  193 + )
  194 + .fail(
  195 + function(data){
  196 + i3GEOadmin.core.modalAguarde(false);
  197 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  198 + }
  199 + );
  200 + },
  201 + salvarDialogo: function(id){
  202 + i3GEOadmin.funcao.parametrosSalvar = $("#form-edicao-" + id).serialize();
  203 + var hash = {
  204 + "mensagem": i3GEOadmin.funcao.dicionario.confirma,
  205 + "onBotao1": "i3GEOadmin.funcao.salvar('"+id+"')",
  206 + "botao1": i3GEOadmin.funcao.dicionario.sim,
  207 + "onBotao2": "i3GEOadmin.funcao.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();",
  208 + "botao2": i3GEOadmin.funcao.dicionario.nao
  209 + };
  210 + i3GEOadmin.core.abreModalConfirma(hash);
  211 + },
  212 + salvar: function(id){
  213 + var parametros = i3GEOadmin.funcao.parametrosSalvar;
  214 + i3GEOadmin.core.fechaModalGeral();
  215 + i3GEOadmin.core.modalAguarde(true);
  216 + $.post(
  217 + "exec.php?funcao=alterar",
  218 + "id_funcao="+ id + "&"+parametros + "&id_sistema=" + i3GEOadmin.funcao.id_sistema
  219 + )
  220 + .done(
  221 + function(data, status){
  222 + i3GEOadmin.core.modalAguarde(false);
  223 + i3GEOadmin.funcao.parametrosSalvar = '';
  224 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.funcao.ondeLista);
  225 + i3GEOadmin.funcao.lista();
  226 + }
  227 + )
  228 + .fail(
  229 + function(data){
  230 + i3GEOadmin.core.modalAguarde(false);
  231 + i3GEOadmin.funcao.parametrosSalvar = '';
  232 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  233 + }
  234 + );
  235 + },
  236 + editarTemas: function(id_sistema, id_funcao,titulo_funcao){
  237 + //muda a url para que o usuario possa voltar pelo botao do navegador
  238 + var u = window.location.origin + window.location.pathname + "?id_sistema=" + id_sistema + "&id_filtro=" + id_funcao;
  239 + window.history.replaceState(null,null,u);
  240 + //abre a pagina de edicao
  241 + window.location.href = "temas/index.php?id_funcao=" + id_funcao + "&titulo_funcao=" + titulo_funcao + "&id_sistema=" + id_sistema;
  242 + },
  243 + addInput: function(id,valor){
  244 + var i = $("#"+id);
  245 + $(i.val(i.val() + ' ' + valor));
  246 + }
  247 +};
0 248 \ No newline at end of file
... ...
admin1/cadastros/sistemas/funcoes/index.php 0 → 100755
... ... @@ -0,0 +1,169 @@
  1 +<?php
  2 +define ( ONDEI3GEO, "../../../.." );
  3 +include (dirname ( __FILE__ ) . "/../../../../ms_configura.php");
  4 +error_reporting ( 0 );
  5 +include "../../../head.php";
  6 +$id_sistema = filter_var($_GET["id_sistema"], FILTER_SANITIZE_NUMBER_INT);
  7 +$nome_sistema = filter_var($_GET["nome_sistema"], FILTER_SANITIZE_STRING);
  8 +?>
  9 +<div class="container-fluid migalha">
  10 + <div class="row">
  11 + <div class="btn-group btn-breadcrumb">
  12 + <a class="btn btn-default" href="../../../../init/index.php"><div>i3Geo</div></a>
  13 + <a class="btn btn-default" href="../../../index.php"><div>Admin</div></a>
  14 + <a class="btn btn-default" style="pointer-events: none"><div>Cat&aacute;logo</div></a>
  15 + <a class="btn btn-default" href="../index.php"><div>Sistemas</div></a>
  16 + <a class="btn btn-default" style="pointer-events: none"><div>Fun&ccedil;&otilde;es</div></a>
  17 + </div>
  18 + </div>
  19 +</div>
  20 +<div class="container">
  21 + <div class="row center-block">
  22 + <div class="col-md-12" id="titulo">
  23 + <div class="well hidden" >
  24 + <button data-toggle="modal" data-target="#ajudaPrincipal"
  25 + class="btn btn-primary btn-fab btn-fab-mini pull-right">
  26 + <i class="material-icons">help</i>
  27 + </button>
  28 + <h2><small>{{{txtTituloFuncao}}}</small></h2>
  29 + <h3><small>{{{sistema}}}: <?php echo $nome_sistema; ?></small></h3>
  30 + <blockquote>{{{txtDescFuncao}}}</blockquote>
  31 + <!-- aqui entra o filtro -->
  32 + <div class="form-group">
  33 +
  34 + <select title="{{{filtro}}}" onchange="i3GEOadmin.core.filtra(this)" id="filtro" class="form-control input-lg">
  35 + </select>
  36 + </div>
  37 + <div class="clearfix"></div>
  38 + <div id="ajudaPrincipal" class="modal fade" tabindex="-1">
  39 + <div class="modal-dialog">
  40 + <div class="modal-content">
  41 + <div class="modal-body">
  42 + <p>{{{txtAjuda}}}</p>
  43 + </div>
  44 + </div>
  45 + </div>
  46 + </div>
  47 + </div>
  48 + <div class="well hidden">
  49 + <div class="row pull-right">
  50 + <a onclick="i3GEOadmin.funcao.adicionaDialogo();" href="javascript:void(0)" class="btn btn-primary" style="color:#008579;" role="button" >{{{adicionar}}}</a>
  51 + </div>
  52 + <div class="clearfix"></div>
  53 + <div id="corpo">
  54 + </div>
  55 + </div>
  56 + </div>
  57 + </div>
  58 +</div>
  59 +<script id="templateFiltro" type="x-tmpl-mustache">
  60 +<option value="form-{{id_funcao}}">{{{nome_funcao}}}</option>
  61 +</script>
  62 +<script id="templateFormLista" type="x-tmpl-mustache">
  63 +<form id="form-edicao-{{id_funcao}}" style="" action="#" onsubmit="{{onSalvar}}('{{id_funcao}}');return false;" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" role="form" method="post" >
  64 + <div class="row">
  65 + <div class="col-md-12">
  66 + <div class="form-group form-group-lg">
  67 + <label class="col-md-4 control-label" for="nome_funcao" >{{{funcao}}}</label>
  68 + <div class="col-md-8">
  69 + <input title="{{{titulo}}}" type="text" value="{{{nome_funcao}}}" class="form-control" name="nome_funcao" required>
  70 + </div>
  71 + </div>
  72 + <div class="form-group form-group-lg">
  73 + <label class="col-md-4 control-label" for="abrir_funcao" >{{{programa}}}</label>
  74 + <div class="col-md-8">
  75 + <input title="{{{programa}}}" type="text" value="{{{abrir_funcao}}}" class="form-control" name="abrir_funcao" >
  76 + </div>
  77 + </div>
  78 + <div class="form-group form-group-lg">
  79 + <label class="col-md-4 control-label" for="w_funcao" >{{{largura}}}</label>
  80 + <div class="col-md-8">
  81 + <input title="{{{largura}}}" type="text" value="{{{w_funcao}}}" class="form-control" name="w_funcao" >
  82 + </div>
  83 + </div>
  84 + <div class="form-group form-group-lg">
  85 + <label class="col-md-4 control-label" for="h_funcao" >{{{altura}}}</label>
  86 + <div class="col-md-8">
  87 + <input title="{{{altura}}}" type="text" value="{{{h_funcao}}}" class="form-control" name="h_funcao" >
  88 + </div>
  89 + </div>
  90 + <div class="form-group form-group-lg">
  91 + <label class="col-md-3 control-label" for="perfil_funcao">{{{perfilAjuda}}}</label>
  92 + <div class="col-md-5">
  93 + <input title="{{{perfilAjuda}}}" id="perfil-{{id_funcao}}" type="text" value="{{{perfil_funcao}}}" class="form-control"
  94 + name="perfil_funcao">
  95 + </div>
  96 + <div class="col-md-4">
  97 + <select title="{{{perfilAjuda}}}" class="form-control"
  98 + onchange="i3GEOadmin.funcao.addPerfil('perfil-{{id_funcao}}',this.value)"> {{{opcoesPerfil}}}
  99 + </select>
  100 + </div>
  101 + </div>
  102 + </div>
  103 + </div>
  104 + <div class="pull-right">
  105 + <button type="submit" class="btn btn-primary" role="button" style="color:#008579;">{{salvar}}</button>
  106 + </div>
  107 + <div class="clearfix"></div>
  108 +</form>
  109 +</script>
  110 +<script id="templateLista" type="x-tmpl-mustache">
  111 +<div class="list-group-item" id="form-{{id_funcao}}">
  112 + <div class="row-content">
  113 + <h3 class="list-group-item-heading {{escondido}}">
  114 + <span class="pull-right">&nbsp;&nbsp;</span>
  115 + <a href="javascript:void(0)" onclick="{{onEditar}}('{{id_funcao}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button">
  116 + <i class="material-icons md-18">edit</i>
  117 + </a>
  118 + <span class="pull-right">&nbsp;&nbsp;</span>
  119 + <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_funcao}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button">
  120 + <i class="material-icons md-18">delete_forever</i>
  121 + </a>
  122 + {{{nome_funcao}}}
  123 + </h3>
  124 + </div>
  125 + <div class="list-group-separator"></div>
  126 +</div>
  127 +</script>
  128 +<script type="text/javascript" src="index.js"></script>
  129 +<script type="text/javascript" src="../../../dicionario/sistemas.js"></script>
  130 +<script>
  131 + $(document).ready(function(){
  132 + //vem de admin1/index.js
  133 + iniciaMenuPrincipal();
  134 + $('ul.dropdown-menu [data-toggle=dropdown]').on('click', function(event) {
  135 + event.preventDefault();
  136 + event.stopPropagation();
  137 + $(this).parent().siblings().removeClass('open');
  138 + $(this).parent().toggleClass('open');
  139 + });
  140 + //traducao
  141 + var t = $("#titulo");
  142 + //complementa dicionario
  143 + i3GEOadmin.funcao.dicionario = $.extend(
  144 + {},
  145 + i3GEOadmin.sistemas.dicionario,
  146 + i3GEOadmin.core.dicionario
  147 + );
  148 +
  149 + i3GEOadmin.core.dicionario = null;
  150 +
  151 + i3GEOadmin.funcao.dicionario = i3GEO.idioma.objetoIdioma(i3GEOadmin.funcao.dicionario);
  152 +
  153 + t.html(
  154 + Mustache.to_html(
  155 + t.html(),
  156 + i3GEOadmin.funcao.dicionario
  157 + )
  158 + );
  159 + $.material.init();
  160 + i3GEOadmin.funcao.id_sistema = <?php echo $id_sistema; ?>;
  161 + var inicia = function() {
  162 + $(".hidden").removeClass('hidden');
  163 + i3GEOadmin.funcao.init($("#corpo"));
  164 + };
  165 + i3GEO.login.verificaOperacao("admin/html/sistemas",i3GEO.configura.locaplic, inicia, "sessao");
  166 + });
  167 +</script>
  168 +</body>
  169 +</html>
... ...
admin1/cadastros/sistemas/index.js 0 → 100755
... ... @@ -0,0 +1,283 @@
  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.sistemas = {
  26 + //variavel global indicando o elemento que recebera a lista de menus
  27 + ondeLista: "",
  28 + //conteudo html do formulario de adicao de operacao
  29 + formAdiciona: "",
  30 + //parametros obtidos do formulario de edicao antes de abrir o modal de confirmacao
  31 + parametrosSalvar: "",
  32 + init: function(onde){
  33 + i3GEOadmin.sistemas.ondeLista = onde;
  34 + i3GEOadmin.sistemas.lista();
  35 + },
  36 + /*
  37 +Function: lista
  38 +
  39 +Obt&eacute;m a lista
  40 + */
  41 + lista: function(){
  42 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.sistemas.ondeLista);
  43 + $.post(
  44 + "exec.php?funcao=lista"
  45 + )
  46 + .done(
  47 + function(data, status){
  48 + //valor do filtro atual
  49 + var filtro = i3GEOadmin.core.valorFiltro();
  50 + //objeto json com os dados viondos do banco
  51 + var json = jQuery.parseJSON(data);
  52 + //template do form de cada operacao
  53 + var templateLista = $("#templateLista").html();
  54 + //combo com perfis
  55 + var opcoesPerfil = '<option value="">---</option>' + Mustache.to_html(
  56 + "{{#data}}" + $("#templateOpcoesPerfil").html() + "{{/data}}",
  57 + {"data":json["perfis"]}
  58 + );
  59 + //lista todas as menus
  60 + var html = Mustache.to_html(
  61 + "{{#data}}" + templateLista + "{{/data}}",
  62 + $.extend(
  63 + {},
  64 + i3GEOadmin.sistemas.dicionario,
  65 + {
  66 + "data": json["dados"],
  67 + "onExcluir": "i3GEOadmin.sistemas.excluirDialogo",//funcao
  68 + "onEditar": "i3GEOadmin.sistemas.editarDialogo"
  69 + }
  70 + )
  71 + );
  72 + i3GEOadmin.sistemas.ondeLista.html(html);
  73 + //filtro
  74 + html = Mustache.to_html(
  75 + "{{#data}}" + $("#templateFiltro").html() + "{{/data}}",
  76 + {"data":json["dados"]}
  77 + );
  78 + $("#filtro").html("<option value='' >Todos</option>" + html);
  79 + $("#filtro").combobox();
  80 + $(".ui-autocomplete-input").attr( "title", "Filtro" );
  81 +
  82 + if(filtro != ""){
  83 + i3GEOadmin.core.defineFiltro(filtro);
  84 + i3GEOadmin.core.filtra(i3GEOadmin.core.pegaFiltro());
  85 + }
  86 + //monta um template para o modal de inclusao de novo usuario
  87 + if(i3GEOadmin.sistemas.formAdiciona == ""){
  88 + html = Mustache.to_html(
  89 + $("#templateFormLista").html(),
  90 + $.extend(
  91 + {},
  92 + i3GEOadmin.sistemas.dicionario,
  93 + {
  94 + "id_sistema": "modal",
  95 + "escondido": "hidden",
  96 + "funcoes": "",
  97 + "excluir": i3GEOadmin.sistemas.dicionario.cancelar,
  98 + "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao
  99 + "onSalvar": "i3GEOadmin.sistemas.adiciona",//funcao
  100 + "opcoesPublicado": function(){
  101 + var hash = {};
  102 + hash["sim"] = i3GEOadmin.sistemas.dicionario.sim;
  103 + hash["nao"] = i3GEOadmin.sistemas.dicionario.nao;
  104 + return Mustache.to_html(
  105 + $("#templateOpcoesPublicado").html(),
  106 + hash
  107 + );
  108 + },
  109 + "opcoesPerfil": opcoesPerfil
  110 + }
  111 + )
  112 + );
  113 + i3GEOadmin.sistemas.formAdiciona = html;
  114 + }
  115 + $.material.init();
  116 + }
  117 + )
  118 + .fail(function(data){
  119 + i3GEOadmin.sistemas.ondeLista.html("");
  120 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  121 + });
  122 + },
  123 + editarDialogo: function(id){
  124 + i3GEOadmin.core.fechaModalGeral();
  125 + i3GEOadmin.core.modalAguarde(true);
  126 + $.post(
  127 + "exec.php?funcao=listaunico",
  128 + "id_sistema=" + id
  129 + )
  130 + .done(
  131 + function(data, status){
  132 + var json = jQuery.parseJSON(data);
  133 + var templateLista = $("#templateFormLista").html();
  134 + var html = Mustache.to_html(
  135 + "{{#data}}" + templateLista + "{{/data}}",
  136 + $.extend(
  137 + {},
  138 + i3GEOadmin.sistemas.dicionario,
  139 + {
  140 + "data": json["dados"],
  141 + "onExcluir": "i3GEOadmin.sistemas.excluirDialogo",//funcao
  142 + "onSalvar": "i3GEOadmin.sistemas.salvarDialogo",//funcao
  143 + "opcoesPublicado": function(){
  144 + var hash = {};
  145 + hash["sim"] = i3GEOadmin.sistemas.dicionario.sim;
  146 + hash["nao"] = i3GEOadmin.sistemas.dicionario.nao;
  147 + if(this.publicado_sistemas == ""){
  148 + this.publicado_sistemas = "SIM";
  149 + }
  150 + hash[this.publicado_sistemas + "-sel"] = "selected";
  151 + return Mustache.to_html(
  152 + $("#templateOpcoesPublicado").html(),
  153 + hash
  154 + );
  155 + },
  156 + "opcoesTipoGuia": function(){
  157 + var hash = {};
  158 + hash[this.tipoguias_sistemas + "-sel"] = "selected";
  159 + return Mustache.to_html(
  160 + $("#templateOpcoesTipoGuia").html(),
  161 + hash
  162 + );
  163 + }
  164 + }
  165 + )
  166 + );
  167 + i3GEOadmin.core.abreModalGeral(html);
  168 + }
  169 + )
  170 + .fail(
  171 + function(data){
  172 + i3GEOadmin.core.modalAguarde(false);
  173 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  174 + }
  175 + );
  176 + },
  177 + adicionaDialogo: function(){
  178 + i3GEOadmin.core.abreModalGeral(i3GEOadmin.sistemas.formAdiciona);
  179 + },
  180 +// os parametros sao obtidos do formulario aberto do modal
  181 + adiciona: function(){
  182 + var parametros = $("#modalGeral form").serialize();
  183 + i3GEOadmin.core.fechaModalGeral();
  184 + i3GEOadmin.core.modalAguarde(true);
  185 + $.post(
  186 + "exec.php?funcao=adicionar",
  187 + parametros
  188 + )
  189 + .done(
  190 + function(data, status){
  191 + i3GEOadmin.core.modalAguarde(false);
  192 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.sistemas.ondeLista);
  193 + i3GEOadmin.sistemas.lista();
  194 + }
  195 + )
  196 + .fail(
  197 + function(data){
  198 + i3GEOadmin.core.modalAguarde(false);
  199 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  200 + }
  201 + );
  202 + },
  203 + excluirDialogo: function(id){
  204 + var hash = {
  205 + "mensagem": i3GEOadmin.sistemas.dicionario.confirma,
  206 + "onBotao1": "i3GEOadmin.sistemas.excluir('"+id+"')",
  207 + "botao1": i3GEOadmin.sistemas.dicionario.sim,
  208 + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();",
  209 + "botao2": i3GEOadmin.sistemas.dicionario.nao
  210 + };
  211 + i3GEOadmin.core.abreModalConfirma(hash);
  212 + },
  213 + excluir: function(id){
  214 + i3GEOadmin.core.modalAguarde(true);
  215 + $.post(
  216 + "exec.php?funcao=excluir",
  217 + "id_sistema="+id
  218 + )
  219 + .done(
  220 + function(data, status){
  221 + i3GEOadmin.core.modalAguarde(false);
  222 + var json = jQuery.parseJSON(data)*1;
  223 + $("#form-" + json).remove();
  224 + }
  225 + )
  226 + .fail(
  227 + function(data){
  228 + i3GEOadmin.core.modalAguarde(false);
  229 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  230 + }
  231 + );
  232 + },
  233 + salvarDialogo: function(id){
  234 + i3GEOadmin.sistemas.parametrosSalvar = $("#form-edicao-" + id).serialize();
  235 + var hash = {
  236 + "mensagem": i3GEOadmin.sistemas.dicionario.confirma,
  237 + "onBotao1": "i3GEOadmin.sistemas.salvar('"+id+"')",
  238 + "botao1": i3GEOadmin.sistemas.dicionario.sim,
  239 + "onBotao2": "i3GEOadmin.sistemas.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();",
  240 + "botao2": i3GEOadmin.sistemas.dicionario.nao
  241 + };
  242 + i3GEOadmin.core.abreModalConfirma(hash);
  243 + },
  244 + salvar: function(id){
  245 + var parametros = i3GEOadmin.sistemas.parametrosSalvar;
  246 + i3GEOadmin.core.fechaModalGeral();
  247 + i3GEOadmin.core.modalAguarde(true);
  248 + $.post(
  249 + "exec.php?funcao=alterar",
  250 + "id_sistema="+ id+"&"+parametros
  251 + )
  252 + .done(
  253 + function(data, status){
  254 + i3GEOadmin.core.modalAguarde(false);
  255 + i3GEOadmin.sistemas.parametrosSalvar = '';
  256 + i3GEOadmin.core.iconeAguarde(i3GEOadmin.sistemas.ondeLista);
  257 + i3GEOadmin.sistemas.lista();
  258 + }
  259 + )
  260 + .fail(
  261 + function(data){
  262 + i3GEOadmin.core.modalAguarde(false);
  263 + i3GEOadmin.sistemas.parametrosSalvar = '';
  264 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  265 + }
  266 + );
  267 + },
  268 + addPerfil: function(id,valor){
  269 + var i = $("#"+id);
  270 + $(i.val(i.val() + ' ' + valor));
  271 + },
  272 + editarFuncoes: function(id_sistema,nome_sistema){
  273 + //muda a url para que o usuario possa voltar pelo botao do navegador
  274 + var u = window.location.origin + window.location.pathname + "?id_filtro=" + id_sistema;
  275 + window.history.replaceState(null,null,u);
  276 + //abre a pagina de edicao
  277 + window.location.href = "funcoes/index.php?id_sistema=" + id_sistema + "&nome_sistema=" + nome_sistema;
  278 + },
  279 + addInput: function(id,valor){
  280 + var i = $("#"+id);
  281 + $(i.val(i.val() + ' ' + valor));
  282 + }
  283 +};
0 284 \ No newline at end of file
... ...
admin1/cadastros/sistemas/index.php
... ... @@ -9,18 +9,112 @@ include &quot;../../head.php&quot;;
9 9 <div class="btn-group btn-breadcrumb">
10 10 <a class="btn btn-default" href="../../../init/index.php"><div>i3Geo</div></a>
11 11 <a class="btn btn-default" href="../../index.php"><div>Admin</div></a>
12   - <a class="btn btn-default" style="pointer-events: none"><div>Cadastros</div></a>
  12 + <a class="btn btn-default" style="pointer-events: none"><div>Cat&aacute;logo</div></a>
13 13 <a class="btn btn-default" style="pointer-events: none"><div>Sistemas</div></a>
14 14 </div>
15 15 </div>
16 16 </div>
  17 +<div class="container">
  18 + <div class="row center-block">
  19 + <div class="col-md-12" id="titulo">
  20 + <div class="well hidden" >
  21 + <h2><small>{{{txtTitulo}}}</small></h2>
  22 + <blockquote>{{{txtDesc}}}</blockquote>
  23 + <!-- aqui entra o filtro -->
  24 + <div class="form-group">
  25 + <select title="{{{filtro}}}" onchange="i3GEOadmin.core.filtra(this)" id="filtro" class="form-control input-lg">
  26 + </select>
  27 + </div>
17 28  
18   -<div class="container-fluid">
  29 + <div class="clearfix"></div>
  30 + </div>
  31 + <div class="well hidden">
  32 + <div class="row pull-right">
  33 + <a onclick="i3GEOadmin.sistemas.adicionaDialogo();" href="javascript:void(0)" class="btn btn-primary" style="color:#008579;" role="button">{{{adicionar}}}</a>
  34 + </div>
  35 + <div class="clearfix"></div>
  36 + <div id="corpo">
  37 + </div>
  38 + </div>
  39 + </div>
  40 + </div>
  41 +</div>
  42 +<script id="templateFiltro" type="x-tmpl-mustache">
  43 +<option value="form-{{id_sistema}}">{{{nome_sistema}}}</option>
  44 +</script>
  45 +<script id="templateFormLista" type="x-tmpl-mustache">
  46 +<form id="form-edicao-{{id_sistema}}" style="" action="#" onsubmit="{{onSalvar}}('{{id_sistema}}');return false;" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" role="form" method="post" >
19 47 <div class="row">
20   - <iframe src="../../../admin/html/sistemas_.html"
21   - style="width: 100%; height: 5000px; border: none; scrolling: no; frameborder: 0; marginheight: 0; marginwidth: 0;"></iframe>
  48 + <div class="col-md-12">
  49 + <div class="form-group form-group-lg">
  50 + <label class="col-md-4 control-label" for="nome_sistema" >{{{sistema}}}</label>
  51 + <div class="col-md-8">
  52 + <input title="{{{nome_sistema}}}" type="text" value="{{{nome_sistema}}}" class="form-control" name="nome_sistema" required>
  53 + </div>
  54 + </div>
  55 +
  56 + <div class="form-group form-group-lg">
  57 + <label class="col-md-4 control-label" for="publicado_sistema">{{{publicado}}}</label>
  58 + <div class="col-md-8">
  59 + <select title="{{{publicado}}}" name="publicado_sistema" class="form-control">
  60 + {{{opcoesPublicado}}}
  61 + </select>
  62 + </div>
  63 + </div>
  64 + <div class="form-group form-group-lg">
  65 + <label class="col-md-3 control-label" for="perfil_sistema">{{{perfilAjuda}}}</label>
  66 + <div class="col-md-5">
  67 + <input title="{{{perfilAjuda}}}" id="perfil-{{id_sistema}}" type="text" value="{{{perfil_sistema}}}" class="form-control"
  68 + name="perfil_sistema">
  69 + </div>
  70 + <div class="col-md-4">
  71 + <select title="{{{perfilAjuda}}}" class="form-control"
  72 + onchange="i3GEOadmin.sistemas.addPerfil('perfil-{{id_sistema}}',this.value)"> {{{opcoesPerfil}}}
  73 + </select>
  74 + </div>
  75 + </div>
  76 + </div>
22 77 </div>
  78 + <div class="pull-right">
  79 + <button type="submit" class="btn btn-primary" role="button" style="color:#008579;">{{salvar}}</button>
  80 + </div>
  81 + <div class="clearfix"></div>
  82 +</form>
  83 +</script>
  84 +<script id="templateLista" type="x-tmpl-mustache">
  85 +<div class="list-group-item" id="form-{{id_sistema}}">
  86 + <div class="row-content">
  87 + <h3 class="list-group-item-heading {{escondido}}">
  88 + <div class="pull-right">
  89 + <a role="button" class="btn btn-danger btn-fab btn-fab-mini pull-left" onclick="i3GEOadmin.sistemas.editarFuncoes('{{id_sistema}}','{{{nome_sistema}}}')" href="javascript:void(0)">
  90 + <i class="material-icons md-18">folder_open</i>
  91 + </a>
  92 + <label class=pull-right><h6 style="margin-top: 5px; margin-bottom: 5px;">&nbsp;{{{funcoes}}}</h6></label>
  93 + </div>
  94 + <span class="pull-right">&nbsp;&nbsp;</span>
  95 + <a href="javascript:void(0)" onclick="{{onEditar}}('{{id_sistema}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button">
  96 + <i class="material-icons md-18">edit</i>
  97 + </a>
  98 + <span class="pull-right">&nbsp;&nbsp;</span>
  99 + <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_sistema}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button">
  100 + <i class="material-icons md-18">delete_forever</i>
  101 + </a>
  102 + {{{nome_sistema}}}
  103 + </h3>
  104 + </div>
  105 + <div class="list-group-separator"></div>
23 106 </div>
  107 +</script>
  108 +<script id="templateOpcoesPerfil" type="x-tmpl-mustache">
  109 + <option value="{{{perfil}}}">{{{perfil}}}</option>
  110 +</script>
  111 +<script id="templateOpcoesPublicado" type="x-tmpl-mustache">
  112 + <option value="">---</option>
  113 + <option {{SIM-sel}} value="SIM">{{{sim}}}</option>
  114 + <option {{NAO-sel}} value="NAO">{{{nao}}}</option>
  115 +</script>
  116 +<script type="text/javascript" src="index.js"></script>
  117 +<script type="text/javascript" src="../../dicionario/sistemas.js"></script>
24 118 <script>
25 119 $(document).ready(function(){
26 120 //vem de admin1/index.js
... ... @@ -31,7 +125,36 @@ include &quot;../../head.php&quot;;
31 125 $(this).parent().siblings().removeClass('open');
32 126 $(this).parent().toggleClass('open');
33 127 });
  128 + //traducao
  129 + var t = $("#titulo");
  130 + //complementa dicionario
  131 + i3GEOadmin.sistemas.dicionario = $.extend(
  132 + {},
  133 + i3GEOadmin.sistemas.dicionario,
  134 + i3GEOadmin.core.dicionario
  135 + );
  136 +
  137 + i3GEOadmin.core.dicionario = null;
  138 +
  139 + i3GEOadmin.sistemas.dicionario = i3GEO.idioma.objetoIdioma(i3GEOadmin.sistemas.dicionario);
  140 +
  141 + t.html(
  142 + Mustache.to_html(
  143 + t.html(),
  144 + i3GEOadmin.sistemas.dicionario
  145 + )
  146 + );
34 147 $.material.init();
  148 + var inicia = function() {
  149 + //verifica se foi enviado um parametro de filtro pela url
  150 + var f = "<?php echo filter_var($_GET["id_filtro"], FILTER_SANITIZE_NUMBER_INT); ?>";
  151 + if(f != ""){
  152 + i3GEOadmin.core.initFiltro = "form-" + f;
  153 + }
  154 + $(".hidden").removeClass('hidden');
  155 + i3GEOadmin.sistemas.init($("#corpo"));
  156 + };
  157 + i3GEO.login.verificaOperacao("admin/html/sistemas",i3GEO.configura.locaplic, inicia, "sessao");
35 158 });
36 159 </script>
37 160 </body>
... ...
admin1/catalogo/menus/grupos/index.php
... ... @@ -30,7 +30,7 @@ $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   - <h2><small>{{{menu}}}: <?php echo $nome_menu; ?></small></h2>
  33 + <h4><small>{{{menu}}}:</small> <?php echo $nome_menu; ?></h4>
34 34 <blockquote>{{{txtDesc}}}</blockquote>
35 35  
36 36 <!-- aqui entra o filtro -->
... ...
admin1/catalogo/menus/grupos/subgrupos/index.php
... ... @@ -33,7 +33,8 @@ $nome_menu = filter_var ( $_GET [&quot;nome_menu&quot;], FILTER_SANITIZE_STRING );
33 33 class="btn btn-primary btn-fab btn-fab-mini pull-right">
34 34 <i class="material-icons">help</i>
35 35 </button>
36   - <h2><small>{{{txtTitulo}}}: <?php echo "$nome_menu -> $nome_grupo"; ?></small></h2>
  36 +
  37 + <h4><small>{{{menu}}}: </small><?php echo "$nome_menu <small>{{{txtTitulo}}}:</small> $nome_grupo "; ?></h4>
37 38 <blockquote>{{{txtDesc}}}</blockquote>
38 39 <!-- aqui entra o filtro -->
39 40 <div class="form-group">
... ...
admin1/catalogo/menus/grupos/subgrupos/temas/index.php
... ... @@ -24,8 +24,6 @@ $nome_subgrupo = filter_var ( $_GET [&quot;nome_subgrupo&quot;], FILTER_SANITIZE_STRING );
24 24 </div>
25 25 </div>
26 26 </div>
27   -
28   -
29 27 <div class="container" id="titulo">
30 28 <div class="row center-block">
31 29 <div class="col-md-12">
... ... @@ -34,10 +32,7 @@ $nome_subgrupo = filter_var ( $_GET [&quot;nome_subgrupo&quot;], FILTER_SANITIZE_STRING );
34 32 class="btn btn-primary btn-fab btn-fab-mini pull-right" style="left:10px">
35 33 <i class="material-icons">play_circle_outline</i>
36 34 </button>
37   -
38   - <h2>
39   - <small>{{{txtTitulo}}}: <?php echo $nome_subgrupo; ?></small>
40   - </h2>
  35 + <h4><small>{{{menu}}}: </small><?php echo "$nome_menu <small>{{{grupo}}}:</small> $nome_grupo <small>{{{txtTitulo}}}:</small> $nome_subgrupo"; ?></h4>
41 36 <blockquote>{{{txtDesc}}}</blockquote>
42 37 <!-- aqui entra o filtro -->
43 38 <div class="form-group">
... ...
admin1/dicionario/arvore.js
... ... @@ -12,7 +12,7 @@ i3GEOadmin.arvore.dicionario = {
12 12 es : ""
13 13 } ],
14 14 'txtAjuda' : [ {
15   - pt : "<p>Este formul&aacute;rio permite editar &aacute;rvore de temas que ser&aacute;utilizada pelo i3Geo.<p>A &aacute;rvore &eacute; composta de menus, grupos, subgrupos e temas. Vcdeve criar os menus, a lista de grupos e a lista de sub-grupos. Aocriar um menu, esse &eacute; mostrado imediatamente na &aacute;rvore.<p>Menus ou n&oacute;s da &aacute;rvore marcados como n&atilde;o publicados s&atilde;omostrados em vermelho e aparecem apenas para os administradores.<p>Em cada n&oacute; da &aacute;rvore podem ser associados os temas, mesmo naraiz de um dos n&iacute;veis. Os temas s&atilde;o arquivos mapfiles armazenadosem i3geo/temas e registrados no sistema de administra&ccedil;&atilde;o.<p>A cria&ccedil;&atilde;o de mapfiles e a vincula&ccedil;&atilde;o tema-mapfile &eacute; feitapor meio do editor de mapfiles, e consiste na determina&ccedil;&atilde;o de umnome para cada mapfile. Esse nome &eacute; listado ao ser adicionado umtema na &aacute;rvore.",
  15 + pt : "<p>Este formul&aacute;rio permite editar &aacute;rvore de temas que ser&aacute;utilizada pelo i3Geo.<p>A &aacute;rvore &eacute; composta de menus, grupos, subgrupos e temas. Vcdeve criar os menus, a lista de grupos e a lista de subgrupos. Aocriar um menu, esse &eacute; mostrado imediatamente na &aacute;rvore.<p>Menus ou n&oacute;s da &aacute;rvore marcados como n&atilde;o publicados s&atilde;omostrados em vermelho e aparecem apenas para os administradores.<p>Em cada n&oacute; da &aacute;rvore podem ser associados os temas, mesmo naraiz de um dos n&iacute;veis. Os temas s&atilde;o arquivos mapfiles armazenadosem i3geo/temas e registrados no sistema de administra&ccedil;&atilde;o.<p>A cria&ccedil;&atilde;o de mapfiles e a vincula&ccedil;&atilde;o tema-mapfile &eacute; feitapor meio do editor de mapfiles, e consiste na determina&ccedil;&atilde;o de umnome para cada mapfile. Esse nome &eacute; listado ao ser adicionado umtema na &aacute;rvore.",
16 16 en : "",
17 17 es : ""
18 18 } ],
... ...
admin1/dicionario/grupos.js
... ... @@ -42,7 +42,7 @@ i3GEOadmin.grupos.dicionario = {
42 42 es : ""
43 43 } ],
44 44 'txtAjuda' : [ {
45   - pt : "A &aacute;rvore &eacute; composta por n&iacute;veis hier&aacute;rquicos que iniciam com um menu, seguido de grupos e esses por subgrupos. Na raiz de cada n&iacute;vel podem existir temas, assim como no &uacute;ltimo n&iacute;vel (sub-grupos).",
  45 + pt : "A &aacute;rvore &eacute; composta por n&iacute;veis hier&aacute;rquicos que iniciam com um menu, seguido de grupos e esses por subgrupos. Na raiz de cada n&iacute;vel podem existir temas, assim como no &uacute;ltimo n&iacute;vel (subgrupos).",
46 46 en : "",
47 47 es : ""
48 48 } ],
... ...
admin1/dicionario/menus.js
... ... @@ -11,7 +11,7 @@ i3GEOadmin.menus.dicionario = {
11 11 es : ""
12 12 } ],
13 13 'txtAjuda' : [ {
14   - pt : "Este formul&aacute;rio permite editar a lista de menus que ser&aacute; utilizada pelo i3Geo.<p>A &aacute;rvore &eacute; composta de menus, grupos, subgrupos e temas. Vc deve criar os menus, a lista de grupos e a lista de sub-grupos. Ao criar um menu, esse &eacute; mostrado imediatamente na &aacute;rvore.<p>Menus ou n&oacute;s da &aacute;rvore marcados como n&atilde;o publicados s&atilde;o mostrados em vermelho e aparecem apenas para os administradores.<p>Em cada n&oacute; da &aacute;rvore podem ser associados os temas, mesmo na raiz de um dos n&iacute;veis. Os temas s&atilde;o arquivos mapfiles armazenados em i3geo/temas e registrados no sistema de administra&ccedil;&atilde;o.<p>A cria&ccedil;&atilde;o de mapfiles e a vincula&ccedil;&atilde;o tema-mapfile &eacute; feita por meio do editor de mapfiles, e consiste na determina&ccedil;&atilde;o de um nome para cada mapfile. Esse nome &eacute; listado ao ser adicionado um tema na &aacute;rvore.</div>",
  14 + pt : "Este formul&aacute;rio permite editar a lista de menus que ser&aacute; utilizada pelo i3Geo.<p>A &aacute;rvore &eacute; composta de menus, grupos, subgrupos e temas. Vc deve criar os menus, a lista de grupos e a lista de subgrupos. Ao criar um menu, esse &eacute; mostrado imediatamente na &aacute;rvore.<p>Menus ou n&oacute;s da &aacute;rvore marcados como n&atilde;o publicados s&atilde;o mostrados em vermelho e aparecem apenas para os administradores.<p>Em cada n&oacute; da &aacute;rvore podem ser associados os temas, mesmo na raiz de um dos n&iacute;veis. Os temas s&atilde;o arquivos mapfiles armazenados em i3geo/temas e registrados no sistema de administra&ccedil;&atilde;o.<p>A cria&ccedil;&atilde;o de mapfiles e a vincula&ccedil;&atilde;o tema-mapfile &eacute; feita por meio do editor de mapfiles, e consiste na determina&ccedil;&atilde;o de um nome para cada mapfile. Esse nome &eacute; listado ao ser adicionado um tema na &aacute;rvore.</div>",
15 15 en : "",
16 16 es : ""
17 17 } ],
... ...
admin1/dicionario/sistemas.js
1 1 //+$trad(1,i3GEOadmin.principal.dicionario)+
2   -i3GEOadmin.sistemas = {};
  2 +if (typeof (i3GEOadmin.sistemas) === 'undefined') {
  3 + i3GEOadmin.sistemas = {};
  4 +}
3 5 i3GEOadmin.sistemas.dicionario = {
4   - 'sistemas' : [ {
5   - pt : "Administra&ccedil;&atilde;o do i3geo - sistemas especiais",
  6 + 'txtDescFuncao' : [ {
  7 + pt : "As fun&ccedil;&otilde;es s&atilde;o programas que ser&atilde;o abertos em janelas flutuantes dentro do mapa",
  8 + en : "",
  9 + es : ""
  10 + } ],
  11 + 'txtTituloFuncao' : [ {
  12 + pt : "Fun&ccedil;&otilde;es do sistema",
  13 + en : "",
  14 + es : ""
  15 + } ],
  16 + 'txtTitulo' : [ {
  17 + pt : "Sistemas especiais que adicionam camadas",
6 18 en : "",
7 19 es : ""
8 20 } ],
... ... @@ -11,8 +23,8 @@ i3GEOadmin.sistemas.dicionario = {
11 23 en : "",
12 24 es : ""
13 25 } ],
14   - 'txtAjuda' : [ {
15   - pt : "Este programa permite editar a lista de sistemas especiais.<br><br>Sistemas especiais s&atilde;o utilizados para incluir camadas no i3geo tendo como base programas que interagem com o usu&aacute;rio de alguma forma espec&iacute;fica.<br> <br>Cada sistema pode ter um objetivo espec&iacute;fico e uma interface pr&oacute;pria. Normalmente s&atilde;o utilizados para realizar consultas a bancos de dados ou Web Services e gerar a camada para acrescentar ao mapa.<br> <br> Esses sistemas podem por exemplo, consultar bancos de dados estat&iacute;sticos para gerar cartogramas.<br> <br> A lista de sistemas &eacute; baseada no banco admin.db.<br> <br> A lista de IPs dos usu&aacute;rios que podem administrar o i3geo &eacute; definida no arquivo i3geo/ms_configura.php",
  26 + 'txtDesc' : [ {
  27 + pt : "Sistemas especiais s&atilde;o utilizados para incluir camadas no i3geo tendo como base programas que interagem com o usu&aacute;rio de alguma forma espec&iacute;fica. Cada sistema pode ter um objetivo espec&iacute;fico e uma interface pr&oacute;pria. Normalmente s&atilde;o utilizados para realizar consultas a bancos de dados ou Web Services e gerar a camada para acrescentar ao mapa. Esses sistemas podem por exemplo, consultar bancos de dados estat&iacute;sticos para gerar cartogramas.",
16 28 en : "",
17 29 es : ""
18 30 } ],
... ... @@ -91,8 +103,13 @@ i3GEOadmin.sistemas.dicionario = {
91 103 en : "",
92 104 es : ""
93 105 } ],
94   - '' : [ {
95   - pt : "",
  106 + 'funcoes' : [ {
  107 + pt : "fun&ccedil;&otilde;es",
  108 + en : "",
  109 + es : ""
  110 + } ],
  111 + 'perfilAjuda' : [ {
  112 + pt : "Perfis que podem visualizar esse sistema, separe por espa&ccedil;o e use a lista ao lado",
96 113 en : "",
97 114 es : ""
98 115 } ]
... ...