diff --git a/admin/admin.db b/admin/admin.db index 9618a4f..2790f65 100755 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin1/cadastros/sistemas/exec.php b/admin1/cadastros/sistemas/exec.php new file mode 100755 index 0000000..a1034bd --- /dev/null +++ b/admin1/cadastros/sistemas/exec.php @@ -0,0 +1,164 @@ +$dados[0]) ); + break; + case "LISTA" : + $dados = pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_sistemas ORDER BY lower(nome_sistema)", $dbh, false); + if ($dados === false) { + $dbhw = null; + $dbh = null; + header ( "HTTP/1.1 500 erro ao consultar banco de dados tabela de atlas" ); + exit (); + } + $perfis = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by perfil", $dbh, false ); + $dbhw = null; + $dbh = null; + retornaJSON ( array("dados"=>$dados, "perfis"=>$perfis) ); + break; + case "EXCLUIR" : + $funcoes = pegaDados("SELECT id_sistema from ".$esquemaadmin."i3geoadmin_sistemasf where id_sistema = '$id_sistema'"); + if(count($funcoes) > 0){ + header ( "HTTP/1.1 500 erro ao excluir. Exclua as funcoes do sistema primeiro" ); + exit (); + } + $retorna = excluir ( $id_sistema, $dbhw ); + $dbhw = null; + $dbh = null; + if ($retorna === false) { + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); + exit (); + } + retornaJSON ( $id_sistema ); + exit (); + break; +} +cpjson ( $retorno ); + +function adicionar( $publicado_sistema,$nome_sistema,$perfil_sistema, $dbhw) { + global $esquemaadmin; + try { + $dataCol = array( + "publicado_sistema" => '', + "nome_sistema" => '', + "perfil_sistema" => '' + ); + $id_sistema = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_sistemas",$dataCol,"nome_sistema","id_sistema"); + $retorna = alterar ( $id_sistema,$publicado_sistema,$nome_sistema,$perfil_sistema, $dbhw ); + + return $retorna; + } catch ( PDOException $e ) { + return false; + } +} +// $papeis deve ser um array +function alterar($id_sistema,$publicado_sistema,$nome_sistema,$perfil_sistema, $dbhw) { + global $convUTF, $esquemaadmin; + if ($convUTF != true){ + $nome_sistema = utf8_encode($nome_sistema); + } + $dataCol = array( + "publicado_sistema" => $publicado_sistema, + "nome_sistema" => $nome_sistema, + "perfil_sistema" => $perfil_sistema + ); + $resultado = i3GeoAdminUpdate ( $dbhw, "i3geoadmin_sistemas", $dataCol, "WHERE id_sistema = $id_sistema" ); + if ($resultado === false) { + return false; + } + return $id_sistema; +} +function excluir($id_sistema, $dbhw) { + global $esquemaadmin; + $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_sistemas", "id_sistema", $id_sistema, $dbhw, false ); + if ($resultado === false) { + return false; + } + return $resultado; +} +?> diff --git a/admin1/cadastros/sistemas/funcoes/exec.php b/admin1/cadastros/sistemas/funcoes/exec.php new file mode 100755 index 0000000..a2960f5 --- /dev/null +++ b/admin1/cadastros/sistemas/funcoes/exec.php @@ -0,0 +1,164 @@ +$dados[0]) ); + break; + case "LISTA" : + $dados = pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_sistemasf where id_sistema = $id_sistema", $dbh, false); + if ($dados === false) { + $dbhw = null; + $dbh = null; + header ( "HTTP/1.1 500 erro ao consultar banco de dados tabela de pranchas" ); + exit (); + } + $perfis = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by perfil", $dbh, false ); + $dbhw = null; + $dbh = null; + retornaJSON ( array("dados"=>$dados, "perfis"=>$perfis) ); + break; + case "EXCLUIR" : + $retorna = excluir ( $id_funcao, $dbhw ); + $dbhw = null; + $dbh = null; + if ($retorna === false) { + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); + exit (); + } + retornaJSON ( $id_funcao ); + exit (); + break; +} +cpjson ( $retorno ); + +function adicionar( $id_sistema,$nome_funcao,$abrir_funcao,$h_funcao,$w_funcao,$perfil_funcao, $dbhw) { + global $esquemaadmin; + try { + $dataCol = array( + "nome_funcao" => '', + "perfil_funcao" => '', + "w_funcao" => '', + "h_funcao" => '', + "abrir_funcao" => '', + "id_sistema" => $id_sistema + ); + $id_funcao = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_sistemasf",$dataCol,"nome_funcao","id_funcao"); + $retorna = alterar ( $id_funcao,$nome_funcao,$abrir_funcao,$h_funcao,$w_funcao,$perfil_funcao, $dbhw ); + + return $retorna; + } catch ( PDOException $e ) { + return false; + } +} +// $papeis deve ser um array +function alterar($id_funcao,$nome_funcao,$abrir_funcao,$h_funcao,$w_funcao,$perfil_funcao, $dbhw) { + global $convUTF, $esquemaadmin; + if ($convUTF != true){ + $nome_funcao = utf8_encode($nome_funcao); + } + $dataCol = array( + "nome_funcao" => $nome_funcao, + "perfil_funcao" => $perfil_funcao, + "w_funcao" => $w_funcao, + "h_funcao" => $h_funcao, + "abrir_funcao" => $abrir_funcao + ); + $resultado = i3GeoAdminUpdate ( $dbhw, "i3geoadmin_sistemasf", $dataCol, "WHERE id_funcao = $id_funcao" ); + if ($resultado === false) { + return false; + } + return $id_funcao; +} +function excluir($id_funcao, $dbhw) { + global $esquemaadmin; + $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_sistemasf", "id_funcao", $id_funcao, $dbhw, false ); + if ($resultado === false) { + return false; + } + return $resultado; +} +?> diff --git a/admin1/cadastros/sistemas/funcoes/index.js b/admin1/cadastros/sistemas/funcoes/index.js new file mode 100755 index 0000000..fda9200 --- /dev/null +++ b/admin1/cadastros/sistemas/funcoes/index.js @@ -0,0 +1,247 @@ +/* +Licenca: + +GPL2 + +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet + +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com + +Este programa é software livre; você pode redistribuí-lo +e/ou modificá-lo sob os termos da Licença Pública Geral +GNU conforme publicada pela Free Software Foundation; + +Este programa é distribuído na expectativa de que seja útil, +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. +Consulte a Licença Pública Geral do GNU para mais detalhes. +Você deve ter recebido uma cópia da Licença Pública Geral do +GNU junto com este programa; se não, escreva para a +Free Software Foundation, Inc., no endereço +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + + */ +i3GEOadmin.funcao = { + id_sistema: "", + //variavel global indicando o elemento que recebera a lista de menus + ondeLista: "", + //conteudo html do formulario de adicao de operacao + formAdiciona: "", + //parametros obtidos do formulario de edicao antes de abrir o modal de confirmacao + parametrosSalvar: "", + init: function(onde){ + i3GEOadmin.funcao.ondeLista = onde; + i3GEOadmin.funcao.lista(); + }, + /* +Function: lista + +Obtém a lista + */ + lista: function(){ + i3GEOadmin.core.iconeAguarde(i3GEOadmin.funcao.ondeLista); + $.post( + "exec.php?funcao=lista", + "id_sistema=" + i3GEOadmin.funcao.id_sistema + ) + .done( + function(data, status){ + //valor do filtro atual + var filtro = i3GEOadmin.core.valorFiltro(); + //objeto json com os dados viondos do banco + var json = jQuery.parseJSON(data); + //template do form de cada operacao + var templateLista = $("#templateLista").html(); + //lista todas as menus + var html = Mustache.to_html( + "{{#data}}" + templateLista + "{{/data}}", + $.extend( + {}, + i3GEOadmin.funcao.dicionario, + { + "data": json["dados"], + "onExcluir": "i3GEOadmin.funcao.excluirDialogo",//funcao + "onEditar": "i3GEOadmin.funcao.editarDialogo"//funcao + } + ) + ); + i3GEOadmin.funcao.ondeLista.html(html); + //filtro + html = Mustache.to_html( + "{{#data}}" + $("#templateFiltro").html() + "{{/data}}", + {"data":json["dados"]} + ); + $("#filtro").html("" + html); + $("#filtro").combobox(); + $(".ui-autocomplete-input").attr( "title", "Filtro" ); + + if(filtro != ""){ + i3GEOadmin.core.defineFiltro(filtro); + i3GEOadmin.core.filtra(i3GEOadmin.funcao.pegaFiltro()); + } + //monta um template para o modal de inclusao de novo usuario + if(i3GEOadmin.funcao.formAdiciona == ""){ + html = Mustache.to_html( + $("#templateFormLista").html(), + $.extend( + {}, + i3GEOadmin.funcao.dicionario, + { + "id_funcao": "modal", + "escondido": "hidden", + "funcaos": "", + "excluir": i3GEOadmin.funcao.dicionario.cancelar, + "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao + "onSalvar": "i3GEOadmin.funcao.adiciona",//funcao + "editarTema": "" + } + ) + ); + i3GEOadmin.funcao.formAdiciona = html; + } + $.material.init(); + } + ) + .fail(function(data){ + i3GEOadmin.funcao.ondeLista.html(""); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + }); + }, + editarDialogo: function(id){ + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=listaunico", + "id_funcao=" + id + ) + .done( + function(data, status){ + var json = jQuery.parseJSON(data); + var templateLista = $("#templateFormLista").html(); + //lista todas as menus + var html = Mustache.to_html( + "{{#data}}" + templateLista + "{{/data}}", + $.extend( + {}, + i3GEOadmin.funcao.dicionario, + { + "data": json["dados"], + "onExcluir": "i3GEOadmin.funcao.excluirDialogo",//funcao + "onSalvar": "i3GEOadmin.funcao.salvarDialogo"//funcao + } + ) + ); + i3GEOadmin.core.abreModalGeral(html); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, + adicionaDialogo: function(){ + i3GEOadmin.core.abreModalGeral(i3GEOadmin.funcao.formAdiciona); + }, +// os parametros sao obtidos do formulario aberto do modal + adiciona: function(){ + var parametros = $("#modalGeral form").serialize(); + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=adicionar", + parametros + "&id_sistema=" + i3GEOadmin.funcao.id_sistema + ) + .done( + function(data, status){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.iconeAguarde(i3GEOadmin.funcao.ondeLista); + i3GEOadmin.funcao.lista(); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, + excluirDialogo: function(id){ + var hash = { + "mensagem": i3GEOadmin.funcao.dicionario.confirma, + "onBotao1": "i3GEOadmin.funcao.excluir('"+id+"')", + "botao1": i3GEOadmin.funcao.dicionario.sim, + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", + "botao2": i3GEOadmin.funcao.dicionario.nao + }; + i3GEOadmin.core.abreModalConfirma(hash); + }, + excluir: function(id){ + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=excluir", + "id_funcao=" + id + "&id_sistema=" + i3GEOadmin.funcao.id_sistema + ) + .done( + function(data, status){ + i3GEOadmin.core.modalAguarde(false); + var json = jQuery.parseJSON(data)*1; + $("#form-" + json).remove(); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, + salvarDialogo: function(id){ + i3GEOadmin.funcao.parametrosSalvar = $("#form-edicao-" + id).serialize(); + var hash = { + "mensagem": i3GEOadmin.funcao.dicionario.confirma, + "onBotao1": "i3GEOadmin.funcao.salvar('"+id+"')", + "botao1": i3GEOadmin.funcao.dicionario.sim, + "onBotao2": "i3GEOadmin.funcao.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();", + "botao2": i3GEOadmin.funcao.dicionario.nao + }; + i3GEOadmin.core.abreModalConfirma(hash); + }, + salvar: function(id){ + var parametros = i3GEOadmin.funcao.parametrosSalvar; + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=alterar", + "id_funcao="+ id + "&"+parametros + "&id_sistema=" + i3GEOadmin.funcao.id_sistema + ) + .done( + function(data, status){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.funcao.parametrosSalvar = ''; + i3GEOadmin.core.iconeAguarde(i3GEOadmin.funcao.ondeLista); + i3GEOadmin.funcao.lista(); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.funcao.parametrosSalvar = ''; + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, + editarTemas: function(id_sistema, id_funcao,titulo_funcao){ + //muda a url para que o usuario possa voltar pelo botao do navegador + var u = window.location.origin + window.location.pathname + "?id_sistema=" + id_sistema + "&id_filtro=" + id_funcao; + window.history.replaceState(null,null,u); + //abre a pagina de edicao + window.location.href = "temas/index.php?id_funcao=" + id_funcao + "&titulo_funcao=" + titulo_funcao + "&id_sistema=" + id_sistema; + }, + addInput: function(id,valor){ + var i = $("#"+id); + $(i.val(i.val() + ' ' + valor)); + } +}; \ No newline at end of file diff --git a/admin1/cadastros/sistemas/funcoes/index.php b/admin1/cadastros/sistemas/funcoes/index.php new file mode 100755 index 0000000..c692e8b --- /dev/null +++ b/admin1/cadastros/sistemas/funcoes/index.php @@ -0,0 +1,169 @@ + +