From a1d28686fa2602cb28d071c1181d049cd19651de Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Tue, 31 Jul 2012 01:38:34 +0000 Subject: [PATCH] Inclusão de cadastro de grupos de usuários --- admin/admin.db | Bin 116736 -> 0 bytes admin/html/gruposusuarios.html | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ admin/index.html | 6 +++++- admin/js/core.js | 1 + admin/js/gruposusuarios.js | 306 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ admin/php/admin.php | 10 ++++++++-- admin/php/criabanco.php | 72 ++++++++++++++++++++++++++++++++++++------------------------------------ admin/php/gruposusuarios.php | 211 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ admin/php/login.php | 14 +++++++------- admin/php/operacoes.php | 24 ++++++++++++------------ admin/php/upgradebanco46_47.php | 82 +++++++++++++++++++++++++++++++++++++++++----------------------------------------- admin/php/usuarios.php | 42 +++++++++++++++++++++--------------------- admin/sql/cadastrodeusuarios.sql | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ admin/sql/usuarios_basededados.sql | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ documentacao/diagramas/cadastrodeusuarios.erm | 1539 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 15 files changed, 2189 insertions(+), 369 deletions(-) create mode 100755 admin/html/gruposusuarios.html create mode 100755 admin/js/gruposusuarios.js create mode 100755 admin/php/gruposusuarios.php create mode 100644 admin/sql/cadastrodeusuarios.sql create mode 100644 admin/sql/usuarios_basededados.sql diff --git a/admin/admin.db b/admin/admin.db index cf002a4..b2fe7e1 100644 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin/html/gruposusuarios.html b/admin/html/gruposusuarios.html new file mode 100755 index 0000000..dd2c00a --- /dev/null +++ b/admin/html/gruposusuarios.html @@ -0,0 +1,98 @@ + + + + +Usuarios + + + + + + +
+
 
+
+
+

+ Administração do i3geo - Grupos de usuários +

+ +
+
+ + \ No newline at end of file diff --git a/admin/index.html b/admin/index.html index 373fa9d..b12eba1 100644 --- a/admin/index.html +++ b/admin/index.html @@ -139,7 +139,11 @@
- Controle de usuários + Cadastro de usuários e relação com papéis + + +
+ Cadastro de grupos e relação com usuários diff --git a/admin/js/core.js b/admin/js/core.js index a29b1aa..b502f8c 100644 --- a/admin/js/core.js +++ b/admin/js/core.js @@ -121,6 +121,7 @@ function cabecalhoUsuarios(id,excluir){ {id:"principal",titulo:"Início",link:"../index.html"}, {id:"operacoes",titulo:"Operações",link:"operacoes.html"}, {id:"usuarios",titulo:"Usuários",link:"usuarios.html"}, + {id:"gruposusuarios",titulo:"Grupos e Usuários",link:"gruposusuarios.html"}, {id:"login",titulo:"Login",js:"i3GEO.login.dialogo.abreLogin()"} ]; n = botoes.length; diff --git a/admin/js/gruposusuarios.js b/admin/js/gruposusuarios.js new file mode 100755 index 0000000..fd2135b --- /dev/null +++ b/admin/js/gruposusuarios.js @@ -0,0 +1,306 @@ +/* +Title: gruposusuarios.js + +Funções que controlam o cadastro de grupos de usuarios + +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@mma.gov.br + +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. + +Arquivo: + +i3geo/admin/js/gruposusuarios.js +*/ +YAHOO.namespace("example.container"); +/* +Function: initMenu + +Inicializa o editor +*/ +function initMenu(){ + ativaBotaoAdicionaGrupo("../php/gruposusuarios.php?funcao=alterarGrupos","adiciona"); + core_carregando("ativa"); + core_ativaPainelAjuda("ajuda","botaoAjuda"); + pegaGrupos(); +} +function ativaBotaoAdicionaGrupo(sUrl,idBotao){ + var adiciona = function() + { + core_carregando("ativa"); + core_carregando(" adicionando um novo registro"); + var callback = + { + success:function(o) + { + try + { + var j = YAHOO.lang.JSON.parse(o.responseText); + adicionaNosGrupos(j,true); + editar("grupo",j[j.length-1].id_grupo); + core_carregando("desativa"); + } + catch(e){core_handleFailure(e,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + core_makeRequest(sUrl,callback); + }; + //cria o botão de adição de um novo menu + new YAHOO.widget.Button(idBotao,{ onclick: { fn: adiciona } }); +} +function pegaGrupos(){ + core_pegaDados("buscando usuários...","../php/gruposusuarios.php?funcao=pegaGrupos","montaArvore"); +} +/* +Function: montaArvore + +Monta a árvore de edição + + +*/ +function montaArvore(dados){ + YAHOO.example.treeExample = new function() { + tree = ""; + function changeIconMode(){ + buildTree(); + } + function loadNodeData(node, fnLoadComplete){ + var sUrl = "../php/gruposusuarios.php?funcao=pegaUsuariosGrupo&id_grupo="+node.data.id_grupo; + var callback = { + success: function(oResponse){ + var dados = YAHOO.lang.JSON.parse(oResponse.responseText); + adicionaNosUsuarios(node,dados,false); + oResponse.argument.fnLoadComplete(); + }, + failure: function(oResponse){ + oResponse.argument.fnLoadComplete(); + }, + argument:{ + "node": node, + "fnLoadComplete": fnLoadComplete + }, + timeout: 25000 + }; + YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); + } + function buildTree(){ + tree = new YAHOO.widget.TreeView("tabela"); + tree.setDynamicLoad(loadNodeData, 1); + var root = tree.getRoot(); + var tempNode = new YAHOO.widget.TextNode('', root, false); + tempNode.isLeaf = true; + core_carregando("desativa"); + } + buildTree(); + }(); + adicionaNosGrupos(dados); + tree.draw(); +} +function adicionaNosUsuarios(no,dados,redesenha) +{ + function temaIconMode(){ + var newVal = parseInt(this.value); + if (newVal != currentIconMode) + {currentIconMode = newVal;} + } + if(!redesenha){ + var conteudo = "Adicionar novo usuário"; + var d = {html:conteudo}; + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true); + tempNode.isLeaf = true; + } + for (var i=0, j=dados.length; i"; + if(dados[i].nome != "") + {conteudo += " "+dados[i].login+"";} + else + {conteudo += " Edite para definir o papel!!!";} + var d = {html:conteudo,id_nousuario:dados[i].id_usuario+"_"+dados[i].id_grupo,tipo:"usuario"}; + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true); + tempNode.isLeaf = true; + } + if(redesenha){tree.draw();} +} +function adicionaNosGrupos(dados,redesenha){ + var root = tree.getRoot(); + for (var i=0, j=dados.length; i"; + conteudo += " "; + if(dados[i].nome && dados[i].nome != "") + {conteudo += " "+dados[i].nome+" id: "+dados[i].id_grupo+"";} + else + {conteudo += " Edite para definir o grupo!!!";} + var d = {html:conteudo,id_grupo:dados[i].id_grupo,tipo:"grupo"}; + new YAHOO.widget.HTMLNode(d, root, false,true); + } + if(redesenha){tree.draw();} +} +/* +Function: editar + +Abre o editor de um nó +*/ +function editar(tipo,id){ + core_carregando("ativa"); + core_carregando(" buscando dados"); + var sUrl = null; + var callback = { + success:function(o) { + try { + if(tipo == "grupo") { + var dados = YAHOO.lang.JSON.parse(o.responseText)[0]; + core_montaEditor("","450px","280px","","Grupo"); + montaDivGrupo(dados); + core_carregando("desativa"); + } + if(tipo == "usuario") { + var dados = YAHOO.lang.JSON.parse(o.responseText); + core_montaEditor("gravaDados('usuario','"+id+"')","250px","100px"); + $i("editor_bd").innerHTML = montaDivUsuario(dados); + document.getElementById("Eid_usuario").style.width = "200px"; + core_carregando("desativa"); + } + core_carregando("desativa"); + } + catch(e){core_handleFailure(e,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + if(tipo == "grupo") + {sUrl = "../php/gruposusuarios.php?funcao=pegaDadosGrupo&id_grupo="+id;} + if(tipo == "usuario") + {sUrl = "../php/gruposusuarios.php?funcao=listaUsuarios";} + if(sUrl) + {core_makeRequest(sUrl,callback);} +} +function montaDivGrupo(i){ + var param = { + "linhas":[ + {titulo:"Nome:",id:"Enome",size:"50",value:i.nome,tipo:"text",div:""}, + {titulo:"Descrição:",id:"Edescricao",size:"50",value:i.descricao,tipo:"text",div:""} + ] + }; + var ins = ""; + ins += core_geraLinhas(param); + ins += "


"; + $i("editor_bd").innerHTML = ins; + var temp = function() + {gravaDados('grupo',i.id_grupo);}; + new YAHOO.widget.Button("salvarEditorGrupo",{ onclick: { fn: temp }}); +} +function montaDivUsuario(dados){ + var ins = "

"; + return(ins); +} +/* +Function: excluir + +Exclui um elemento do atlas + + + + + + +*/ +function excluir(tipo,id_grupo,id_usuario) +{ + var mensagem = " excluindo o registro do usuário= "+id_usuario; + var no = null; + var sUrl = null; + if(tipo == "grupo") { + no = tree.getNodeByProperty("id_grupo",id_grupo); + sUrl = "../php/gruposusuarios.php?funcao=excluirGrupo&id_grupo="+id_grupo; + } + if(tipo == "usuario") { + no = tree.getNodeByProperty("id_nousuario",id_usuario+"_"+id_grupo); + sUrl = "../php/gruposusuarios.php?funcao=excluirUsuarioGrupo&id_grupo="+id_grupo+"&id_usuario="+id_usuario; + } + if(sUrl) + {core_excluiNoTree(sUrl,no,mensagem);} +} +/* +Function: gravaDados + +Altera dados de um elemento do Atlas + + + + + + +*/ +function gravaDados(tipo,id){ + var campos = null; + var par = null; + var prog = null; + if(tipo == "grupo"){ + campos = new Array("nome","descricao"); + par = "&id_grupo="+id; + prog = "../php/gruposusuarios.php?funcao=alterarGrupos"; + } + if(tipo == "usuario"){ + campos = new Array("id_usuario"); + par = "&id_grupo="+id; + prog = "../php/gruposusuarios.php?funcao=adicionaUsuarioGrupo"; + } + for (var i=0;iNão foi possível excluir. Verifique se não existem menus vinculados a este tema"); + setTimeout("core_carregando('desativa')",3000); + } + else{ + if(tipo == "grupo"){ + var no = tree.getNodeByProperty("id_grupo",id); + no.getContentEl().getElementsByTagName("span")[0].innerHTML = document.getElementById("Enome").value+" id:"+id; + no.getContentEl().getElementsByTagName("span")[0].style.color = ""; + no.html = no.getContentEl().innerHTML; + } + if(tipo == "usuario"){ + var no = tree.getNodeByProperty("id_grupo",id); + adicionaNosUsuarios(no,YAHOO.lang.JSON.parse(o.responseText),true); + } + core_carregando("desativa"); + } + YAHOO.example.container.panelEditor.destroy(); + YAHOO.example.container.panelEditor = null; + } + catch(e){core_handleFailure(e,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + if(prog && par){ + core_carregando("ativa"); + core_carregando(" gravando o registro do id= "+id); + var sUrl = prog+par; + core_makeRequest(sUrl,callback,'POST'); + } +} \ No newline at end of file diff --git a/admin/php/admin.php b/admin/php/admin.php index 8cbc63d..bec5a99 100644 --- a/admin/php/admin.php +++ b/admin/php/admin.php @@ -255,9 +255,15 @@ function verificaFilhos() if(count($r) > 0) $res = true; } - if($tabela == "i3geoadmin_usuarios") + if($tabela == "i3geousr_grupos") { - $r = pegaDados("select * from ".$esquemaadmin."i3geoadmin_papelusuario where id_usuario=$id"); + $r = pegaDados("select * from ".$esquemaadmin."i3geousr_gruposusuario where id_grupo=$id"); + if(count($r) > 0) + $res = true; + } + if($tabela == "i3geousr_usuarios") + { + $r = pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario where id_usuario=$id"); if(count($r) > 0) $res = true; } diff --git a/admin/php/criabanco.php b/admin/php/criabanco.php index 66a0897..e9fa9bd 100644 --- a/admin/php/criabanco.php +++ b/admin/php/criabanco.php @@ -76,11 +76,11 @@ "CREATE TABLE ".$esquemaadmin."i3geoadmin_n2 (publicado TEXT, ordem NUMERIC, id_n1 NUMERIC, id_n2 INTEGER PRIMARY KEY, id_subgrupo NUMERIC, n2_perfil TEXT)", "CREATE TABLE ".$esquemaadmin."i3geoadmin_n3 (publicado TEXT, ordem NUMERIC, id_n2 NUMERIC, id_n3 INTEGER PRIMARY KEY, id_tema NUMERIC, n3_perfil TEXT)", "CREATE TABLE ".$esquemaadmin."i3geoadmin_comentarios (comentario TEXT, data TEXT, openidnome TEXT, openidimagem TEXT, openidservico TEXT, openidusuario TEXT, openidurl TEXT, id_tema NUMERIC)", - "CREATE TABLE ".$esquemaadmin."i3geoadmin_usuarios (ativo NUMERIC, data_cadastro TEXT, email TEXT, id_usuario INTEGER PRIMARY KEY, login TEXT, nome_usuario TEXT, senha TEXT)", - "CREATE TABLE ".$esquemaadmin."i3geoadmin_papelusuario (papel_id NUMERIC, usuario_id NUMERIC)", - "CREATE TABLE ".$esquemaadmin."i3geoadmin_papeis (descricao TEXT, id_papel INTEGER PRIMARY KEY, nome TEXT)", - "CREATE TABLE ".$esquemaadmin."i3geoadmin_operacoes (id_operacao INTEGER PRIMARY KEY, codigo TEXT, descricao TEXT)", - "CREATE TABLE ".$esquemaadmin."i3geoadmin_operacoespapeis (id_operacao NUMERIC, id_papel NUMERIC)" + "CREATE TABLE ".$esquemaadmin."i3geousr_usuarios (ativo NUMERIC, data_cadastro TEXT, email TEXT, id_usuario INTEGER PRIMARY KEY, login TEXT, nome_usuario TEXT, senha TEXT)", + "CREATE TABLE ".$esquemaadmin."i3geousr_papelusuario (papel_id NUMERIC, usuario_id NUMERIC)", + "CREATE TABLE ".$esquemaadmin."i3geousr_papeis (descricao TEXT, id_papel INTEGER PRIMARY KEY, nome TEXT)", + "CREATE TABLE ".$esquemaadmin."i3geousr_operacoes (id_operacao INTEGER PRIMARY KEY, codigo TEXT, descricao TEXT)", + "CREATE TABLE ".$esquemaadmin."i3geousr_operacoespapeis (id_operacao NUMERIC, id_papel NUMERIC)" ); if($conexaoadmin == "") { @@ -122,37 +122,37 @@ //echo $tabela."
"; $q = $dbhw->query($tabela); } - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papeis VALUES('Podem executar qualquer tarefa, inclusive cadastrar novos administradores',1,'admin')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papeis VALUES('Podem criar/editar qualquer tema (mapfile) mas nao podem editar a arvore do catalogo de temas',2,'editores')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papeis VALUES('Podem alterar a arvore do catalogo e dos atlas',3,'publicadores')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papeis VALUES('Podem editar dados geograficos',4,'editoresgeo')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_usuarios VALUES(1,'','',1,'admin','admin','admin')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papelusuario VALUES(1,1)"); - - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(1,'admin/html/editormapfile','editor de mapfiles do sistema de administracao')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(2,'admin/html/operacoes','abre o editor de operacoes')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(3,'teste/','teste')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(4,'admin/html/arvore','edicao da arvore do catalogo de temas')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(5,'admin/html/menus','edicao da lista de menus')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(6,'admin/html/ogcws','edicao das preferencias do servico WMS')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(7,'admin/html/atlas','edicao de atlas')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(8,'admin/html/identifica','lista de sistemas incluidos na ferramenta de identificacao')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(9,'admin/html/incluimap','adapta mapfiles antigos para versoes novas do Mapserver')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(10,'admin/html/mapas','lista de links para mapas')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(11,'admin/html/perfis','lista controlada de perfis')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(12,'admin/html/sistemas','lista de sistemas complementares que sao mostrados no catalogo')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(13,'admin/html/subirshapefile','upload de shapefile para uma pasta especifica no servidor')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(14,'admin/html/tags','edicao da lista controlada de tags')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(15,'admin/html/webservices','cadastro de links para webservices')"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(1,2)"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(1,3)"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(4,3)"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(5,3)"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(7,3)"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(10,3)"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(13,2)"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(13,4)"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(15,3)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem executar qualquer tarefa, inclusive cadastrar novos administradores',1,'admin')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem criar/editar qualquer tema (mapfile) mas nao podem editar a arvore do catalogo de temas',2,'editores')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem alterar a arvore do catalogo e dos atlas',3,'publicadores')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem editar dados geograficos',4,'editoresgeo')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_usuarios VALUES(1,'','',1,'admin','admin','admin')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papelusuario VALUES(1,1)"); + + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(1,'admin/html/editormapfile','editor de mapfiles do sistema de administracao')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(2,'admin/html/operacoes','abre o editor de operacoes')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(3,'teste/','teste')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(4,'admin/html/arvore','edicao da arvore do catalogo de temas')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(5,'admin/html/menus','edicao da lista de menus')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(6,'admin/html/ogcws','edicao das preferencias do servico WMS')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(7,'admin/html/atlas','edicao de atlas')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(8,'admin/html/identifica','lista de sistemas incluidos na ferramenta de identificacao')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(9,'admin/html/incluimap','adapta mapfiles antigos para versoes novas do Mapserver')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(10,'admin/html/mapas','lista de links para mapas')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(11,'admin/html/perfis','lista controlada de perfis')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(12,'admin/html/sistemas','lista de sistemas complementares que sao mostrados no catalogo')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(13,'admin/html/subirshapefile','upload de shapefile para uma pasta especifica no servidor')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(14,'admin/html/tags','edicao da lista controlada de tags')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(15,'admin/html/webservices','cadastro de links para webservices')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(1,2)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(1,3)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(4,3)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(5,3)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(7,3)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(10,3)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(13,2)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(13,4)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(15,3)"); diff --git a/admin/php/gruposusuarios.php b/admin/php/gruposusuarios.php new file mode 100755 index 0000000..e276d45 --- /dev/null +++ b/admin/php/gruposusuarios.php @@ -0,0 +1,211 @@ + 0){ + $retorna = false; + } + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_grupos SET nome='$nome',descricao='$descricao' WHERE id_grupo = $id_grupo"); + $retorna = $id_grupo; + } + else{ + $idtemp = rand (9000,1000000) * -1; + //echo "INSERT INTO ".$esquemaadmin."i3geousr_grupos (nome) VALUES ('$idtemp')";exit; + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_grupos (nome) VALUES ('$idtemp')"); + $id = $dbh->query("SELECT id_grupo FROM ".$esquemaadmin."i3geousr_grupos WHERE nome = '$idtemp'"); + $id = $id->fetchAll(); + $id = $id[0]['id_grupo']; + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_grupos SET nome = '' WHERE id_grupo = $id AND nome = '$idtemp'"); + $retorna = $id; + } + $dbhw = null; + $dbh = null; + return $retorna; + } + catch (PDOException $e){ + return "Error!: " . $e->getMessage(); + } +} +function adicionaUsuarioGrupo(){ + global $id_usuario,$id_grupo; + try { + include(__DIR__."/conexao.php"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_grupousuario (id_usuario,id_grupo) VALUES ($id_usuario,$id_grupo)"); + $dbhw = null; + $dbh = null; + return "ok"; + } + catch (PDOException $e){ + return "Error!: " . $e->getMessage(); + } +} +function excluirGrupo() +{ + global $id_grupo; + try + { + include(__DIR__."/conexao.php"); + $dbhw->query("DELETE FROM ".$esquemaadmin."i3geousr_grupos WHERE id_grupo = $id_grupo "); + $dbhw = null; + $dbh = null; + return "ok"; + } + catch (PDOException $e) + { + return "Error!: " . $e->getMessage(); + } +} +function excluirUsuarioGrupo() +{ + global $id_usuario,$id_grupo; + try + { + include(__DIR__."/conexao.php"); + //echo "DELETE from ".$esquemaadmin."i3geousr_usuarios WHERE id_usuario = $id_usuario";exit; + $dbhw->query("DELETE FROM ".$esquemaadmin."i3geousr_grupousuario WHERE id_usuario = $id_usuario AND id_grupo = $id_grupo "); + $dbhw = null; + $dbh = null; + return "ok"; + } + catch (PDOException $e) + { + return "Error!: " . $e->getMessage(); + } +} +?> \ No newline at end of file diff --git a/admin/php/login.php b/admin/php/login.php index 876694f..8686a15 100644 --- a/admin/php/login.php +++ b/admin/php/login.php @@ -163,9 +163,9 @@ switch (strtoupper($funcao)) function alterarSenha(){ global $usuario,$novaSenha; include(__DIR__."/conexao.php"); - $dados = pegaDados("select * from ".$esquemaadmin."i3GEOadmin_usuarios where senha = '".md5($_SESSION["senha"])."' and login = '$usuario' and ativo = 1",$locaplic); + $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where senha = '".md5($_SESSION["senha"])."' and login = '$usuario' and ativo = 1",$locaplic); if(count($dados) > 0){ - $dbhw->query("UPDATE ".$esquemaadmin."i3geoadmin_usuarios SET senha='".md5($novaSenha)."' WHERE login = '$usuario'"); + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='".md5($novaSenha)."' WHERE login = '$usuario'"); $_SESSION["senha"] = $novaSenha; $to = $dados[0]["email"]; $subject = 'nova senha i3geo'; @@ -181,9 +181,9 @@ function recuperarSenha(){ global $usuario,$novaSenha; include(__DIR__."/conexao.php"); $novaSenha = rand(9000,1000000); - $dados = pegaDados("select * from ".$esquemaadmin."i3GEOadmin_usuarios where login = '$usuario' and ativo = 1",$locaplic); + $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and ativo = 1",$locaplic); if(count($dados) > 0){ - $dbhw->query("UPDATE ".$esquemaadmin."i3geoadmin_usuarios SET senha='$novaSenha' WHERE login = '$usuario'"); + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='$novaSenha' WHERE login = '$usuario'"); $to = $dados[0]["email"]; $subject = 'nova senha i3geo'; $message = $novaSenha; @@ -234,10 +234,10 @@ function validaSessao(){ function autenticaUsuario($usuario,$senha){ include(__DIR__."/conexao.php"); $senhamd5 = md5($senha); - $dados = pegaDados("select * from ".$esquemaadmin."i3GEOadmin_usuarios where login = '$usuario' and (senha = '$senhamd5' or senha = '$senha') and ativo = 1",$locaplic); + $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and (senha = '$senhamd5' or senha = '$senha') and ativo = 1",$locaplic); if(count($dados) > 0){ - $pa = pegaDados("select * from ".$esquemaadmin."i3geoadmin_papelusuario where id_usuario = ".$dados[0]["id_usuario"],$locaplic); - $op = pegadados("SELECT O.codigo, PU.id_usuario FROM ".$esquemaadmin."i3geoadmin_operacoes AS O JOIN ".$esquemaadmin."i3geoadmin_operacoespapeis AS OP ON O.id_operacao = OP.id_operacao JOIN ".$esquemaadmin."i3geoadmin_papelusuario AS PU ON OP.id_papel = PU.id_papel WHERE id_usuario = ".$dados[0]["id_usuario"],$locaplic); + $pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario where id_usuario = ".$dados[0]["id_usuario"],$locaplic); + $op = pegadados("SELECT O.codigo, PU.id_usuario FROM ".$esquemaadmin."i3geousr_operacoes AS O JOIN ".$esquemaadmin."i3geousr_operacoespapeis AS OP ON O.id_operacao = OP.id_operacao JOIN ".$esquemaadmin."i3geousr_papelusuario AS PU ON OP.id_papel = PU.id_papel WHERE id_usuario = ".$dados[0]["id_usuario"],$locaplic); $operacoes = array(); foreach($op as $o){ $operacoes[$o["codigo"]] = true; diff --git a/admin/php/operacoes.php b/admin/php/operacoes.php index 5d2ab08..6238347 100644 --- a/admin/php/operacoes.php +++ b/admin/php/operacoes.php @@ -77,27 +77,27 @@ switch (strtoupper($funcao)) { case "ALTERAROPERACOES": $novo = alterarOperacoes(); - $sql = "SELECT * from ".$esquemaadmin."i3geoadmin_operacoes WHERE id_operacao = ".$novo; + $sql = "SELECT * from ".$esquemaadmin."i3geousr_operacoes WHERE id_operacao = ".$novo; retornaJSON(pegaDados($sql)); exit; break; case "PEGAOPERACOES": - retornaJSON(pegaDados("SELECT id_operacao,codigo,descricao from ".$esquemaadmin."i3geoadmin_operacoes order by codigo")); + retornaJSON(pegaDados("SELECT id_operacao,codigo,descricao from ".$esquemaadmin."i3geousr_operacoes order by codigo")); exit; break; case "PEGAPAPEISOPERACAO": - $dados = pegaDados("SELECT P.id_papel, P.nome, P.descricao, OP.id_operacao FROM ".$esquemaadmin."i3geoadmin_operacoes AS O JOIN ".$esquemaadmin."i3geoadmin_operacoespapeis AS OP ON O.id_operacao = OP.id_operacao JOIN ".$esquemaadmin."i3geoadmin_papeis AS P ON OP.id_papel = P.id_papel WHERE O.id_operacao = $id_operacao"); + $dados = pegaDados("SELECT P.id_papel, P.nome, P.descricao, OP.id_operacao FROM ".$esquemaadmin."i3geousr_operacoes AS O JOIN ".$esquemaadmin."i3geousr_operacoespapeis AS OP ON O.id_operacao = OP.id_operacao JOIN ".$esquemaadmin."i3geousr_papeis AS P ON OP.id_papel = P.id_papel WHERE O.id_operacao = $id_operacao"); $dados[] = array("id_papel"=>1,"nome"=>"admin","descricao"=>"admin"); retornaJSON($dados); exit; break; case "PEGADADOSOPERACAO": - retornaJSON(pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_operacoes WHERE id_operacao = $id_operacao")); + retornaJSON(pegaDados("SELECT * from ".$esquemaadmin."i3geousr_operacoes WHERE id_operacao = $id_operacao")); exit; break; case "ADICIONAPAPELOPERACOES": adicionaPapelOperacoes(); - $dados = pegaDados("SELECT P.id_papel, P.nome, P.descricao, OP.id_operacao FROM ".$esquemaadmin."i3geoadmin_operacoes AS O JOIN ".$esquemaadmin."i3geoadmin_operacoespapeis AS OP ON O.id_operacao = OP.id_operacao JOIN ".$esquemaadmin."i3geoadmin_papeis AS P ON OP.id_papel = P.id_papel WHERE O.id_operacao = $id_operacao AND P.id_papel = $id_papel"); + $dados = pegaDados("SELECT P.id_papel, P.nome, P.descricao, OP.id_operacao FROM ".$esquemaadmin."i3geousr_operacoes AS O JOIN ".$esquemaadmin."i3geousr_operacoespapeis AS OP ON O.id_operacao = OP.id_operacao JOIN ".$esquemaadmin."i3geousr_papeis AS P ON OP.id_papel = P.id_papel WHERE O.id_operacao = $id_operacao AND P.id_papel = $id_papel"); retornaJSON($dados); exit; break; @@ -107,7 +107,7 @@ switch (strtoupper($funcao)) exit; break; case "LISTAPAPEIS": - retornaJSON(pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_papeis order by nome")); + retornaJSON(pegaDados("SELECT * from ".$esquemaadmin."i3geousr_papeis order by nome")); exit; break; } @@ -122,16 +122,16 @@ function alterarOperacoes() $descricao = utf8_encode($descricao); } if($id_operacao != ""){ - $dbhw->query("UPDATE ".$esquemaadmin."i3geoadmin_operacoes SET codigo='$codigo',descricao='$descricao' WHERE id_operacao = $id_operacao"); + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_operacoes SET codigo='$codigo',descricao='$descricao' WHERE id_operacao = $id_operacao"); $retorna = $id_operacao; } else{ $idtemp = (rand (9000,10000)) * -1; - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes (codigo,descricao) VALUES ('','$idtemp')"); - $id = $dbh->query("SELECT id_operacao FROM ".$esquemaadmin."i3geoadmin_operacoes WHERE descricao = '$idtemp'"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes (codigo,descricao) VALUES ('','$idtemp')"); + $id = $dbh->query("SELECT id_operacao FROM ".$esquemaadmin."i3geousr_operacoes WHERE descricao = '$idtemp'"); $id = $id->fetchAll(); $id = $id[0]['id_operacao']; - $dbhw->query("UPDATE ".$esquemaadmin."i3geoadmin_operacoes SET descricao = '' WHERE id_operacao = $id AND descricao = '$idtemp'"); + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_operacoes SET descricao = '' WHERE id_operacao = $id AND descricao = '$idtemp'"); $retorna = $id; } $dbhw = null; @@ -147,7 +147,7 @@ function adicionaPapelOperacoes(){ try { include(__DIR__."/conexao.php"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis (id_operacao,id_papel) VALUES ($id_operacao,$id_papel)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis (id_operacao,id_papel) VALUES ($id_operacao,$id_papel)"); $dbhw = null; $dbh = null; return "ok"; @@ -161,7 +161,7 @@ function excluirPapelOperacao(){ try { include(__DIR__."/conexao.php"); - $dbhw->query("DELETE from ".$esquemaadmin."i3geoadmin_operacoespapeis WHERE id_operacao = $id_operacao AND id_papel = $id_papel"); + $dbhw->query("DELETE from ".$esquemaadmin."i3geousr_operacoespapeis WHERE id_operacao = $id_operacao AND id_papel = $id_papel"); $dbhw = null; $dbh = null; return "ok"; diff --git a/admin/php/upgradebanco46_47.php b/admin/php/upgradebanco46_47.php index ba28a95..3e51e2d 100644 --- a/admin/php/upgradebanco46_47.php +++ b/admin/php/upgradebanco46_47.php @@ -74,11 +74,11 @@ else{ } error_reporting(E_ALL); $tabelas = array( -"CREATE TABLE ".$esquemaadmin."i3geoadmin_usuarios (ativo NUMERIC, data_cadastro TEXT, email TEXT, id_usuario INTEGER PRIMARY KEY, login TEXT, nome_usuario TEXT, senha TEXT)", -"CREATE TABLE ".$esquemaadmin."i3geoadmin_papelusuario (id_papel NUMERIC, id_usuario NUMERIC)", -"CREATE TABLE ".$esquemaadmin."i3geoadmin_papeis (descricao TEXT, id_papel INTEGER PRIMARY KEY, nome TEXT)", -"CREATE TABLE ".$esquemaadmin."i3geoadmin_operacoes (id_operacao INTEGER PRIMARY KEY, codigo TEXT, descricao TEXT)", -"CREATE TABLE ".$esquemaadmin."i3geoadmin_operacoespapeis (id_operacao NUMERIC, id_papel NUMERIC)" +"CREATE TABLE ".$esquemaadmin."i3geousr_usuarios (ativo NUMERIC, data_cadastro TEXT, email TEXT, id_usuario INTEGER PRIMARY KEY, login TEXT, nome_usuario TEXT, senha TEXT)", +"CREATE TABLE ".$esquemaadmin."i3geousr_papelusuario (id_papel NUMERIC, id_usuario NUMERIC)", +"CREATE TABLE ".$esquemaadmin."i3geousr_papeis (descricao TEXT, id_papel INTEGER PRIMARY KEY, nome TEXT)", +"CREATE TABLE ".$esquemaadmin."i3geousr_operacoes (id_operacao INTEGER PRIMARY KEY, codigo TEXT, descricao TEXT)", +"CREATE TABLE ".$esquemaadmin."i3geousr_operacoespapeis (id_operacao NUMERIC, id_papel NUMERIC)" ); foreach($tabelas as $tabela) { @@ -103,77 +103,77 @@ foreach($tabelas as $tabela) echo "Tabelas:\n"; var_dump($tabelas); echo "Inserindo os registros default\n"; -$teste = lista("select * from ".$esquemaadmin."i3geoadmin_papeis","id_papel"); +$teste = lista("select * from ".$esquemaadmin."i3geousr_papeis","id_papel"); if(!in_array($teste,1)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papeis VALUES('Podem executar qualquer tarefa, inclusive cadastrar novos administradores',1,'admin')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem executar qualquer tarefa, inclusive cadastrar novos administradores',1,'admin')"); if(!in_array($teste,2)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papeis VALUES('Podem criar/editar qualquer tema (mapfile) mas nao podem editar a arvore do catalogo de temas',2,'editores')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem criar/editar qualquer tema (mapfile) mas nao podem editar a arvore do catalogo de temas',2,'editores')"); if(!in_array($teste,3)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papeis VALUES('Podem alterar a arvore do catalogo e dos atlas',3,'publicadores')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem alterar a arvore do catalogo e dos atlas',3,'publicadores')"); if(!in_array($teste,4)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papeis VALUES('Podem editar dados geograficos',4,'editoresgeo')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem editar dados geograficos',4,'editoresgeo')"); -$teste = lista("select * from ".$esquemaadmin."i3geoadmin_usuarios","id_usuario"); +$teste = lista("select * from ".$esquemaadmin."i3geousr_usuarios","id_usuario"); if(!in_array($teste,1)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_usuarios VALUES(1,'','',1,'admin','admin','admin')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_usuarios VALUES(1,'','',1,'admin','admin','admin')"); -$teste = lista("select * from ".$esquemaadmin."i3geoadmin_papelusuario","id_usuario","id_papel"); +$teste = lista("select * from ".$esquemaadmin."i3geousr_papelusuario","id_usuario","id_papel"); if(!in_array($teste,"1-1")) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papelusuario VALUES(1,1)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papelusuario VALUES(1,1)"); -$teste = lista("select * from ".$esquemaadmin."i3geoadmin_operacoes","id_operacao"); +$teste = lista("select * from ".$esquemaadmin."i3geousr_operacoes","id_operacao"); if(!in_array($teste,1)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(1,'admin/html/editormapfile','editor de mapfiles do sistema de administracao')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(1,'admin/html/editormapfile','editor de mapfiles do sistema de administracao')"); if(!in_array($teste,2)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(2,'admin/html/operacoes','abre o editor de operacoes')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(2,'admin/html/operacoes','abre o editor de operacoes')"); if(!in_array($teste,3)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(3,'teste/','teste')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(3,'teste/','teste')"); if(!in_array($teste,4)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(4,'admin/html/arvore','edicao da arvore do catalogo de temas')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(4,'admin/html/arvore','edicao da arvore do catalogo de temas')"); if(!in_array($teste,5)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(5,'admin/html/menus','edicao da lista de menus')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(5,'admin/html/menus','edicao da lista de menus')"); if(!in_array($teste,6)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(6,'admin/html/ogcws','edicao das preferencias do servico WMS')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(6,'admin/html/ogcws','edicao das preferencias do servico WMS')"); if(!in_array($teste,7)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(7,'admin/html/atlas','edicao de atlas')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(7,'admin/html/atlas','edicao de atlas')"); if(!in_array($teste,8)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(8,'admin/html/identifica','lista de sistemas incluidos na ferramenta de identificacao')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(8,'admin/html/identifica','lista de sistemas incluidos na ferramenta de identificacao')"); if(!in_array($teste,9)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(9,'admin/html/incluimap','adapta mapfiles antigos para versoes novas do Mapserver')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(9,'admin/html/incluimap','adapta mapfiles antigos para versoes novas do Mapserver')"); if(!in_array($teste,10)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(10,'admin/html/mapas','lista de links para mapas')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(10,'admin/html/mapas','lista de links para mapas')"); if(!in_array($teste,11)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(11,'admin/html/perfis','lista controlada de perfis')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(11,'admin/html/perfis','lista controlada de perfis')"); if(!in_array($teste,12)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(12,'admin/html/sistemas','lista de sistemas complementares que sao mostrados no catalogo')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(12,'admin/html/sistemas','lista de sistemas complementares que sao mostrados no catalogo')"); if(!in_array($teste,13)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(13,'admin/html/subirshapefile','upload de shapefile para uma pasta especifica no servidor')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(13,'admin/html/subirshapefile','upload de shapefile para uma pasta especifica no servidor')"); if(!in_array($teste,14)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(14,'admin/html/tags','edicao da lista controlada de tags')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(14,'admin/html/tags','edicao da lista controlada de tags')"); if(!in_array($teste,15)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(15,'admin/html/webservices','cadastro de links para webservices')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(15,'admin/html/webservices','cadastro de links para webservices')"); if(!in_array($teste,16)) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(16,'admin/php/editortexto','editor de texto para mapfiles')"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(16,'admin/php/editortexto','editor de texto para mapfiles')"); -$teste = lista("select * from ".$esquemaadmin."i3geoadmin_operacoes","id_operacao","id_papel"); +$teste = lista("select * from ".$esquemaadmin."i3geousr_operacoes","id_operacao","id_papel"); if(!in_array($teste,'1-2')) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(1,2)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(1,2)"); if(!in_array($teste,'1-3')) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(1,3)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(1,3)"); if(!in_array($teste,'4-3')) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(4,3)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(4,3)"); if(!in_array($teste,'5-3')) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(5,3)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(5,3)"); if(!in_array($teste,'7-3')) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(7,3)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(7,3)"); if(!in_array($teste,'10-3')) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(10,3)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(10,3)"); if(!in_array($teste,'13-2')) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(13,2)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(13,2)"); if(!in_array($teste,'13-4')) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(13,4)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(13,4)"); if(!in_array($teste,'15-3')) - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(15,3)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(15,3)"); echo "Feito!"; function lista($sql,$coluna,$coluna1=""){ diff --git a/admin/php/usuarios.php b/admin/php/usuarios.php index c7c2b59..79ad31a 100755 --- a/admin/php/usuarios.php +++ b/admin/php/usuarios.php @@ -25,7 +25,7 @@ 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 +Você deve ter recebido uma copia 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. @@ -80,25 +80,25 @@ switch (strtoupper($funcao)) retornaJSON(array()); exit; } - $sql = "SELECT id_usuario,ativo,data_cadastro,email,login,nome_usuario from ".$esquemaadmin."i3geoadmin_usuarios WHERE id_usuario = ".$novo; + $sql = "SELECT id_usuario,ativo,data_cadastro,email,login,nome_usuario from ".$esquemaadmin."i3geousr_usuarios WHERE id_usuario = ".$novo; retornaJSON(pegaDados($sql)); exit; break; case "PEGAUSUARIOS": - retornaJSON(pegaDados("SELECT id_usuario,ativo,data_cadastro,email,login,nome_usuario from ".$esquemaadmin."i3geoadmin_usuarios order by nome_usuario")); + retornaJSON(pegaDados("SELECT id_usuario,ativo,data_cadastro,email,login,nome_usuario from ".$esquemaadmin."i3geousr_usuarios order by nome_usuario")); exit; break; case "PEGAPAPEISUSUARIO": - $dados = pegaDados("SELECT P.id_papel, P.nome, P.descricao, UP.id_usuario FROM ".$esquemaadmin."i3geoadmin_usuarios AS U JOIN ".$esquemaadmin."i3geoadmin_papelusuario AS UP ON U.id_usuario = UP.id_usuario JOIN ".$esquemaadmin."i3geoadmin_papeis AS P ON UP.id_papel = P.id_papel WHERE U.id_usuario = $id_usuario"); + $dados = pegaDados("SELECT P.id_papel, P.nome, P.descricao, UP.id_usuario FROM ".$esquemaadmin."i3geousr_usuarios AS U JOIN ".$esquemaadmin."i3geousr_papelusuario AS UP ON U.id_usuario = UP.id_usuario JOIN ".$esquemaadmin."i3geousr_papeis AS P ON UP.id_papel = P.id_papel WHERE U.id_usuario = $id_usuario"); retornaJSON($dados); exit; break; case "PEGADADOSUSUARIO": - retornaJSON(pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_usuarios WHERE id_usuario = $id_usuario")); + retornaJSON(pegaDados("SELECT * from ".$esquemaadmin."i3geousr_usuarios WHERE id_usuario = $id_usuario")); exit; break; case "EXCLUIRUSUARIO": - $tabela = "i3geoadmin_usuarios"; + $tabela = "i3geousr_usuarios"; $id = $id_usuario; $f = verificaFilhos(); if(!$f){ @@ -111,7 +111,7 @@ switch (strtoupper($funcao)) break; case "ADICIONAPAPELUSUARIO": adicionaPapelUsuario(); - $dados = pegaDados("SELECT P.id_papel, P.nome, P.descricao, UP.id_usuario FROM ".$esquemaadmin."i3geoadmin_usuarios AS U JOIN ".$esquemaadmin."i3geoadmin_papelusuario AS UP ON U.id_usuario = UP.id_usuario JOIN ".$esquemaadmin."i3geoadmin_papeis AS P ON UP.id_papel = P.id_papel WHERE U.id_usuario = $id_usuario"); + $dados = pegaDados("SELECT P.id_papel, P.nome, P.descricao, UP.id_usuario FROM ".$esquemaadmin."i3geousr_usuarios AS U JOIN ".$esquemaadmin."i3geousr_papelusuario AS UP ON U.id_usuario = UP.id_usuario JOIN ".$esquemaadmin."i3geousr_papeis AS P ON UP.id_papel = P.id_papel WHERE U.id_usuario = $id_usuario"); retornaJSON($dados); exit; break; @@ -119,7 +119,7 @@ switch (strtoupper($funcao)) retornaJSON(excluirPapelUsuario()); break; case "LISTAPAPEIS": - retornaJSON(pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_papeis order by nome")); + retornaJSON(pegaDados("SELECT * from ".$esquemaadmin."i3geousr_papeis order by nome")); exit; break; case "ENVIARSENHAEMAIL": @@ -132,10 +132,10 @@ function enviarSenhaEmail(){ global $id_usuario; include(__DIR__."/conexao.php"); $novaSenha = rand(9000,1000000); - $dados = pegaDados("select * from ".$esquemaadmin."i3GEOadmin_usuarios where id_usuario = $id_usuario and ativo = 1"); + $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where id_usuario = $id_usuario and ativo = 1"); if(count($dados) > 0){ $senha = md5($novaSenha); - $dbhw->query("UPDATE ".$esquemaadmin."i3geoadmin_usuarios SET senha='$senha' WHERE id_usuario = $id_usuario"); + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='$senha' WHERE id_usuario = $id_usuario"); $to = $dados[0]["email"]; $subject = 'senha i3geo'; $message = $novaSenha; @@ -157,17 +157,17 @@ function alterarUsuarios() } if($id_usuario != ""){ //verifica uniciade de login - $dados = pegaDados("select login from ".$esquemaadmin."i3GEOadmin_usuarios where login = '$login'"); + $dados = pegaDados("select login from ".$esquemaadmin."i3geousr_usuarios where login = '$login'"); if(count($dados) > 0){ $retorna = false; } //se a senha foi enviada, ela sera trocada if($senha != ""){ $senha = md5($senha); - $dbhw->query("UPDATE ".$esquemaadmin."i3geoadmin_usuarios SET senha='$senha',nome_usuario='$nome_usuario',login='$login',email='$email',ativo=$ativo,data_cadastro='$data_cadastro' WHERE id_usuario = $id_usuario"); + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='$senha',nome_usuario='$nome_usuario',login='$login',email='$email',ativo=$ativo,data_cadastro='$data_cadastro' WHERE id_usuario = $id_usuario"); } else{ - $dbhw->query("UPDATE ".$esquemaadmin."i3geoadmin_usuarios SET nome_usuario='$nome_usuario',login='$login',email='$email',ativo=$ativo,data_cadastro='$data_cadastro' WHERE id_usuario = $id_usuario"); + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET nome_usuario='$nome_usuario',login='$login',email='$email',ativo=$ativo,data_cadastro='$data_cadastro' WHERE id_usuario = $id_usuario"); } $retorna = $id_usuario; } @@ -176,11 +176,11 @@ function alterarUsuarios() if($senha == ""){ $senha = md5($idtemp); } - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_usuarios (senha,nome_usuario,ativo) VALUES ('$senha','$idtemp',0)"); - $id = $dbh->query("SELECT id_usuario FROM ".$esquemaadmin."i3geoadmin_usuarios WHERE nome_usuario = '$idtemp'"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_usuarios (senha,nome_usuario,ativo) VALUES ('$senha','$idtemp',0)"); + $id = $dbh->query("SELECT id_usuario FROM ".$esquemaadmin."i3geousr_usuarios WHERE nome_usuario = '$idtemp'"); $id = $id->fetchAll(); $id = $id[0]['id_usuario']; - //$dbhw->query("UPDATE ".$esquemaadmin."i3geoadmin_usuarios SET nome_usuario = '' WHERE id_usuario = $id AND nome_usuario = '$idtemp'"); + //$dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET nome_usuario = '' WHERE id_usuario = $id AND nome_usuario = '$idtemp'"); $retorna = $id; } $dbhw = null; @@ -196,7 +196,7 @@ function adicionaPapelUsuario(){ try { include(__DIR__."/conexao.php"); - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papelusuario (id_usuario,id_papel) VALUES ($id_usuario,$id_papel)"); + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papelusuario (id_usuario,id_papel) VALUES ($id_usuario,$id_papel)"); $dbhw = null; $dbh = null; return "ok"; @@ -211,8 +211,8 @@ function excluirUsuario() try { include(__DIR__."/conexao.php"); - //echo "DELETE from ".$esquemaadmin."i3geoadmin_usuarios WHERE id_usuario = $id_usuario";exit; - $dbhw->query("DELETE FROM ".$esquemaadmin."i3geoadmin_usuarios WHERE id_usuario = $id_usuario "); + //echo "DELETE from ".$esquemaadmin."i3geousr_usuarios WHERE id_usuario = $id_usuario";exit; + $dbhw->query("DELETE FROM ".$esquemaadmin."i3geousr_usuarios WHERE id_usuario = $id_usuario "); $dbhw = null; $dbh = null; return "ok"; @@ -228,8 +228,8 @@ function excluirPapelUsuario() try { include(__DIR__."/conexao.php"); - //echo "DELETE from ".$esquemaadmin."i3geoadmin_usuarios WHERE id_usuario = $id_usuario";exit; - $dbhw->query("DELETE FROM ".$esquemaadmin."i3geoadmin_papelusuario WHERE id_usuario = $id_usuario AND id_papel = $id_papel "); + //echo "DELETE from ".$esquemaadmin."i3geousr_usuarios WHERE id_usuario = $id_usuario";exit; + $dbhw->query("DELETE FROM ".$esquemaadmin."i3geousr_papelusuario WHERE id_usuario = $id_usuario AND id_papel = $id_papel "); $dbhw = null; $dbh = null; return "ok"; diff --git a/admin/sql/cadastrodeusuarios.sql b/admin/sql/cadastrodeusuarios.sql new file mode 100644 index 0000000..e452c04 --- /dev/null +++ b/admin/sql/cadastrodeusuarios.sql @@ -0,0 +1,99 @@ + +/* drop tables */ + +drop table i3geousr_grupousuario; +drop table i3geousr_grupos; +drop table i3geousr_operacoespapeis; +drop table i3geousr_operacoes; +drop table i3geousr_papelusuario; +drop table i3geousr_papeis; +drop table i3geousr_usuarios; + + + + +/* create tables */ + +-- grupos de usuários +create table i3geousr_grupos +( + -- identificador único do grupo + id_grupo integer not null unique primary key autoincrement, + -- nome do grupo + nome text, + -- descricao do grupo + descricao text +); + + +-- cadastro de usuários +create table i3geousr_usuarios +( + id_usuario integer not null unique primary key autoincrement, + -- 0 ou 1 indicando se o usuário está ativo ou não + ativo numeric not null, + -- data do cadastro do usuário + data_cadastro text, + email text, + -- login do usuário + login text not null, + -- nome real do usuário + nome_usuario text, + senha text not null +); + + +create table i3geousr_grupousuario +( + id_usuario integer not null, + -- identificador único do grupo + id_grupo integer not null, + foreign key (id_usuario) + references i3geousr_usuarios (id_usuario), + foreign key (id_grupo) + references i3geousr_grupos (id_grupo) +); + + +-- cadastro de operações do sistema +create table i3geousr_operacoes +( + id_operacao integer not null unique primary key autoincrement, + -- código da operação + codigo text, + descricao text +); + + +-- cadastro de papéis que permitem definir as operações +create table i3geousr_papeis +( + id_papel integer not null unique, + nome text not null unique, + descricao text +); + + +create table i3geousr_operacoespapeis +( + id_operacao integer not null, + id_papel integer not null, + foreign key (id_operacao) + references i3geousr_operacoes (id_operacao), + foreign key (id_papel) + references i3geousr_papeis (id_papel) +); + + +create table i3geousr_papelusuario +( + id_usuario integer not null, + id_papel integer not null, + foreign key (id_papel) + references i3geousr_papeis (id_papel), + foreign key (id_usuario) + references i3geousr_usuarios (id_usuario) +); + + + diff --git a/admin/sql/usuarios_basededados.sql b/admin/sql/usuarios_basededados.sql new file mode 100644 index 0000000..813721e --- /dev/null +++ b/admin/sql/usuarios_basededados.sql @@ -0,0 +1,54 @@ +-- i3geousr_usuarios +INSERT INTO i3geousr_usuarios (id_usuario, ativo, data_cadastro, email, login, nome_usuario, senha) VALUES ('1', '1', '', '', 'admin', 'administrador do i3geo', 'admin'); +INSERT INTO i3geousr_usuarios (id_usuario, ativo, data_cadastro, email, login, nome_usuario, senha) VALUES ('2', '1', '', '', 'editor', 'teste de editor', 'editor'); +INSERT INTO i3geousr_usuarios (id_usuario, ativo, data_cadastro, email, login, nome_usuario, senha) VALUES ('3', '1', '', '', 'publicador', 'teste de publicador', 'publicador'); +INSERT INTO i3geousr_usuarios (id_usuario, ativo, data_cadastro, email, login, nome_usuario, senha) VALUES ('4', '1', '', '', 'editorgeo', 'teste de editor geo', 'editorgeo'); + + +-- i3geousr_operacoes +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('1', 'admin/html/editormapfile', 'editor de mapfiles do sistema de administracao'); +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('2', 'admin/html/operacoes', 'abre o editor de operacoes'); +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('3', 'teste/', 'teste'); +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('4', 'admin/html/arvore', 'edicao da arvore do catalogo de temas'); +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('5', 'admin/html/menus', 'edicao da lista de menus'); +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('6', 'admin/html/ogcws', 'edicao das preferencias do servico WMS'); +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('7', 'admin/html/atlas', 'edicao de atlas'); +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('8', 'admin/html/identifica', 'lista de sistemas incluidos na ferramenta de identificacao'); +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('9', 'admin/html/incluimap', 'adapta mapfiles antigos para versoes novas do Mapserver'); +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('10', 'admin/html/mapas', 'lista de links para mapas'); +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('11', 'admin/html/perfis', 'lista controlada de perfis'); +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('12', 'admin/html/sistemas', 'lista de sistemas complementares adicionados ao catalogo de camadas'); +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('13', 'admin/html/subirshapefile', 'upload de shapefile para uma pasta específica no servidor'); +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('14', 'admin/html/tags', 'lista controlada de tags'); +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('15', 'admin/html/webservices', 'cadastro de links para webservices'); +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('16', 'admin/php/editortexto', 'editor de textos para edicao de mapfiles'); +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('17', 'admin/html/usuarios', 'cadastro de usuarios'); + + +-- i3geousr_operacoespapeis +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('16', '2'); +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('1', '2'); +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('1', '3'); +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('4', '3'); +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('5', '3'); +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('7', '3'); +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('10', '3'); +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('13', '2'); +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('13', '4'); +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('15', '3'); + + +-- i3geousr_papeis +INSERT INTO i3geousr_papeis (id_papel, nome, descricao) VALUES ('1', 'admin', 'Podem executar qualquer tarefa, inclusive cadastrar novos administradores'); +INSERT INTO i3geousr_papeis (id_papel, nome, descricao) VALUES ('2', 'editores', 'Podem criar/editar qualquer tema (mapfile) mas nao podem editar a arvore do catalogo de temas'); +INSERT INTO i3geousr_papeis (id_papel, nome, descricao) VALUES ('3', 'publicadores', 'Podem alterar a arvore do catalogo de temas e dos atlas'); +INSERT INTO i3geousr_papeis (id_papel, nome, descricao) VALUES ('4', 'editoresgeo', 'Podem editar dados geograficos'); + + +-- i3geousr_papelusuario +INSERT INTO i3geousr_papelusuario (id_usuario, id_papel) VALUES ('2', '2'); +INSERT INTO i3geousr_papelusuario (id_usuario, id_papel) VALUES ('3', '3'); +INSERT INTO i3geousr_papelusuario (id_usuario, id_papel) VALUES ('4', '4'); +INSERT INTO i3geousr_papelusuario (id_usuario, id_papel) VALUES ('1', '1'); + + diff --git a/documentacao/diagramas/cadastrodeusuarios.erm b/documentacao/diagramas/cadastrodeusuarios.erm index 879444b..3757ac7 100644 --- a/documentacao/diagramas/cadastrodeusuarios.erm +++ b/documentacao/diagramas/cadastrodeusuarios.erm @@ -11,7 +11,7 @@ 0 1.0 - 0 + 7 0 230 @@ -40,14 +40,14 @@ false false - - + All + /var/www/i3geo/admin/sql/cadastrodeusuarios.sql false false - false + true true true true @@ -77,8 +77,8 @@ false - - + UTF-8 + /var/www/i3geo/admin/sql 0 @@ -110,7 +110,7 @@ false 2012-07-19 01:51:14 - 2012-07-19 10:09:09 + 2012-07-30 22:24:51 Project Name @@ -216,13 +216,39 @@ null false + Descricao do grupo + descricao + descricao + text + + + 6 + null + null + false + null + false + email email text - 6 + 7 + null + null + false + null + false + + identificador único do grupo + id_grupo + id_grupo + integer + + + 8 null null false @@ -235,7 +261,7 @@ integer - 7 + 9 null null false @@ -248,7 +274,7 @@ integer - 8 + 10 null null false @@ -261,7 +287,7 @@ integer - 9 + 11 null null false @@ -274,7 +300,7 @@ text - 10 + 12 null null false @@ -287,7 +313,20 @@ text - 11 + 13 + null + null + false + null + false + + Nome do grupo + nome + nome + text + + + 14 null null false @@ -300,7 +339,7 @@ text - 12 + 15 null null false @@ -316,66 +355,48 @@ - + 0 - 86 - 237 + 75 + 270 + Ubuntu + 12 + 35 + 18 + + 230 + 230 + 250 + + + + Cadastro de usuários do i3Geo + +
+ 1 + 191 + 213Ubuntu9 - 552 - 412 + 234 + 127 128 128 192 - - 0 - 3 - 0 - 1..n - 1 - true - - RESTRICT - RESTRICT - -1 - -1 - -1 - -1 - null - null - - - 1 - 1 - 0 - 1..n - 1 - true - - RESTRICT - RESTRICT - -1 - -1 - -1 - -1 - null - null - - i3geoadmin_operacoespapeis - i3geoadmin_operacoespapeis - + i3geousr_usuarios + i3geousr_usuarios + Cadastro de usuários + 10 0 - 7 - 0 @@ -383,11 +404,11 @@ integer - false - true + true + false true - false - false + true + true @@ -406,18 +427,17 @@ + 0 1 - 2 - 1 - integer + numeric false - true + false true false false @@ -438,52 +458,21 @@ 0 - - - - - - - - -
- - 1 - 107 - 197 - Ubuntu - 9 - 251 - 523 - - 128 - 128 - 192 - - - - i3geoadmin_papeis - i3geoadmin_papeis - Cadastro de papéis que permitem definir as operações - - - - - 7 + 2 2 - integer + text false false - true - true - true + false + false + false @@ -502,7 +491,7 @@ - 10 + 6 3 @@ -513,9 +502,9 @@ false false - true + false false - true + false @@ -534,7 +523,7 @@ - 3 + 11 4 @@ -545,6 +534,38 @@ false false + true + false + false + + + + + + + + + + + false + false + + + 0 + + + + 14 + 5 + + + + + text + + + false + false false false false @@ -565,6 +586,38 @@ 0 + + 15 + 6 + + + + + text + + + false + false + true + false + false + + + + + + + + + + + false + false + + + 0 + + @@ -580,8 +633,8 @@ 216Ubuntu9 - 62 - 378 + 42 + 376 128 128 @@ -589,8 +642,8 @@ - 2 - 5 + 0 + 4 2 1..n 1 @@ -606,7 +659,7 @@ null - 3 + 1 1 2 1..n @@ -623,17 +676,17 @@ null - i3geoadmin_papelusuario - i3geoadmin_papelusuario + i3geousr_papelusuario + i3geousr_papelusuario - 5 - 10 - 2 + 7 + 0 + 1 @@ -664,9 +717,9 @@ - 6 - 2 - 3 + 8 + 11 + 0 @@ -707,71 +760,74 @@
3 - 107 - 226 + 86 + 237Ubuntu9 - 552 - 136 + 596 + 499 128 128 192 - - i3geoadmin_operacoes - i3geoadmin_operacoes - Cadastro de operações do sistema - - - - - - 6 - 7 - - - - - integer - - - true - false - true - true - true - - - - - - - - - - - false - false - - - 0 - - + + 2 + 6 + 3 + 1..n + 1 + true + + RESTRICT + RESTRICT + -1 + -1 + -1 + -1 + null + null + + + 3 + 4 + 3 + 1..n + 1 + true + + RESTRICT + RESTRICT + -1 + -1 + -1 + -1 + null + null + + + i3geousr_operacoespapeis + i3geousr_operacoespapeis + + + + + - 1 - 8 + 9 + 17 + 2 - text + integer false - false - false + true + true false false @@ -792,18 +848,19 @@ - 4 - 9 + 10 + 11 + 3 - text + integer false - false - false + true + true false false @@ -832,31 +889,14 @@
- - 4 - 75 - 270 - Ubuntu - 12 - 35 - 18 - - 230 - 230 - 250 - - - - Cadastro de usuários do i3Geo - - 5 - 191 - 213 + 4 + 107 + 197Ubuntu9 - 269 - 111 + 251 + 523 128 128 @@ -864,16 +904,16 @@ - i3geoadmin_usuarios - i3geoadmin_usuarios - Cadastro de usuários + i3geousr_papeis + i3geousr_papeis + Cadastro de papéis que permitem definir as operações - 8 - 10 + 9 + 11 @@ -881,7 +921,7 @@ integer - true + false false true true @@ -904,20 +944,20 @@ - 0 - 11 + 12 + 12 - numeric + text false false true false - false + true @@ -936,8 +976,8 @@ - 2 - 12 + 3 + 13 @@ -967,9 +1007,72 @@ 0 + + + + + + + + +
+ + 5 + 107 + 203 + Ubuntu + 9 + 502 + 308 + + 230 + 230 + 250 + + + + i3geousr_grupos + i3geousr_grupos + Grupos de usuários + + + + + + 7 + 14 + + + + + integer + + + true + false + true + true + true + + + + + + + + + + + false + false + + + 0 + + - 5 - 13 + 13 + 15 @@ -1000,8 +1103,8 @@ - 9 - 14 + 5 + 16 @@ -1011,7 +1114,7 @@ false false - true + false false false @@ -1031,21 +1134,52 @@ 0 + + + + + + + + +
+ + 6 + 107 + 226 + Ubuntu + 9 + 782 + 176 + + 128 + 128 + 192 + + + + i3geousr_operacoes + i3geousr_operacoes + Cadastro de operações do sistema + + + + - 11 - 15 + 8 + 17 - text + integer - false + true false - false - false - false + true + true + true @@ -1064,8 +1198,8 @@ - 12 - 16 + 1 + 18 @@ -1075,7 +1209,7 @@ false false - true + false false false @@ -1095,31 +1229,314 @@ 0 - - - - - - - - -
-
- - - - - usuarios_basededados - 0 - - 5 - - + + 4 + 19 + + + + + text + + + false + false + false + false + false + + + + + + + + + + + false + false + + + 0 + + + + + + + + + + + + + 7 + 86 + 213 + Ubuntu + 9 + 508 + 103 + + 230 + 230 + 250 + + + + 4 + 1 + 7 + 1..n + 1 + true + + RESTRICT + RESTRICT + -1 + -1 + -1 + -1 + null + null + + + 5 + 5 + 7 + 1..n + 1 + true + + RESTRICT + RESTRICT + -1 + -1 + -1 + -1 + null + null + + + i3geousr_grupousuario + i3geousr_grupousuario + + + + + + + 20 + 0 + 4 + + + + + integer + + + false + true + true + false + false + + + + + + + + + + + false + false + + + 0 + + + + 21 + 14 + 5 + + + + + integer + + + false + true + true + false + false + + + + + + + + + + + false + false + + + 0 + + + + + + + + + + +
+ + + + + + usuarios_basededados + 0 + + 1 + + + + 0 + 1 + + + 1 + 1 + + + 2 + + + + 3 + + + + 4 + admin + + + 5 + administrador do i3geo + + + 6 + admin + + + + + 0 + 2 + + + 1 + 1 + + + 2 + + + + 3 + + + + 4 + editor + + + 5 + teste de editor + + + 6 + editor + + + + + 0 + 3 + + + 1 + 1 + + + 2 + + + + 3 + + + + 4 + publicador + + + 5 + teste de publicador + + + 6 + publicador + + + + + 0 + 4 + + + 1 + 1 + + + 2 + + + + 3 + + + + 4 + editorgeo + + + 5 + teste de editor geo + + + 6 + editorgeo + + + 0 - 10 + 0 Format 1 @@ -1134,7 +1551,7 @@ - 11 + 1 Format 1 @@ -1149,7 +1566,7 @@ - 12 + 2 Format 1 @@ -1164,7 +1581,7 @@ - 13 + 3 Format 1 @@ -1179,7 +1596,7 @@ - 14 + 4 Format 1 @@ -1194,7 +1611,7 @@ - 15 + 5 Format 1 @@ -1209,7 +1626,7 @@ - 16 + 6 Format 1 @@ -1226,6 +1643,630 @@ + + 6 + + + + 17 + 1 + + + 18 + admin/html/editormapfile + + + 19 + editor de mapfiles do sistema de administracao + + + + + 17 + 2 + + + 18 + admin/html/operacoes + + + 19 + abre o editor de operacoes + + + + + 17 + 3 + + + 18 + teste/ + + + 19 + teste + + + + + 17 + 4 + + + 18 + admin/html/arvore + + + 19 + edicao da arvore do catalogo de temas + + + + + 17 + 5 + + + 18 + admin/html/menus + + + 19 + edicao da lista de menus + + + + + 17 + 6 + + + 18 + admin/html/ogcws + + + 19 + edicao das preferencias do servico WMS + + + + + 17 + 7 + + + 18 + admin/html/atlas + + + 19 + edicao de atlas + + + + + 17 + 8 + + + 18 + admin/html/identifica + + + 19 + lista de sistemas incluidos na ferramenta de identificacao + + + + + 17 + 9 + + + 18 + admin/html/incluimap + + + 19 + adapta mapfiles antigos para versoes novas do Mapserver + + + + + 17 + 10 + + + 18 + admin/html/mapas + + + 19 + lista de links para mapas + + + + + 17 + 11 + + + 18 + admin/html/perfis + + + 19 + lista controlada de perfis + + + + + 17 + 12 + + + 18 + admin/html/sistemas + + + 19 + lista de sistemas complementares adicionados ao catalogo de camadas + + + + + 17 + 13 + + + 18 + admin/html/subirshapefile + + + 19 + upload de shapefile para uma pasta específica no servidor + + + + + 17 + 14 + + + 18 + admin/html/tags + + + 19 + lista controlada de tags + + + + + 17 + 15 + + + 18 + admin/html/webservices + + + 19 + cadastro de links para webservices + + + + + 17 + 16 + + + 18 + admin/php/editortexto + + + 19 + editor de textos para edicao de mapfiles + + + + + 17 + 17 + + + 18 + admin/html/usuarios + + + 19 + cadastro de usuarios + + + + + 0 + + + 17 + Format + 1 + + 1 + 100 + 1 + + + + + + + + + 18 + Format + 1 + + 1 + 100 + 1 + + + + + + + + + 19 + Format + 1 + + 1 + 100 + 1 + + + + + + + + + + + + 3 + + + + 9 + 16 + + + 10 + 2 + + + + + 9 + 1 + + + 10 + 2 + + + + + 9 + 1 + + + 10 + 3 + + + + + 9 + 4 + + + 10 + 3 + + + + + 9 + 5 + + + 10 + 3 + + + + + 9 + 7 + + + 10 + 3 + + + + + 9 + 10 + + + 10 + 3 + + + + + 9 + 13 + + + 10 + 2 + + + + + 9 + 13 + + + 10 + 4 + + + + + 9 + 15 + + + 10 + 3 + + + + + 0 + + + 9 + Foreign Key + 1 + + 1 + 100 + 1 + + + + + + + + + 10 + Foreign Key + 1 + + 1 + 100 + 1 + + + + + + + + + + + + 4 + + + + 11 + 1 + + + 12 + admin + + + 13 + Podem executar qualquer tarefa, inclusive cadastrar novos administradores + + + + + 11 + 2 + + + 12 + editores + + + 13 + Podem criar/editar qualquer tema (mapfile) mas nao podem editar a arvore do catalogo de temas + + + + + 11 + 3 + + + 12 + publicadores + + + 13 + Podem alterar a arvore do catalogo de temas e dos atlas + + + + + 11 + 4 + + + 12 + editoresgeo + + + 13 + Podem editar dados geograficos + + + + + 0 + + + 11 + Format + 1 + + 1 + 100 + 1 + + + + + + + + + 12 + Format + 1 + + 1 + 100 + 1 + + + + + + + + + 13 + Format + 1 + + 1 + 100 + 1 + + + + + + + + + + + + 2 + + + + 7 + 2 + + + 8 + 2 + + + + + 7 + 3 + + + 8 + 3 + + + + + 7 + 4 + + + 8 + 4 + + + + + 7 + 1 + + + 8 + 1 + + + + + 0 + + + 7 + Foreign Key + 1 + + 1 + 100 + 1 + + + + + + + + + 8 + Foreign Key + 1 + + 1 + 100 + 1 + + + + + + + + + + -- libgit2 0.21.2