Commit a1d28686fa2602cb28d071c1181d049cd19651de

Authored by Edmar Moretti
1 parent d1a68759

Inclusão de cadastro de grupos de usuários

admin/admin.db
No preview for this file type
admin/html/gruposusuarios.html 0 → 100755
... ... @@ -0,0 +1,98 @@
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2 +<html>
  3 +<head>
  4 +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  5 +<title>Usuarios</title>
  6 +<style type="text/css">
  7 +/*margin and padding on body element
  8 + can introduce errors in determining
  9 + element position and are not recommended;
  10 + we turn them off as a foundation for YUI
  11 + CSS treatments. */
  12 +body {
  13 + margin: 0;
  14 + padding: 0;
  15 +}
  16 +</style>
  17 +<script type="text/javascript" src="../js/core.js"></script>
  18 +<script type="text/javascript" src="../js/gruposusuarios.js"></script>
  19 +<link rel="stylesheet" type="text/css" href="admin.css">
  20 +</head>
  21 +<body class=" yui-skin-sam fundoPonto">
  22 + <center>
  23 + <div class="bordaSuperior">&nbsp;</div>
  24 + <div class="mascaraPrincipal" id="divGeral">
  25 + <div id=cabecalhoPrincipal></div>
  26 + <h1>
  27 + Administra&ccedil;&atilde;o do i3geo - Grupos de usu&aacute;rios <img
  28 + src="../imagens/04.png" style="cursor: pointer" id=botaoAjuda />
  29 + </h1>
  30 + <div id="formulario" style="display: none">
  31 + <div id="ajuda">
  32 + <div class="hd">Ajuda</div>
  33 + <div class="bd" style="height: 144px; overflow: auto">
  34 + <p>Cada usu&aacute;rio pode pertencer a um ou mais grupos. Os grupos s&atilde;o utilizados na defini&ccedil;&atilde;o das permiss&otilde;es de usu&aacute;rios para acesso a dados ou mapas
  35 + </div>
  36 + <div class="ft"></div>
  37 + </div>
  38 + <input onclick="adicionaLinha()" type=button id=adiciona
  39 + value="Adicionar grupo" /> <br>
  40 + <p>Grupos cadastrados:</p>
  41 + <div id="tabela" style="left: -5px;"></div>
  42 + <div id=logajax style="display: block"></div>
  43 + </div>
  44 + </div>
  45 + </center>
  46 + <script>
  47 + /*
  48 + Title: Cadastro de grupos de usuarios
  49 +
  50 + Veja tamb&eacute;m:
  51 +
  52 + <core.js>
  53 +
  54 + <usuarios.js>
  55 +
  56 + Licenca:
  57 +
  58 + GPL2
  59 +
  60 + i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  61 +
  62 + Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil
  63 + Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br
  64 +
  65 + Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  66 + e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  67 + GNU conforme publicada pela Free Software Foundation;
  68 +
  69 + Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  70 + por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  71 + de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  72 + Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  73 + Voc&ecirc; deve ter recebido uma cópia da Licen&ccedil;a P&uacute;blica Geral do
  74 + GNU junto com este programa; se n&atilde;o, escreva para a
  75 + Free Software Foundation, Inc., no endere&ccedil;o
  76 + 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  77 +
  78 + Arquivo:
  79 +
  80 + i3geo/admin/html/gruposusuarios.html
  81 + */
  82 + if (screen.availWidth > 700) {
  83 + document.getElementById("divGeral").style.width = "700px";
  84 + }
  85 + //necessario para a ferramenta login e outras
  86 + i3GEO.configura = {
  87 + locaplic : "../.."
  88 + };
  89 + //
  90 + cabecalhoUsuarios("cabecalhoPrincipal", "gruposusuarios");
  91 + temp = function() {
  92 + document.getElementById("formulario").style.display = "block";
  93 + initMenu();
  94 + };
  95 + i3GEO.login.verificaOperacao("admin/html/usuarios",
  96 + i3GEO.configura.locaplic, temp, "sessao");
  97 + </script>
  98 +</body>
0 99 \ No newline at end of file
... ...
admin/index.html
... ... @@ -139,7 +139,11 @@
139 139 </tr>
140 140 <tr onclick="abre('html/usuarios.html')">
141 141 <td><div class=aplicar></div></td>
142   - <td>Controle de usu&aacute;rios</td>
  142 + <td>Cadastro de usu&aacute;rios e rela&ccedil;&atilde;o com pap&eacute;is</td>
  143 + </tr>
  144 + <tr onclick="abre('html/gruposusuarios.html')">
  145 + <td><div class=aplicar></div></td>
  146 + <td>Cadastro de grupos e rela&ccedil;&atilde;o com usu&aacute;rios</td>
143 147 </tr>
144 148 </table>
145 149 </div>
... ...
admin/js/core.js
... ... @@ -121,6 +121,7 @@ function cabecalhoUsuarios(id,excluir){
121 121 {id:"principal",titulo:"In&iacute;cio",link:"../index.html"},
122 122 {id:"operacoes",titulo:"Opera&ccedil;&otilde;es",link:"operacoes.html"},
123 123 {id:"usuarios",titulo:"Usu&aacute;rios",link:"usuarios.html"},
  124 + {id:"gruposusuarios",titulo:"Grupos e Usu&aacute;rios",link:"gruposusuarios.html"},
124 125 {id:"login",titulo:"Login",js:"i3GEO.login.dialogo.abreLogin()"}
125 126 ];
126 127 n = botoes.length;
... ...
admin/js/gruposusuarios.js 0 → 100755
... ... @@ -0,0 +1,306 @@
  1 +/*
  2 +Title: gruposusuarios.js
  3 +
  4 +Fun&ccedil;&otilde;es que controlam o cadastro de grupos de usuarios
  5 +
  6 +Licenca:
  7 +
  8 +GPL2
  9 +
  10 +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  11 +
  12 +Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil
  13 +Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br
  14 +
  15 +Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  16 +e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  17 +GNU conforme publicada pela Free Software Foundation;
  18 +
  19 +Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  20 +por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  21 +de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  22 +Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  23 +Voc&ecirc; deve ter recebido uma cópia da Licen&ccedil;a P&uacute;blica Geral do
  24 +GNU junto com este programa; se n&atilde;o, escreva para a
  25 +Free Software Foundation, Inc., no endere&ccedil;o
  26 +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  27 +
  28 +Arquivo:
  29 +
  30 +i3geo/admin/js/gruposusuarios.js
  31 +*/
  32 +YAHOO.namespace("example.container");
  33 +/*
  34 +Function: initMenu
  35 +
  36 +Inicializa o editor
  37 +*/
  38 +function initMenu(){
  39 + ativaBotaoAdicionaGrupo("../php/gruposusuarios.php?funcao=alterarGrupos","adiciona");
  40 + core_carregando("ativa");
  41 + core_ativaPainelAjuda("ajuda","botaoAjuda");
  42 + pegaGrupos();
  43 +}
  44 +function ativaBotaoAdicionaGrupo(sUrl,idBotao){
  45 + var adiciona = function()
  46 + {
  47 + core_carregando("ativa");
  48 + core_carregando(" adicionando um novo registro");
  49 + var callback =
  50 + {
  51 + success:function(o)
  52 + {
  53 + try
  54 + {
  55 + var j = YAHOO.lang.JSON.parse(o.responseText);
  56 + adicionaNosGrupos(j,true);
  57 + editar("grupo",j[j.length-1].id_grupo);
  58 + core_carregando("desativa");
  59 + }
  60 + catch(e){core_handleFailure(e,o.responseText);}
  61 + },
  62 + failure:core_handleFailure,
  63 + argument: { foo:"foo", bar:"bar" }
  64 + };
  65 + core_makeRequest(sUrl,callback);
  66 + };
  67 + //cria o bot&atilde;o de adi&ccedil;&atilde;o de um novo menu
  68 + new YAHOO.widget.Button(idBotao,{ onclick: { fn: adiciona } });
  69 +}
  70 +function pegaGrupos(){
  71 + core_pegaDados("buscando usu&aacute;rios...","../php/gruposusuarios.php?funcao=pegaGrupos","montaArvore");
  72 +}
  73 +/*
  74 +Function: montaArvore
  75 +
  76 +Monta a &aacute;rvore de edi&ccedil;&atilde;o
  77 +
  78 +<PEGAPRANCHAS>
  79 +*/
  80 +function montaArvore(dados){
  81 + YAHOO.example.treeExample = new function() {
  82 + tree = "";
  83 + function changeIconMode(){
  84 + buildTree();
  85 + }
  86 + function loadNodeData(node, fnLoadComplete){
  87 + var sUrl = "../php/gruposusuarios.php?funcao=pegaUsuariosGrupo&id_grupo="+node.data.id_grupo;
  88 + var callback = {
  89 + success: function(oResponse){
  90 + var dados = YAHOO.lang.JSON.parse(oResponse.responseText);
  91 + adicionaNosUsuarios(node,dados,false);
  92 + oResponse.argument.fnLoadComplete();
  93 + },
  94 + failure: function(oResponse){
  95 + oResponse.argument.fnLoadComplete();
  96 + },
  97 + argument:{
  98 + "node": node,
  99 + "fnLoadComplete": fnLoadComplete
  100 + },
  101 + timeout: 25000
  102 + };
  103 + YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
  104 + }
  105 + function buildTree(){
  106 + tree = new YAHOO.widget.TreeView("tabela");
  107 + tree.setDynamicLoad(loadNodeData, 1);
  108 + var root = tree.getRoot();
  109 + var tempNode = new YAHOO.widget.TextNode('', root, false);
  110 + tempNode.isLeaf = true;
  111 + core_carregando("desativa");
  112 + }
  113 + buildTree();
  114 + }();
  115 + adicionaNosGrupos(dados);
  116 + tree.draw();
  117 +}
  118 +function adicionaNosUsuarios(no,dados,redesenha)
  119 +{
  120 + function temaIconMode(){
  121 + var newVal = parseInt(this.value);
  122 + if (newVal != currentIconMode)
  123 + {currentIconMode = newVal;}
  124 + }
  125 + if(!redesenha){
  126 + var conteudo = "<span style=\"cursor:pointer;\" onclick=\"editar('usuario','"+no.data.id_grupo+"')\" ><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i>Adicionar novo usu&aacute;rio</i></span>";
  127 + var d = {html:conteudo};
  128 + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true);
  129 + tempNode.isLeaf = true;
  130 + }
  131 + for (var i=0, j=dados.length; i<j; i++){
  132 + var conteudo = "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"excluir('usuario','"+dados[i].id_grupo+"','"+dados[i].id_usuario+"')\" title=excluir width='10px' heigth='10px' src=\"../imagens/01.png\" />";
  133 + if(dados[i].nome != "")
  134 + {conteudo += "&nbsp;<span><b>"+dados[i].login+"</b></span>";}
  135 + else
  136 + {conteudo += "&nbsp;<span style=color:red >Edite para definir o papel!!!</span>";}
  137 + var d = {html:conteudo,id_nousuario:dados[i].id_usuario+"_"+dados[i].id_grupo,tipo:"usuario"};
  138 + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true);
  139 + tempNode.isLeaf = true;
  140 + }
  141 + if(redesenha){tree.draw();}
  142 +}
  143 +function adicionaNosGrupos(dados,redesenha){
  144 + var root = tree.getRoot();
  145 + for (var i=0, j=dados.length; i<j; i++){
  146 + var conteudo = "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"excluir('grupo','"+dados[i].id_grupo+"')\" title=excluir width='10px' heigth='10px' src=\"../imagens/01.png\" />";
  147 + conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"editar('grupo','"+dados[i].id_grupo+"')\" title=editar src=\"../imagens/06.png\" /><b>";
  148 + if(dados[i].nome && dados[i].nome != "")
  149 + {conteudo += "&nbsp;<span>"+dados[i].nome+" id: "+dados[i].id_grupo+"</span>";}
  150 + else
  151 + {conteudo += "&nbsp;<span style=color:red >Edite para definir o grupo!!!</span>";}
  152 + var d = {html:conteudo,id_grupo:dados[i].id_grupo,tipo:"grupo"};
  153 + new YAHOO.widget.HTMLNode(d, root, false,true);
  154 + }
  155 + if(redesenha){tree.draw();}
  156 +}
  157 +/*
  158 +Function: editar
  159 +
  160 +Abre o editor de um nó
  161 +*/
  162 +function editar(tipo,id){
  163 + core_carregando("ativa");
  164 + core_carregando(" buscando dados");
  165 + var sUrl = null;
  166 + var callback = {
  167 + success:function(o) {
  168 + try {
  169 + if(tipo == "grupo") {
  170 + var dados = YAHOO.lang.JSON.parse(o.responseText)[0];
  171 + core_montaEditor("","450px","280px","","Grupo");
  172 + montaDivGrupo(dados);
  173 + core_carregando("desativa");
  174 + }
  175 + if(tipo == "usuario") {
  176 + var dados = YAHOO.lang.JSON.parse(o.responseText);
  177 + core_montaEditor("gravaDados('usuario','"+id+"')","250px","100px");
  178 + $i("editor_bd").innerHTML = montaDivUsuario(dados);
  179 + document.getElementById("Eid_usuario").style.width = "200px";
  180 + core_carregando("desativa");
  181 + }
  182 + core_carregando("desativa");
  183 + }
  184 + catch(e){core_handleFailure(e,o.responseText);}
  185 + },
  186 + failure:core_handleFailure,
  187 + argument: { foo:"foo", bar:"bar" }
  188 + };
  189 + if(tipo == "grupo")
  190 + {sUrl = "../php/gruposusuarios.php?funcao=pegaDadosGrupo&id_grupo="+id;}
  191 + if(tipo == "usuario")
  192 + {sUrl = "../php/gruposusuarios.php?funcao=listaUsuarios";}
  193 + if(sUrl)
  194 + {core_makeRequest(sUrl,callback);}
  195 +}
  196 +function montaDivGrupo(i){
  197 + var param = {
  198 + "linhas":[
  199 + {titulo:"Nome:",id:"Enome",size:"50",value:i.nome,tipo:"text",div:""},
  200 + {titulo:"Descri&ccedil;&atilde;o:",id:"Edescricao",size:"50",value:i.descricao,tipo:"text",div:""}
  201 + ]
  202 + };
  203 + var ins = "<input type=button title='Salvar' value='Salvar' id=salvarEditorGrupo />";
  204 + ins += core_geraLinhas(param);
  205 + ins += "<br><br><br>";
  206 + $i("editor_bd").innerHTML = ins;
  207 + var temp = function()
  208 + {gravaDados('grupo',i.id_grupo);};
  209 + new YAHOO.widget.Button("salvarEditorGrupo",{ onclick: { fn: temp }});
  210 +}
  211 +function montaDivUsuario(dados){
  212 + var ins = "<p><select id='Eid_usuario' >";
  213 + ins += core_comboObjeto(dados,"id_usuario","login","","ativo");
  214 + ins += "</select>";
  215 + return(ins);
  216 +}
  217 +/*
  218 +Function: excluir
  219 +
  220 +Exclui um elemento do atlas
  221 +
  222 +<EXCLUIRATLAS>
  223 +
  224 +<EXCLUIRPRANCHA>
  225 +
  226 +<EXCLUIRTEMA>
  227 +*/
  228 +function excluir(tipo,id_grupo,id_usuario)
  229 +{
  230 + var mensagem = " excluindo o registro do usu&aacute;rio= "+id_usuario;
  231 + var no = null;
  232 + var sUrl = null;
  233 + if(tipo == "grupo") {
  234 + no = tree.getNodeByProperty("id_grupo",id_grupo);
  235 + sUrl = "../php/gruposusuarios.php?funcao=excluirGrupo&id_grupo="+id_grupo;
  236 + }
  237 + if(tipo == "usuario") {
  238 + no = tree.getNodeByProperty("id_nousuario",id_usuario+"_"+id_grupo);
  239 + sUrl = "../php/gruposusuarios.php?funcao=excluirUsuarioGrupo&id_grupo="+id_grupo+"&id_usuario="+id_usuario;
  240 + }
  241 + if(sUrl)
  242 + {core_excluiNoTree(sUrl,no,mensagem);}
  243 +}
  244 +/*
  245 +Function: gravaDados
  246 +
  247 +Altera dados de um elemento do Atlas
  248 +
  249 +<ALTERARATLAS>
  250 +
  251 +<ALTERARPRANCHA>
  252 +
  253 +<ALTERARTEMA>
  254 +*/
  255 +function gravaDados(tipo,id){
  256 + var campos = null;
  257 + var par = null;
  258 + var prog = null;
  259 + if(tipo == "grupo"){
  260 + campos = new Array("nome","descricao");
  261 + par = "&id_grupo="+id;
  262 + prog = "../php/gruposusuarios.php?funcao=alterarGrupos";
  263 + }
  264 + if(tipo == "usuario"){
  265 + campos = new Array("id_usuario");
  266 + par = "&id_grupo="+id;
  267 + prog = "../php/gruposusuarios.php?funcao=adicionaUsuarioGrupo";
  268 + }
  269 + for (var i=0;i<campos.length;i++)
  270 + {par += "&"+campos[i]+"="+($i("E"+campos[i]).value);}
  271 +
  272 + var callback = {
  273 + success:function(o){
  274 + try {
  275 + if(YAHOO.lang.JSON.parse(o.responseText) == "erro") {
  276 + core_carregando("<span style=color:red >N&atilde;o foi poss&iacute;vel excluir. Verifique se n&atilde;o existem menus vinculados a este tema</span>");
  277 + setTimeout("core_carregando('desativa')",3000);
  278 + }
  279 + else{
  280 + if(tipo == "grupo"){
  281 + var no = tree.getNodeByProperty("id_grupo",id);
  282 + no.getContentEl().getElementsByTagName("span")[0].innerHTML = document.getElementById("Enome").value+" id:"+id;
  283 + no.getContentEl().getElementsByTagName("span")[0].style.color = "";
  284 + no.html = no.getContentEl().innerHTML;
  285 + }
  286 + if(tipo == "usuario"){
  287 + var no = tree.getNodeByProperty("id_grupo",id);
  288 + adicionaNosUsuarios(no,YAHOO.lang.JSON.parse(o.responseText),true);
  289 + }
  290 + core_carregando("desativa");
  291 + }
  292 + YAHOO.example.container.panelEditor.destroy();
  293 + YAHOO.example.container.panelEditor = null;
  294 + }
  295 + catch(e){core_handleFailure(e,o.responseText);}
  296 + },
  297 + failure:core_handleFailure,
  298 + argument: { foo:"foo", bar:"bar" }
  299 + };
  300 + if(prog && par){
  301 + core_carregando("ativa");
  302 + core_carregando(" gravando o registro do id= "+id);
  303 + var sUrl = prog+par;
  304 + core_makeRequest(sUrl,callback,'POST');
  305 + }
  306 +}
0 307 \ No newline at end of file
... ...
admin/php/admin.php
... ... @@ -255,9 +255,15 @@ function verificaFilhos()
255 255 if(count($r) > 0)
256 256 $res = true;
257 257 }
258   - if($tabela == "i3geoadmin_usuarios")
  258 + if($tabela == "i3geousr_grupos")
259 259 {
260   - $r = pegaDados("select * from ".$esquemaadmin."i3geoadmin_papelusuario where id_usuario=$id");
  260 + $r = pegaDados("select * from ".$esquemaadmin."i3geousr_gruposusuario where id_grupo=$id");
  261 + if(count($r) > 0)
  262 + $res = true;
  263 + }
  264 + if($tabela == "i3geousr_usuarios")
  265 + {
  266 + $r = pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario where id_usuario=$id");
261 267 if(count($r) > 0)
262 268 $res = true;
263 269 }
... ...
admin/php/criabanco.php
... ... @@ -76,11 +76,11 @@
76 76 "CREATE TABLE ".$esquemaadmin."i3geoadmin_n2 (publicado TEXT, ordem NUMERIC, id_n1 NUMERIC, id_n2 INTEGER PRIMARY KEY, id_subgrupo NUMERIC, n2_perfil TEXT)",
77 77 "CREATE TABLE ".$esquemaadmin."i3geoadmin_n3 (publicado TEXT, ordem NUMERIC, id_n2 NUMERIC, id_n3 INTEGER PRIMARY KEY, id_tema NUMERIC, n3_perfil TEXT)",
78 78 "CREATE TABLE ".$esquemaadmin."i3geoadmin_comentarios (comentario TEXT, data TEXT, openidnome TEXT, openidimagem TEXT, openidservico TEXT, openidusuario TEXT, openidurl TEXT, id_tema NUMERIC)",
79   - "CREATE TABLE ".$esquemaadmin."i3geoadmin_usuarios (ativo NUMERIC, data_cadastro TEXT, email TEXT, id_usuario INTEGER PRIMARY KEY, login TEXT, nome_usuario TEXT, senha TEXT)",
80   - "CREATE TABLE ".$esquemaadmin."i3geoadmin_papelusuario (papel_id NUMERIC, usuario_id NUMERIC)",
81   - "CREATE TABLE ".$esquemaadmin."i3geoadmin_papeis (descricao TEXT, id_papel INTEGER PRIMARY KEY, nome TEXT)",
82   - "CREATE TABLE ".$esquemaadmin."i3geoadmin_operacoes (id_operacao INTEGER PRIMARY KEY, codigo TEXT, descricao TEXT)",
83   - "CREATE TABLE ".$esquemaadmin."i3geoadmin_operacoespapeis (id_operacao NUMERIC, id_papel NUMERIC)"
  79 + "CREATE TABLE ".$esquemaadmin."i3geousr_usuarios (ativo NUMERIC, data_cadastro TEXT, email TEXT, id_usuario INTEGER PRIMARY KEY, login TEXT, nome_usuario TEXT, senha TEXT)",
  80 + "CREATE TABLE ".$esquemaadmin."i3geousr_papelusuario (papel_id NUMERIC, usuario_id NUMERIC)",
  81 + "CREATE TABLE ".$esquemaadmin."i3geousr_papeis (descricao TEXT, id_papel INTEGER PRIMARY KEY, nome TEXT)",
  82 + "CREATE TABLE ".$esquemaadmin."i3geousr_operacoes (id_operacao INTEGER PRIMARY KEY, codigo TEXT, descricao TEXT)",
  83 + "CREATE TABLE ".$esquemaadmin."i3geousr_operacoespapeis (id_operacao NUMERIC, id_papel NUMERIC)"
84 84 );
85 85 if($conexaoadmin == "")
86 86 {
... ... @@ -122,37 +122,37 @@
122 122 //echo $tabela."<br>";
123 123 $q = $dbhw->query($tabela);
124 124 }
125   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papeis VALUES('Podem executar qualquer tarefa, inclusive cadastrar novos administradores',1,'admin')");
126   - $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')");
127   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papeis VALUES('Podem alterar a arvore do catalogo e dos atlas',3,'publicadores')");
128   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papeis VALUES('Podem editar dados geograficos',4,'editoresgeo')");
129   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_usuarios VALUES(1,'','',1,'admin','admin','admin')");
130   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papelusuario VALUES(1,1)");
131   -
132   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(1,'admin/html/editormapfile','editor de mapfiles do sistema de administracao')");
133   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(2,'admin/html/operacoes','abre o editor de operacoes')");
134   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(3,'teste/','teste')");
135   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(4,'admin/html/arvore','edicao da arvore do catalogo de temas')");
136   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(5,'admin/html/menus','edicao da lista de menus')");
137   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(6,'admin/html/ogcws','edicao das preferencias do servico WMS')");
138   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(7,'admin/html/atlas','edicao de atlas')");
139   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(8,'admin/html/identifica','lista de sistemas incluidos na ferramenta de identificacao')");
140   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(9,'admin/html/incluimap','adapta mapfiles antigos para versoes novas do Mapserver')");
141   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(10,'admin/html/mapas','lista de links para mapas')");
142   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(11,'admin/html/perfis','lista controlada de perfis')");
143   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(12,'admin/html/sistemas','lista de sistemas complementares que sao mostrados no catalogo')");
144   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(13,'admin/html/subirshapefile','upload de shapefile para uma pasta especifica no servidor')");
145   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(14,'admin/html/tags','edicao da lista controlada de tags')");
146   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(15,'admin/html/webservices','cadastro de links para webservices')");
147   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(1,2)");
148   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(1,3)");
149   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(4,3)");
150   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(5,3)");
151   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(7,3)");
152   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(10,3)");
153   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(13,2)");
154   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(13,4)");
155   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(15,3)");
  125 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem executar qualquer tarefa, inclusive cadastrar novos administradores',1,'admin')");
  126 + $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')");
  127 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem alterar a arvore do catalogo e dos atlas',3,'publicadores')");
  128 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem editar dados geograficos',4,'editoresgeo')");
  129 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_usuarios VALUES(1,'','',1,'admin','admin','admin')");
  130 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papelusuario VALUES(1,1)");
  131 +
  132 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(1,'admin/html/editormapfile','editor de mapfiles do sistema de administracao')");
  133 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(2,'admin/html/operacoes','abre o editor de operacoes')");
  134 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(3,'teste/','teste')");
  135 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(4,'admin/html/arvore','edicao da arvore do catalogo de temas')");
  136 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(5,'admin/html/menus','edicao da lista de menus')");
  137 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(6,'admin/html/ogcws','edicao das preferencias do servico WMS')");
  138 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(7,'admin/html/atlas','edicao de atlas')");
  139 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(8,'admin/html/identifica','lista de sistemas incluidos na ferramenta de identificacao')");
  140 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(9,'admin/html/incluimap','adapta mapfiles antigos para versoes novas do Mapserver')");
  141 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(10,'admin/html/mapas','lista de links para mapas')");
  142 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(11,'admin/html/perfis','lista controlada de perfis')");
  143 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(12,'admin/html/sistemas','lista de sistemas complementares que sao mostrados no catalogo')");
  144 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(13,'admin/html/subirshapefile','upload de shapefile para uma pasta especifica no servidor')");
  145 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(14,'admin/html/tags','edicao da lista controlada de tags')");
  146 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(15,'admin/html/webservices','cadastro de links para webservices')");
  147 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(1,2)");
  148 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(1,3)");
  149 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(4,3)");
  150 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(5,3)");
  151 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(7,3)");
  152 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(10,3)");
  153 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(13,2)");
  154 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(13,4)");
  155 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(15,3)");
156 156  
157 157  
158 158  
... ...
admin/php/gruposusuarios.php 0 → 100755
... ... @@ -0,0 +1,211 @@
  1 +<?php
  2 +/*
  3 +Title: gruposusuarios.php
  4 +
  5 +Controle das requisi&ccedil;&otilde;es em Ajax utilizadas para gerenciar grupos de usu&aacute;rio e controle de acesso
  6 +
  7 +Recebe as requisi&ccedil;&otilde;es feitas em JavaScript (AJAX) e retorna o resultado para a interface.
  8 +
  9 +O par&acirc;metro "funcao" define qual a opera&ccedil;&atilde;o que ser&aacute; executada. Esse par&acirc;metro &eacute; verificado em um bloco "switch ($funcao)".
  10 +
  11 +Licenca:
  12 +
  13 +GPL2
  14 +
  15 +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  16 +
  17 +Direitos Autorais Reservados (c) 2006 Edmar Moretti
  18 +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  19 +
  20 +Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  21 +e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  22 +GNU conforme publicada pela Free Software Foundation;
  23 +
  24 +Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  25 +por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  26 +de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  27 +Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  28 +Voc&ecirc; deve ter recebido uma copia da Licen&ccedil;a P&uacute;blica Geral do
  29 +GNU junto com este programa; se n&atilde;o, escreva para a
  30 +Free Software Foundation, Inc., no endere&ccedil;o
  31 +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  32 +
  33 +Arquivo:
  34 +
  35 +i3geo/classesphp/gruposusuarios.php
  36 +
  37 +Parametros:
  38 +
  39 +funcao - op&ccedil;&atilde;o que ser&aacute; executada (veja abaixo a lista de Valores que esse par&acirc;metro pode assumir).
  40 +
  41 +Retorno:
  42 +
  43 +O resultado da opera&ccedil;&atilde;o ser&aacute; retornado em um objeto CPAINT.
  44 +
  45 +A constru&ccedil;&atilde;o da string JSON &eacute; feita preferencialmente pelas fun&ccedil;&otilde;es nativas do PHP.
  46 +Para efeitos de compatibilidade, uma vez que at&eacute; a vers&atilde;o 4.2 a string JSON era construida pelo CPAINT,
  47 +o objeto CPAINT ainda &eacute; definido, por&eacute;m, a fun&ccedil;&atilde;o cpjson verifica se as fun&ccedil;&otilde;es nativas do PHPO (json)
  48 +est&atilde;o instaladas, se estiverem, utiliza-se a fun&ccedil;&atilde;o nativa, se n&atilde;o, utiliza-se o CPAINT para gerar o JSON.
  49 +
  50 +Exemplo de chamada CPAINT (Ajax) do lado do cliente (javascript):
  51 +
  52 +var p = "classesphp/mapa_controle.php?funcao=crialente&resolucao=1.5&g_sid="+g_sid
  53 +
  54 +var cp = new cpaint()
  55 +
  56 +cp.set_response_type("JSON")
  57 +
  58 +cp.call(p,"lente",ajaxabrelente)
  59 +
  60 +*/
  61 +error_reporting(0);
  62 +//
  63 +//pega as variaveis passadas com get ou post
  64 +//
  65 +include_once(__DIR__."/login.php");
  66 +$funcoesEdicao = array(
  67 + "ALTERARGRUPOS",
  68 + "EXCLUIRGRUPO"
  69 +);
  70 +if(in_array(strtoupper($funcao),$funcoesEdicao)){
  71 + if(verificaOperacaoSessao("admin/html/usuarios") == false){
  72 + retornaJSON("Vc nao pode realizar essa operacao.");exit;
  73 + }
  74 +}
  75 +switch (strtoupper($funcao))
  76 +{
  77 + case "ALTERARGRUPOS":
  78 + $novo = alterarGrupos();
  79 + if($novo == false){
  80 + retornaJSON(array());
  81 + exit;
  82 + }
  83 + $sql = "SELECT id_grupo,nome,descricao from ".$esquemaadmin."i3geousr_grupos WHERE id_grupo = ".$novo;
  84 + retornaJSON(pegaDados($sql));
  85 + exit;
  86 + break;
  87 + case "PEGAGRUPOS":
  88 + retornaJSON(pegaDados("SELECT id_grupo,nome,descricao from ".$esquemaadmin."i3geousr_grupos order by nome"));
  89 + exit;
  90 + break;
  91 + case "PEGAUSUARIOSGRUPO":
  92 + $dados = pegaDados("SELECT U.id_usuario, U.login, UP.id_grupo FROM ".$esquemaadmin."i3geousr_usuarios AS U JOIN ".$esquemaadmin."i3geousr_grupousuario AS UP ON U.id_usuario = UP.id_usuario WHERE UP.id_grupo = $id_grupo");
  93 + retornaJSON($dados);
  94 + exit;
  95 + break;
  96 + case "PEGADADOSGRUPO":
  97 + retornaJSON(pegaDados("SELECT * from ".$esquemaadmin."i3geousr_grupos WHERE id_grupo = $id_grupo"));
  98 + exit;
  99 + break;
  100 + case "EXCLUIRGRUPO":
  101 + $tabela = "i3geousr_grupous";
  102 + $id = $id_grupo;
  103 + $f = verificaFilhos();
  104 + if(!$f){
  105 + excluirGrupo();
  106 + retornaJSON("ok");
  107 + }
  108 + else
  109 + retornaJSON("erro");
  110 + exit;
  111 + break;
  112 + case "ADICIONAUSUARIOGRUPO":
  113 + adicionaUsuarioGrupo();
  114 + $dados = pegaDados("SELECT U.id_usuario, U.login, UP.id_grupo FROM ".$esquemaadmin."i3geousr_usuarios AS U JOIN ".$esquemaadmin."i3geousr_grupousuario AS UP ON U.id_usuario = UP.id_usuario WHERE UP.id_grupo = $id_grupo AND UP.id_usuario = $id_usuario");
  115 + retornaJSON($dados);
  116 + exit;
  117 + break;
  118 + case "EXCLUIRUSUARIOGRUPO":
  119 + retornaJSON(excluirUsuarioGrupo());
  120 + exit;
  121 + break;
  122 + case "LISTAUSUARIOS":
  123 + retornaJSON(pegaDados("Select id_usuario,login,ativo from ".$esquemaadmin."i3geousr_usuarios order by login"));
  124 + exit;
  125 + break;
  126 +}
  127 +cpjson($retorno);
  128 +function alterarGrupos()
  129 +{
  130 + global $id_grupo,$nome,$descricao;
  131 + try
  132 + {
  133 + include(__DIR__."/conexao.php");
  134 + if($convUTF){
  135 + $nome = utf8_encode($nome);
  136 + $descricao = utf8_encode($descricao);
  137 + }
  138 + if($id_grupo != ""){
  139 + //verifica uniciade de login
  140 + $dados = pegaDados("select nome from ".$esquemaadmin."i3geousr_grupos where nome = '$nome'");
  141 + if(count($dados) > 0){
  142 + $retorna = false;
  143 + }
  144 + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_grupos SET nome='$nome',descricao='$descricao' WHERE id_grupo = $id_grupo");
  145 + $retorna = $id_grupo;
  146 + }
  147 + else{
  148 + $idtemp = rand (9000,1000000) * -1;
  149 + //echo "INSERT INTO ".$esquemaadmin."i3geousr_grupos (nome) VALUES ('$idtemp')";exit;
  150 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_grupos (nome) VALUES ('$idtemp')");
  151 + $id = $dbh->query("SELECT id_grupo FROM ".$esquemaadmin."i3geousr_grupos WHERE nome = '$idtemp'");
  152 + $id = $id->fetchAll();
  153 + $id = $id[0]['id_grupo'];
  154 + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_grupos SET nome = '' WHERE id_grupo = $id AND nome = '$idtemp'");
  155 + $retorna = $id;
  156 + }
  157 + $dbhw = null;
  158 + $dbh = null;
  159 + return $retorna;
  160 + }
  161 + catch (PDOException $e){
  162 + return "Error!: " . $e->getMessage();
  163 + }
  164 +}
  165 +function adicionaUsuarioGrupo(){
  166 + global $id_usuario,$id_grupo;
  167 + try {
  168 + include(__DIR__."/conexao.php");
  169 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_grupousuario (id_usuario,id_grupo) VALUES ($id_usuario,$id_grupo)");
  170 + $dbhw = null;
  171 + $dbh = null;
  172 + return "ok";
  173 + }
  174 + catch (PDOException $e){
  175 + return "Error!: " . $e->getMessage();
  176 + }
  177 +}
  178 +function excluirGrupo()
  179 +{
  180 + global $id_grupo;
  181 + try
  182 + {
  183 + include(__DIR__."/conexao.php");
  184 + $dbhw->query("DELETE FROM ".$esquemaadmin."i3geousr_grupos WHERE id_grupo = $id_grupo ");
  185 + $dbhw = null;
  186 + $dbh = null;
  187 + return "ok";
  188 + }
  189 + catch (PDOException $e)
  190 + {
  191 + return "Error!: " . $e->getMessage();
  192 + }
  193 +}
  194 +function excluirUsuarioGrupo()
  195 +{
  196 + global $id_usuario,$id_grupo;
  197 + try
  198 + {
  199 + include(__DIR__."/conexao.php");
  200 + //echo "DELETE from ".$esquemaadmin."i3geousr_usuarios WHERE id_usuario = $id_usuario";exit;
  201 + $dbhw->query("DELETE FROM ".$esquemaadmin."i3geousr_grupousuario WHERE id_usuario = $id_usuario AND id_grupo = $id_grupo ");
  202 + $dbhw = null;
  203 + $dbh = null;
  204 + return "ok";
  205 + }
  206 + catch (PDOException $e)
  207 + {
  208 + return "Error!: " . $e->getMessage();
  209 + }
  210 +}
  211 +?>
0 212 \ No newline at end of file
... ...
admin/php/login.php
... ... @@ -163,9 +163,9 @@ switch (strtoupper($funcao))
163 163 function alterarSenha(){
164 164 global $usuario,$novaSenha;
165 165 include(__DIR__."/conexao.php");
166   - $dados = pegaDados("select * from ".$esquemaadmin."i3GEOadmin_usuarios where senha = '".md5($_SESSION["senha"])."' and login = '$usuario' and ativo = 1",$locaplic);
  166 + $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where senha = '".md5($_SESSION["senha"])."' and login = '$usuario' and ativo = 1",$locaplic);
167 167 if(count($dados) > 0){
168   - $dbhw->query("UPDATE ".$esquemaadmin."i3geoadmin_usuarios SET senha='".md5($novaSenha)."' WHERE login = '$usuario'");
  168 + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='".md5($novaSenha)."' WHERE login = '$usuario'");
169 169 $_SESSION["senha"] = $novaSenha;
170 170 $to = $dados[0]["email"];
171 171 $subject = 'nova senha i3geo';
... ... @@ -181,9 +181,9 @@ function recuperarSenha(){
181 181 global $usuario,$novaSenha;
182 182 include(__DIR__."/conexao.php");
183 183 $novaSenha = rand(9000,1000000);
184   - $dados = pegaDados("select * from ".$esquemaadmin."i3GEOadmin_usuarios where login = '$usuario' and ativo = 1",$locaplic);
  184 + $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and ativo = 1",$locaplic);
185 185 if(count($dados) > 0){
186   - $dbhw->query("UPDATE ".$esquemaadmin."i3geoadmin_usuarios SET senha='$novaSenha' WHERE login = '$usuario'");
  186 + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='$novaSenha' WHERE login = '$usuario'");
187 187 $to = $dados[0]["email"];
188 188 $subject = 'nova senha i3geo';
189 189 $message = $novaSenha;
... ... @@ -234,10 +234,10 @@ function validaSessao(){
234 234 function autenticaUsuario($usuario,$senha){
235 235 include(__DIR__."/conexao.php");
236 236 $senhamd5 = md5($senha);
237   - $dados = pegaDados("select * from ".$esquemaadmin."i3GEOadmin_usuarios where login = '$usuario' and (senha = '$senhamd5' or senha = '$senha') and ativo = 1",$locaplic);
  237 + $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and (senha = '$senhamd5' or senha = '$senha') and ativo = 1",$locaplic);
238 238 if(count($dados) > 0){
239   - $pa = pegaDados("select * from ".$esquemaadmin."i3geoadmin_papelusuario where id_usuario = ".$dados[0]["id_usuario"],$locaplic);
240   - $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);
  239 + $pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario where id_usuario = ".$dados[0]["id_usuario"],$locaplic);
  240 + $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);
241 241 $operacoes = array();
242 242 foreach($op as $o){
243 243 $operacoes[$o["codigo"]] = true;
... ...
admin/php/operacoes.php
... ... @@ -77,27 +77,27 @@ switch (strtoupper($funcao))
77 77 {
78 78 case "ALTERAROPERACOES":
79 79 $novo = alterarOperacoes();
80   - $sql = "SELECT * from ".$esquemaadmin."i3geoadmin_operacoes WHERE id_operacao = ".$novo;
  80 + $sql = "SELECT * from ".$esquemaadmin."i3geousr_operacoes WHERE id_operacao = ".$novo;
81 81 retornaJSON(pegaDados($sql));
82 82 exit;
83 83 break;
84 84 case "PEGAOPERACOES":
85   - retornaJSON(pegaDados("SELECT id_operacao,codigo,descricao from ".$esquemaadmin."i3geoadmin_operacoes order by codigo"));
  85 + retornaJSON(pegaDados("SELECT id_operacao,codigo,descricao from ".$esquemaadmin."i3geousr_operacoes order by codigo"));
86 86 exit;
87 87 break;
88 88 case "PEGAPAPEISOPERACAO":
89   - $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");
  89 + $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");
90 90 $dados[] = array("id_papel"=>1,"nome"=>"admin","descricao"=>"admin");
91 91 retornaJSON($dados);
92 92 exit;
93 93 break;
94 94 case "PEGADADOSOPERACAO":
95   - retornaJSON(pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_operacoes WHERE id_operacao = $id_operacao"));
  95 + retornaJSON(pegaDados("SELECT * from ".$esquemaadmin."i3geousr_operacoes WHERE id_operacao = $id_operacao"));
96 96 exit;
97 97 break;
98 98 case "ADICIONAPAPELOPERACOES":
99 99 adicionaPapelOperacoes();
100   - $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");
  100 + $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");
101 101 retornaJSON($dados);
102 102 exit;
103 103 break;
... ... @@ -107,7 +107,7 @@ switch (strtoupper($funcao))
107 107 exit;
108 108 break;
109 109 case "LISTAPAPEIS":
110   - retornaJSON(pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_papeis order by nome"));
  110 + retornaJSON(pegaDados("SELECT * from ".$esquemaadmin."i3geousr_papeis order by nome"));
111 111 exit;
112 112 break;
113 113 }
... ... @@ -122,16 +122,16 @@ function alterarOperacoes()
122 122 $descricao = utf8_encode($descricao);
123 123 }
124 124 if($id_operacao != ""){
125   - $dbhw->query("UPDATE ".$esquemaadmin."i3geoadmin_operacoes SET codigo='$codigo',descricao='$descricao' WHERE id_operacao = $id_operacao");
  125 + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_operacoes SET codigo='$codigo',descricao='$descricao' WHERE id_operacao = $id_operacao");
126 126 $retorna = $id_operacao;
127 127 }
128 128 else{
129 129 $idtemp = (rand (9000,10000)) * -1;
130   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes (codigo,descricao) VALUES ('','$idtemp')");
131   - $id = $dbh->query("SELECT id_operacao FROM ".$esquemaadmin."i3geoadmin_operacoes WHERE descricao = '$idtemp'");
  130 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes (codigo,descricao) VALUES ('','$idtemp')");
  131 + $id = $dbh->query("SELECT id_operacao FROM ".$esquemaadmin."i3geousr_operacoes WHERE descricao = '$idtemp'");
132 132 $id = $id->fetchAll();
133 133 $id = $id[0]['id_operacao'];
134   - $dbhw->query("UPDATE ".$esquemaadmin."i3geoadmin_operacoes SET descricao = '' WHERE id_operacao = $id AND descricao = '$idtemp'");
  134 + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_operacoes SET descricao = '' WHERE id_operacao = $id AND descricao = '$idtemp'");
135 135 $retorna = $id;
136 136 }
137 137 $dbhw = null;
... ... @@ -147,7 +147,7 @@ function adicionaPapelOperacoes(){
147 147 try
148 148 {
149 149 include(__DIR__."/conexao.php");
150   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis (id_operacao,id_papel) VALUES ($id_operacao,$id_papel)");
  150 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis (id_operacao,id_papel) VALUES ($id_operacao,$id_papel)");
151 151 $dbhw = null;
152 152 $dbh = null;
153 153 return "ok";
... ... @@ -161,7 +161,7 @@ function excluirPapelOperacao(){
161 161 try
162 162 {
163 163 include(__DIR__."/conexao.php");
164   - $dbhw->query("DELETE from ".$esquemaadmin."i3geoadmin_operacoespapeis WHERE id_operacao = $id_operacao AND id_papel = $id_papel");
  164 + $dbhw->query("DELETE from ".$esquemaadmin."i3geousr_operacoespapeis WHERE id_operacao = $id_operacao AND id_papel = $id_papel");
165 165 $dbhw = null;
166 166 $dbh = null;
167 167 return "ok";
... ...
admin/php/upgradebanco46_47.php
... ... @@ -74,11 +74,11 @@ else{
74 74 }
75 75 error_reporting(E_ALL);
76 76 $tabelas = array(
77   -"CREATE TABLE ".$esquemaadmin."i3geoadmin_usuarios (ativo NUMERIC, data_cadastro TEXT, email TEXT, id_usuario INTEGER PRIMARY KEY, login TEXT, nome_usuario TEXT, senha TEXT)",
78   -"CREATE TABLE ".$esquemaadmin."i3geoadmin_papelusuario (id_papel NUMERIC, id_usuario NUMERIC)",
79   -"CREATE TABLE ".$esquemaadmin."i3geoadmin_papeis (descricao TEXT, id_papel INTEGER PRIMARY KEY, nome TEXT)",
80   -"CREATE TABLE ".$esquemaadmin."i3geoadmin_operacoes (id_operacao INTEGER PRIMARY KEY, codigo TEXT, descricao TEXT)",
81   -"CREATE TABLE ".$esquemaadmin."i3geoadmin_operacoespapeis (id_operacao NUMERIC, id_papel NUMERIC)"
  77 +"CREATE TABLE ".$esquemaadmin."i3geousr_usuarios (ativo NUMERIC, data_cadastro TEXT, email TEXT, id_usuario INTEGER PRIMARY KEY, login TEXT, nome_usuario TEXT, senha TEXT)",
  78 +"CREATE TABLE ".$esquemaadmin."i3geousr_papelusuario (id_papel NUMERIC, id_usuario NUMERIC)",
  79 +"CREATE TABLE ".$esquemaadmin."i3geousr_papeis (descricao TEXT, id_papel INTEGER PRIMARY KEY, nome TEXT)",
  80 +"CREATE TABLE ".$esquemaadmin."i3geousr_operacoes (id_operacao INTEGER PRIMARY KEY, codigo TEXT, descricao TEXT)",
  81 +"CREATE TABLE ".$esquemaadmin."i3geousr_operacoespapeis (id_operacao NUMERIC, id_papel NUMERIC)"
82 82 );
83 83 foreach($tabelas as $tabela)
84 84 {
... ... @@ -103,77 +103,77 @@ foreach($tabelas as $tabela)
103 103 echo "Tabelas:\n";
104 104 var_dump($tabelas);
105 105 echo "Inserindo os registros default\n";
106   -$teste = lista("select * from ".$esquemaadmin."i3geoadmin_papeis","id_papel");
  106 +$teste = lista("select * from ".$esquemaadmin."i3geousr_papeis","id_papel");
107 107 if(!in_array($teste,1))
108   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papeis VALUES('Podem executar qualquer tarefa, inclusive cadastrar novos administradores',1,'admin')");
  108 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem executar qualquer tarefa, inclusive cadastrar novos administradores',1,'admin')");
109 109 if(!in_array($teste,2))
110   - $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')");
  110 + $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')");
111 111 if(!in_array($teste,3))
112   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papeis VALUES('Podem alterar a arvore do catalogo e dos atlas',3,'publicadores')");
  112 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem alterar a arvore do catalogo e dos atlas',3,'publicadores')");
113 113 if(!in_array($teste,4))
114   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papeis VALUES('Podem editar dados geograficos',4,'editoresgeo')");
  114 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem editar dados geograficos',4,'editoresgeo')");
115 115  
116   -$teste = lista("select * from ".$esquemaadmin."i3geoadmin_usuarios","id_usuario");
  116 +$teste = lista("select * from ".$esquemaadmin."i3geousr_usuarios","id_usuario");
117 117 if(!in_array($teste,1))
118   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_usuarios VALUES(1,'','',1,'admin','admin','admin')");
  118 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_usuarios VALUES(1,'','',1,'admin','admin','admin')");
119 119  
120   -$teste = lista("select * from ".$esquemaadmin."i3geoadmin_papelusuario","id_usuario","id_papel");
  120 +$teste = lista("select * from ".$esquemaadmin."i3geousr_papelusuario","id_usuario","id_papel");
121 121 if(!in_array($teste,"1-1"))
122   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papelusuario VALUES(1,1)");
  122 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papelusuario VALUES(1,1)");
123 123  
124   -$teste = lista("select * from ".$esquemaadmin."i3geoadmin_operacoes","id_operacao");
  124 +$teste = lista("select * from ".$esquemaadmin."i3geousr_operacoes","id_operacao");
125 125 if(!in_array($teste,1))
126   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(1,'admin/html/editormapfile','editor de mapfiles do sistema de administracao')");
  126 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(1,'admin/html/editormapfile','editor de mapfiles do sistema de administracao')");
127 127 if(!in_array($teste,2))
128   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(2,'admin/html/operacoes','abre o editor de operacoes')");
  128 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(2,'admin/html/operacoes','abre o editor de operacoes')");
129 129 if(!in_array($teste,3))
130   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(3,'teste/','teste')");
  130 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(3,'teste/','teste')");
131 131 if(!in_array($teste,4))
132   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(4,'admin/html/arvore','edicao da arvore do catalogo de temas')");
  132 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(4,'admin/html/arvore','edicao da arvore do catalogo de temas')");
133 133 if(!in_array($teste,5))
134   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(5,'admin/html/menus','edicao da lista de menus')");
  134 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(5,'admin/html/menus','edicao da lista de menus')");
135 135 if(!in_array($teste,6))
136   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(6,'admin/html/ogcws','edicao das preferencias do servico WMS')");
  136 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(6,'admin/html/ogcws','edicao das preferencias do servico WMS')");
137 137 if(!in_array($teste,7))
138   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(7,'admin/html/atlas','edicao de atlas')");
  138 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(7,'admin/html/atlas','edicao de atlas')");
139 139 if(!in_array($teste,8))
140   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(8,'admin/html/identifica','lista de sistemas incluidos na ferramenta de identificacao')");
  140 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(8,'admin/html/identifica','lista de sistemas incluidos na ferramenta de identificacao')");
141 141 if(!in_array($teste,9))
142   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(9,'admin/html/incluimap','adapta mapfiles antigos para versoes novas do Mapserver')");
  142 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(9,'admin/html/incluimap','adapta mapfiles antigos para versoes novas do Mapserver')");
143 143 if(!in_array($teste,10))
144   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(10,'admin/html/mapas','lista de links para mapas')");
  144 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(10,'admin/html/mapas','lista de links para mapas')");
145 145 if(!in_array($teste,11))
146   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(11,'admin/html/perfis','lista controlada de perfis')");
  146 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(11,'admin/html/perfis','lista controlada de perfis')");
147 147 if(!in_array($teste,12))
148   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(12,'admin/html/sistemas','lista de sistemas complementares que sao mostrados no catalogo')");
  148 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(12,'admin/html/sistemas','lista de sistemas complementares que sao mostrados no catalogo')");
149 149 if(!in_array($teste,13))
150   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(13,'admin/html/subirshapefile','upload de shapefile para uma pasta especifica no servidor')");
  150 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(13,'admin/html/subirshapefile','upload de shapefile para uma pasta especifica no servidor')");
151 151 if(!in_array($teste,14))
152   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(14,'admin/html/tags','edicao da lista controlada de tags')");
  152 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(14,'admin/html/tags','edicao da lista controlada de tags')");
153 153 if(!in_array($teste,15))
154   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(15,'admin/html/webservices','cadastro de links para webservices')");
  154 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(15,'admin/html/webservices','cadastro de links para webservices')");
155 155 if(!in_array($teste,16))
156   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoes VALUES(16,'admin/php/editortexto','editor de texto para mapfiles')");
  156 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(16,'admin/php/editortexto','editor de texto para mapfiles')");
157 157  
158   -$teste = lista("select * from ".$esquemaadmin."i3geoadmin_operacoes","id_operacao","id_papel");
  158 +$teste = lista("select * from ".$esquemaadmin."i3geousr_operacoes","id_operacao","id_papel");
159 159 if(!in_array($teste,'1-2'))
160   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(1,2)");
  160 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(1,2)");
161 161 if(!in_array($teste,'1-3'))
162   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(1,3)");
  162 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(1,3)");
163 163 if(!in_array($teste,'4-3'))
164   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(4,3)");
  164 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(4,3)");
165 165 if(!in_array($teste,'5-3'))
166   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(5,3)");
  166 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(5,3)");
167 167 if(!in_array($teste,'7-3'))
168   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(7,3)");
  168 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(7,3)");
169 169 if(!in_array($teste,'10-3'))
170   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(10,3)");
  170 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(10,3)");
171 171 if(!in_array($teste,'13-2'))
172   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(13,2)");
  172 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(13,2)");
173 173 if(!in_array($teste,'13-4'))
174   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(13,4)");
  174 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(13,4)");
175 175 if(!in_array($teste,'15-3'))
176   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_operacoespapeis VALUES(15,3)");
  176 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(15,3)");
177 177  
178 178 echo "Feito!";
179 179 function lista($sql,$coluna,$coluna1=""){
... ...
admin/php/usuarios.php
... ... @@ -25,7 +25,7 @@ Este programa &amp;eacute; distribu&amp;iacute;do na expectativa de que seja &amp;uacute;til
25 25 por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
26 26 de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
27 27 Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
28   -Voc&ecirc; deve ter recebido uma cpia da Licen&ccedil;a P&uacute;blica Geral do
  28 +Voc&ecirc; deve ter recebido uma copia da Licen&ccedil;a P&uacute;blica Geral do
29 29 GNU junto com este programa; se n&atilde;o, escreva para a
30 30 Free Software Foundation, Inc., no endere&ccedil;o
31 31 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
... ... @@ -80,25 +80,25 @@ switch (strtoupper($funcao))
80 80 retornaJSON(array());
81 81 exit;
82 82 }
83   - $sql = "SELECT id_usuario,ativo,data_cadastro,email,login,nome_usuario from ".$esquemaadmin."i3geoadmin_usuarios WHERE id_usuario = ".$novo;
  83 + $sql = "SELECT id_usuario,ativo,data_cadastro,email,login,nome_usuario from ".$esquemaadmin."i3geousr_usuarios WHERE id_usuario = ".$novo;
84 84 retornaJSON(pegaDados($sql));
85 85 exit;
86 86 break;
87 87 case "PEGAUSUARIOS":
88   - retornaJSON(pegaDados("SELECT id_usuario,ativo,data_cadastro,email,login,nome_usuario from ".$esquemaadmin."i3geoadmin_usuarios order by nome_usuario"));
  88 + retornaJSON(pegaDados("SELECT id_usuario,ativo,data_cadastro,email,login,nome_usuario from ".$esquemaadmin."i3geousr_usuarios order by nome_usuario"));
89 89 exit;
90 90 break;
91 91 case "PEGAPAPEISUSUARIO":
92   - $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");
  92 + $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");
93 93 retornaJSON($dados);
94 94 exit;
95 95 break;
96 96 case "PEGADADOSUSUARIO":
97   - retornaJSON(pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_usuarios WHERE id_usuario = $id_usuario"));
  97 + retornaJSON(pegaDados("SELECT * from ".$esquemaadmin."i3geousr_usuarios WHERE id_usuario = $id_usuario"));
98 98 exit;
99 99 break;
100 100 case "EXCLUIRUSUARIO":
101   - $tabela = "i3geoadmin_usuarios";
  101 + $tabela = "i3geousr_usuarios";
102 102 $id = $id_usuario;
103 103 $f = verificaFilhos();
104 104 if(!$f){
... ... @@ -111,7 +111,7 @@ switch (strtoupper($funcao))
111 111 break;
112 112 case "ADICIONAPAPELUSUARIO":
113 113 adicionaPapelUsuario();
114   - $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");
  114 + $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");
115 115 retornaJSON($dados);
116 116 exit;
117 117 break;
... ... @@ -119,7 +119,7 @@ switch (strtoupper($funcao))
119 119 retornaJSON(excluirPapelUsuario());
120 120 break;
121 121 case "LISTAPAPEIS":
122   - retornaJSON(pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_papeis order by nome"));
  122 + retornaJSON(pegaDados("SELECT * from ".$esquemaadmin."i3geousr_papeis order by nome"));
123 123 exit;
124 124 break;
125 125 case "ENVIARSENHAEMAIL":
... ... @@ -132,10 +132,10 @@ function enviarSenhaEmail(){
132 132 global $id_usuario;
133 133 include(__DIR__."/conexao.php");
134 134 $novaSenha = rand(9000,1000000);
135   - $dados = pegaDados("select * from ".$esquemaadmin."i3GEOadmin_usuarios where id_usuario = $id_usuario and ativo = 1");
  135 + $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where id_usuario = $id_usuario and ativo = 1");
136 136 if(count($dados) > 0){
137 137 $senha = md5($novaSenha);
138   - $dbhw->query("UPDATE ".$esquemaadmin."i3geoadmin_usuarios SET senha='$senha' WHERE id_usuario = $id_usuario");
  138 + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='$senha' WHERE id_usuario = $id_usuario");
139 139 $to = $dados[0]["email"];
140 140 $subject = 'senha i3geo';
141 141 $message = $novaSenha;
... ... @@ -157,17 +157,17 @@ function alterarUsuarios()
157 157 }
158 158 if($id_usuario != ""){
159 159 //verifica uniciade de login
160   - $dados = pegaDados("select login from ".$esquemaadmin."i3GEOadmin_usuarios where login = '$login'");
  160 + $dados = pegaDados("select login from ".$esquemaadmin."i3geousr_usuarios where login = '$login'");
161 161 if(count($dados) > 0){
162 162 $retorna = false;
163 163 }
164 164 //se a senha foi enviada, ela sera trocada
165 165 if($senha != ""){
166 166 $senha = md5($senha);
167   - $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");
  167 + $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");
168 168 }
169 169 else{
170   - $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");
  170 + $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");
171 171 }
172 172 $retorna = $id_usuario;
173 173 }
... ... @@ -176,11 +176,11 @@ function alterarUsuarios()
176 176 if($senha == ""){
177 177 $senha = md5($idtemp);
178 178 }
179   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_usuarios (senha,nome_usuario,ativo) VALUES ('$senha','$idtemp',0)");
180   - $id = $dbh->query("SELECT id_usuario FROM ".$esquemaadmin."i3geoadmin_usuarios WHERE nome_usuario = '$idtemp'");
  179 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_usuarios (senha,nome_usuario,ativo) VALUES ('$senha','$idtemp',0)");
  180 + $id = $dbh->query("SELECT id_usuario FROM ".$esquemaadmin."i3geousr_usuarios WHERE nome_usuario = '$idtemp'");
181 181 $id = $id->fetchAll();
182 182 $id = $id[0]['id_usuario'];
183   - //$dbhw->query("UPDATE ".$esquemaadmin."i3geoadmin_usuarios SET nome_usuario = '' WHERE id_usuario = $id AND nome_usuario = '$idtemp'");
  183 + //$dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET nome_usuario = '' WHERE id_usuario = $id AND nome_usuario = '$idtemp'");
184 184 $retorna = $id;
185 185 }
186 186 $dbhw = null;
... ... @@ -196,7 +196,7 @@ function adicionaPapelUsuario(){
196 196 try
197 197 {
198 198 include(__DIR__."/conexao.php");
199   - $dbhw->query("INSERT INTO ".$esquemaadmin."i3geoadmin_papelusuario (id_usuario,id_papel) VALUES ($id_usuario,$id_papel)");
  199 + $dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papelusuario (id_usuario,id_papel) VALUES ($id_usuario,$id_papel)");
200 200 $dbhw = null;
201 201 $dbh = null;
202 202 return "ok";
... ... @@ -211,8 +211,8 @@ function excluirUsuario()
211 211 try
212 212 {
213 213 include(__DIR__."/conexao.php");
214   - //echo "DELETE from ".$esquemaadmin."i3geoadmin_usuarios WHERE id_usuario = $id_usuario";exit;
215   - $dbhw->query("DELETE FROM ".$esquemaadmin."i3geoadmin_usuarios WHERE id_usuario = $id_usuario ");
  214 + //echo "DELETE from ".$esquemaadmin."i3geousr_usuarios WHERE id_usuario = $id_usuario";exit;
  215 + $dbhw->query("DELETE FROM ".$esquemaadmin."i3geousr_usuarios WHERE id_usuario = $id_usuario ");
216 216 $dbhw = null;
217 217 $dbh = null;
218 218 return "ok";
... ... @@ -228,8 +228,8 @@ function excluirPapelUsuario()
228 228 try
229 229 {
230 230 include(__DIR__."/conexao.php");
231   - //echo "DELETE from ".$esquemaadmin."i3geoadmin_usuarios WHERE id_usuario = $id_usuario";exit;
232   - $dbhw->query("DELETE FROM ".$esquemaadmin."i3geoadmin_papelusuario WHERE id_usuario = $id_usuario AND id_papel = $id_papel ");
  231 + //echo "DELETE from ".$esquemaadmin."i3geousr_usuarios WHERE id_usuario = $id_usuario";exit;
  232 + $dbhw->query("DELETE FROM ".$esquemaadmin."i3geousr_papelusuario WHERE id_usuario = $id_usuario AND id_papel = $id_papel ");
233 233 $dbhw = null;
234 234 $dbh = null;
235 235 return "ok";
... ...
admin/sql/cadastrodeusuarios.sql 0 → 100644
... ... @@ -0,0 +1,99 @@
  1 +
  2 +/* drop tables */
  3 +
  4 +drop table i3geousr_grupousuario;
  5 +drop table i3geousr_grupos;
  6 +drop table i3geousr_operacoespapeis;
  7 +drop table i3geousr_operacoes;
  8 +drop table i3geousr_papelusuario;
  9 +drop table i3geousr_papeis;
  10 +drop table i3geousr_usuarios;
  11 +
  12 +
  13 +
  14 +
  15 +/* create tables */
  16 +
  17 +-- grupos de usuários
  18 +create table i3geousr_grupos
  19 +(
  20 + -- identificador único do grupo
  21 + id_grupo integer not null unique primary key autoincrement,
  22 + -- nome do grupo
  23 + nome text,
  24 + -- descricao do grupo
  25 + descricao text
  26 +);
  27 +
  28 +
  29 +-- cadastro de usuários
  30 +create table i3geousr_usuarios
  31 +(
  32 + id_usuario integer not null unique primary key autoincrement,
  33 + -- 0 ou 1 indicando se o usuário está ativo ou não
  34 + ativo numeric not null,
  35 + -- data do cadastro do usuário
  36 + data_cadastro text,
  37 + email text,
  38 + -- login do usuário
  39 + login text not null,
  40 + -- nome real do usuário
  41 + nome_usuario text,
  42 + senha text not null
  43 +);
  44 +
  45 +
  46 +create table i3geousr_grupousuario
  47 +(
  48 + id_usuario integer not null,
  49 + -- identificador único do grupo
  50 + id_grupo integer not null,
  51 + foreign key (id_usuario)
  52 + references i3geousr_usuarios (id_usuario),
  53 + foreign key (id_grupo)
  54 + references i3geousr_grupos (id_grupo)
  55 +);
  56 +
  57 +
  58 +-- cadastro de operações do sistema
  59 +create table i3geousr_operacoes
  60 +(
  61 + id_operacao integer not null unique primary key autoincrement,
  62 + -- código da operação
  63 + codigo text,
  64 + descricao text
  65 +);
  66 +
  67 +
  68 +-- cadastro de papéis que permitem definir as operações
  69 +create table i3geousr_papeis
  70 +(
  71 + id_papel integer not null unique,
  72 + nome text not null unique,
  73 + descricao text
  74 +);
  75 +
  76 +
  77 +create table i3geousr_operacoespapeis
  78 +(
  79 + id_operacao integer not null,
  80 + id_papel integer not null,
  81 + foreign key (id_operacao)
  82 + references i3geousr_operacoes (id_operacao),
  83 + foreign key (id_papel)
  84 + references i3geousr_papeis (id_papel)
  85 +);
  86 +
  87 +
  88 +create table i3geousr_papelusuario
  89 +(
  90 + id_usuario integer not null,
  91 + id_papel integer not null,
  92 + foreign key (id_papel)
  93 + references i3geousr_papeis (id_papel),
  94 + foreign key (id_usuario)
  95 + references i3geousr_usuarios (id_usuario)
  96 +);
  97 +
  98 +
  99 +
... ...
admin/sql/usuarios_basededados.sql 0 → 100644
... ... @@ -0,0 +1,54 @@
  1 +-- i3geousr_usuarios
  2 +INSERT INTO i3geousr_usuarios (id_usuario, ativo, data_cadastro, email, login, nome_usuario, senha) VALUES ('1', '1', '', '', 'admin', 'administrador do i3geo', 'admin');
  3 +INSERT INTO i3geousr_usuarios (id_usuario, ativo, data_cadastro, email, login, nome_usuario, senha) VALUES ('2', '1', '', '', 'editor', 'teste de editor', 'editor');
  4 +INSERT INTO i3geousr_usuarios (id_usuario, ativo, data_cadastro, email, login, nome_usuario, senha) VALUES ('3', '1', '', '', 'publicador', 'teste de publicador', 'publicador');
  5 +INSERT INTO i3geousr_usuarios (id_usuario, ativo, data_cadastro, email, login, nome_usuario, senha) VALUES ('4', '1', '', '', 'editorgeo', 'teste de editor geo', 'editorgeo');
  6 +
  7 +
  8 +-- i3geousr_operacoes
  9 +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('1', 'admin/html/editormapfile', 'editor de mapfiles do sistema de administracao');
  10 +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('2', 'admin/html/operacoes', 'abre o editor de operacoes');
  11 +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('3', 'teste/', 'teste');
  12 +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('4', 'admin/html/arvore', 'edicao da arvore do catalogo de temas');
  13 +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('5', 'admin/html/menus', 'edicao da lista de menus');
  14 +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('6', 'admin/html/ogcws', 'edicao das preferencias do servico WMS');
  15 +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('7', 'admin/html/atlas', 'edicao de atlas');
  16 +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('8', 'admin/html/identifica', 'lista de sistemas incluidos na ferramenta de identificacao');
  17 +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('9', 'admin/html/incluimap', 'adapta mapfiles antigos para versoes novas do Mapserver');
  18 +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('10', 'admin/html/mapas', 'lista de links para mapas');
  19 +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('11', 'admin/html/perfis', 'lista controlada de perfis');
  20 +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('12', 'admin/html/sistemas', 'lista de sistemas complementares adicionados ao catalogo de camadas');
  21 +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('13', 'admin/html/subirshapefile', 'upload de shapefile para uma pasta específica no servidor');
  22 +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('14', 'admin/html/tags', 'lista controlada de tags');
  23 +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('15', 'admin/html/webservices', 'cadastro de links para webservices');
  24 +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('16', 'admin/php/editortexto', 'editor de textos para edicao de mapfiles');
  25 +INSERT INTO i3geousr_operacoes (id_operacao, codigo, descricao) VALUES ('17', 'admin/html/usuarios', 'cadastro de usuarios');
  26 +
  27 +
  28 +-- i3geousr_operacoespapeis
  29 +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('16', '2');
  30 +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('1', '2');
  31 +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('1', '3');
  32 +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('4', '3');
  33 +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('5', '3');
  34 +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('7', '3');
  35 +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('10', '3');
  36 +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('13', '2');
  37 +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('13', '4');
  38 +INSERT INTO i3geousr_operacoespapeis (id_operacao, id_papel) VALUES ('15', '3');
  39 +
  40 +
  41 +-- i3geousr_papeis
  42 +INSERT INTO i3geousr_papeis (id_papel, nome, descricao) VALUES ('1', 'admin', 'Podem executar qualquer tarefa, inclusive cadastrar novos administradores');
  43 +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');
  44 +INSERT INTO i3geousr_papeis (id_papel, nome, descricao) VALUES ('3', 'publicadores', 'Podem alterar a arvore do catalogo de temas e dos atlas');
  45 +INSERT INTO i3geousr_papeis (id_papel, nome, descricao) VALUES ('4', 'editoresgeo', 'Podem editar dados geograficos');
  46 +
  47 +
  48 +-- i3geousr_papelusuario
  49 +INSERT INTO i3geousr_papelusuario (id_usuario, id_papel) VALUES ('2', '2');
  50 +INSERT INTO i3geousr_papelusuario (id_usuario, id_papel) VALUES ('3', '3');
  51 +INSERT INTO i3geousr_papelusuario (id_usuario, id_papel) VALUES ('4', '4');
  52 +INSERT INTO i3geousr_papelusuario (id_usuario, id_papel) VALUES ('1', '1');
  53 +
  54 +
... ...
documentacao/diagramas/cadastrodeusuarios.erm
... ... @@ -11,7 +11,7 @@
11 11 </page_setting>
12 12 <category_index>0</category_index>
13 13 <zoom>1.0</zoom>
14   - <x>0</x>
  14 + <x>7</x>
15 15 <y>0</y>
16 16 <default_color>
17 17 <r>230</r>
... ... @@ -40,14 +40,14 @@
40 40 <use_bezier_curve>false</use_bezier_curve>
41 41 <suspend_validator>false</suspend_validator>
42 42 <export_setting>
43   - <category_name_to_export></category_name_to_export>
44   - <ddl_output></ddl_output>
  43 + <category_name_to_export>All</category_name_to_export>
  44 + <ddl_output>/var/www/i3geo/admin/sql/cadastrodeusuarios.sql</ddl_output>
45 45 <excel_output></excel_output>
46 46 <excel_template></excel_template>
47 47 <image_output></image_output>
48 48 <put_diagram_on_excel>false</put_diagram_on_excel>
49 49 <use_logical_name_as_sheet>false</use_logical_name_as_sheet>
50   - <open_after_saved>false</open_after_saved>
  50 + <open_after_saved>true</open_after_saved>
51 51 <create_comment>true</create_comment>
52 52 <create_foreignKey>true</create_foreignKey>
53 53 <create_index>true</create_index>
... ... @@ -77,8 +77,8 @@
77 77 <with_hibernate>false</with_hibernate>
78 78 </export_java_setting>
79 79 <export_testdata_setting>
80   - <file_encoding></file_encoding>
81   - <file_path></file_path>
  80 + <file_encoding>UTF-8</file_encoding>
  81 + <file_path>/var/www/i3geo/admin/sql</file_path>
82 82 <format>0</format>
83 83 </export_testdata_setting>
84 84 </export_setting>
... ... @@ -110,7 +110,7 @@
110 110 </connections>
111 111 <display>false</display>
112 112 <creation_date>2012-07-19 01:51:14</creation_date>
113   - <updated_date>2012-07-19 10:09:09</updated_date>
  113 + <updated_date>2012-07-30 22:24:51</updated_date>
114 114 <model_property>
115 115 <name>Project Name</name>
116 116 <value></value>
... ... @@ -216,13 +216,39 @@
216 216 <array_dimension>null</array_dimension>
217 217 <unsigned>false</unsigned>
218 218 <args></args>
  219 + <description>Descricao do grupo</description>
  220 + <logical_name>descricao</logical_name>
  221 + <physical_name>descricao</physical_name>
  222 + <type>text</type>
  223 + </word>
  224 + <word>
  225 + <id>6</id>
  226 + <length>null</length>
  227 + <decimal>null</decimal>
  228 + <array>false</array>
  229 + <array_dimension>null</array_dimension>
  230 + <unsigned>false</unsigned>
  231 + <args></args>
219 232 <description></description>
220 233 <logical_name>email</logical_name>
221 234 <physical_name>email</physical_name>
222 235 <type>text</type>
223 236 </word>
224 237 <word>
225   - <id>6</id>
  238 + <id>7</id>
  239 + <length>null</length>
  240 + <decimal>null</decimal>
  241 + <array>false</array>
  242 + <array_dimension>null</array_dimension>
  243 + <unsigned>false</unsigned>
  244 + <args></args>
  245 + <description>identificador único do grupo</description>
  246 + <logical_name>id_grupo</logical_name>
  247 + <physical_name>id_grupo</physical_name>
  248 + <type>integer</type>
  249 + </word>
  250 + <word>
  251 + <id>8</id>
226 252 <length>null</length>
227 253 <decimal>null</decimal>
228 254 <array>false</array>
... ... @@ -235,7 +261,7 @@
235 261 <type>integer</type>
236 262 </word>
237 263 <word>
238   - <id>7</id>
  264 + <id>9</id>
239 265 <length>null</length>
240 266 <decimal>null</decimal>
241 267 <array>false</array>
... ... @@ -248,7 +274,7 @@
248 274 <type>integer</type>
249 275 </word>
250 276 <word>
251   - <id>8</id>
  277 + <id>10</id>
252 278 <length>null</length>
253 279 <decimal>null</decimal>
254 280 <array>false</array>
... ... @@ -261,7 +287,7 @@
261 287 <type>integer</type>
262 288 </word>
263 289 <word>
264   - <id>9</id>
  290 + <id>11</id>
265 291 <length>null</length>
266 292 <decimal>null</decimal>
267 293 <array>false</array>
... ... @@ -274,7 +300,7 @@
274 300 <type>text</type>
275 301 </word>
276 302 <word>
277   - <id>10</id>
  303 + <id>12</id>
278 304 <length>null</length>
279 305 <decimal>null</decimal>
280 306 <array>false</array>
... ... @@ -287,7 +313,20 @@
287 313 <type>text</type>
288 314 </word>
289 315 <word>
290   - <id>11</id>
  316 + <id>13</id>
  317 + <length>null</length>
  318 + <decimal>null</decimal>
  319 + <array>false</array>
  320 + <array_dimension>null</array_dimension>
  321 + <unsigned>false</unsigned>
  322 + <args></args>
  323 + <description>Nome do grupo</description>
  324 + <logical_name>nome</logical_name>
  325 + <physical_name>nome</physical_name>
  326 + <type>text</type>
  327 + </word>
  328 + <word>
  329 + <id>14</id>
291 330 <length>null</length>
292 331 <decimal>null</decimal>
293 332 <array>false</array>
... ... @@ -300,7 +339,7 @@
300 339 <type>text</type>
301 340 </word>
302 341 <word>
303   - <id>12</id>
  342 + <id>15</id>
304 343 <length>null</length>
305 344 <decimal>null</decimal>
306 345 <array>false</array>
... ... @@ -316,66 +355,48 @@
316 355 <tablespace_set>
317 356 </tablespace_set>
318 357 <contents>
319   - <table>
  358 + <note>
320 359 <id>0</id>
321   - <height>86</height>
322   - <width>237</width>
  360 + <height>75</height>
  361 + <width>270</width>
  362 + <font_name>Ubuntu</font_name>
  363 + <font_size>12</font_size>
  364 + <x>35</x>
  365 + <y>18</y>
  366 + <color>
  367 + <r>230</r>
  368 + <g>230</g>
  369 + <b>250</b>
  370 + </color>
  371 + <connections>
  372 + </connections>
  373 + <text>Cadastro de usuários do i3Geo</text>
  374 + </note>
  375 + <table>
  376 + <id>1</id>
  377 + <height>191</height>
  378 + <width>213</width>
323 379 <font_name>Ubuntu</font_name>
324 380 <font_size>9</font_size>
325   - <x>552</x>
326   - <y>412</y>
  381 + <x>234</x>
  382 + <y>127</y>
327 383 <color>
328 384 <r>128</r>
329 385 <g>128</g>
330 386 <b>192</b>
331 387 </color>
332 388 <connections>
333   - <relation>
334   - <id>0</id>
335   - <source>3</source>
336   - <target>0</target>
337   - <child_cardinality>1..n</child_cardinality>
338   - <parent_cardinality>1</parent_cardinality>
339   - <reference_for_pk>true</reference_for_pk>
340   - <name></name>
341   - <on_delete_action>RESTRICT</on_delete_action>
342   - <on_update_action>RESTRICT</on_update_action>
343   - <source_xp>-1</source_xp>
344   - <source_yp>-1</source_yp>
345   - <target_xp>-1</target_xp>
346   - <target_yp>-1</target_yp>
347   - <referenced_column>null</referenced_column>
348   - <referenced_complex_unique_key>null</referenced_complex_unique_key>
349   - </relation>
350   - <relation>
351   - <id>1</id>
352   - <source>1</source>
353   - <target>0</target>
354   - <child_cardinality>1..n</child_cardinality>
355   - <parent_cardinality>1</parent_cardinality>
356   - <reference_for_pk>true</reference_for_pk>
357   - <name></name>
358   - <on_delete_action>RESTRICT</on_delete_action>
359   - <on_update_action>RESTRICT</on_update_action>
360   - <source_xp>-1</source_xp>
361   - <source_yp>-1</source_yp>
362   - <target_xp>-1</target_xp>
363   - <target_yp>-1</target_yp>
364   - <referenced_column>null</referenced_column>
365   - <referenced_complex_unique_key>null</referenced_complex_unique_key>
366   - </relation>
367 389 </connections>
368   - <physical_name>i3geoadmin_operacoespapeis</physical_name>
369   - <logical_name>i3geoadmin_operacoespapeis</logical_name>
370   - <description></description>
  390 + <physical_name>i3geousr_usuarios</physical_name>
  391 + <logical_name>i3geousr_usuarios</logical_name>
  392 + <description>Cadastro de usuários</description>
371 393 <constraint></constraint>
372 394 <primary_key_name></primary_key_name>
373 395 <option></option>
374 396 <columns>
375 397 <normal_column>
  398 + <word_id>10</word_id>
376 399 <id>0</id>
377   - <referenced_column>7</referenced_column>
378   - <relation>0</relation>
379 400 <description></description>
380 401 <unique_key_name></unique_key_name>
381 402 <logical_name></logical_name>
... ... @@ -383,11 +404,11 @@
383 404 <type>integer</type>
384 405 <constraint></constraint>
385 406 <default_value></default_value>
386   - <auto_increment>false</auto_increment>
387   - <foreign_key>true</foreign_key>
  407 + <auto_increment>true</auto_increment>
  408 + <foreign_key>false</foreign_key>
388 409 <not_null>true</not_null>
389   - <primary_key>false</primary_key>
390   - <unique_key>false</unique_key>
  410 + <primary_key>true</primary_key>
  411 + <unique_key>true</unique_key>
391 412 <character_set></character_set>
392 413 <collation></collation>
393 414 <sequence>
... ... @@ -406,18 +427,17 @@
406 427 </sequence>
407 428 </normal_column>
408 429 <normal_column>
  430 + <word_id>0</word_id>
409 431 <id>1</id>
410   - <referenced_column>2</referenced_column>
411   - <relation>1</relation>
412 432 <description></description>
413 433 <unique_key_name></unique_key_name>
414 434 <logical_name></logical_name>
415 435 <physical_name></physical_name>
416   - <type>integer</type>
  436 + <type>numeric</type>
417 437 <constraint></constraint>
418 438 <default_value></default_value>
419 439 <auto_increment>false</auto_increment>
420   - <foreign_key>true</foreign_key>
  440 + <foreign_key>false</foreign_key>
421 441 <not_null>true</not_null>
422 442 <primary_key>false</primary_key>
423 443 <unique_key>false</unique_key>
... ... @@ -438,52 +458,21 @@
438 458 <decimal_size>0</decimal_size>
439 459 </sequence>
440 460 </normal_column>
441   - </columns>
442   - <indexes>
443   - </indexes>
444   - <complex_unique_key_list>
445   - </complex_unique_key_list>
446   - <table_properties>
447   - <schema></schema>
448   - </table_properties>
449   - </table>
450   - <table>
451   - <id>1</id>
452   - <height>107</height>
453   - <width>197</width>
454   - <font_name>Ubuntu</font_name>
455   - <font_size>9</font_size>
456   - <x>251</x>
457   - <y>523</y>
458   - <color>
459   - <r>128</r>
460   - <g>128</g>
461   - <b>192</b>
462   - </color>
463   - <connections>
464   - </connections>
465   - <physical_name>i3geoadmin_papeis</physical_name>
466   - <logical_name>i3geoadmin_papeis</logical_name>
467   - <description>Cadastro de papéis que permitem definir as operações</description>
468   - <constraint></constraint>
469   - <primary_key_name></primary_key_name>
470   - <option></option>
471   - <columns>
472 461 <normal_column>
473   - <word_id>7</word_id>
  462 + <word_id>2</word_id>
474 463 <id>2</id>
475 464 <description></description>
476 465 <unique_key_name></unique_key_name>
477 466 <logical_name></logical_name>
478 467 <physical_name></physical_name>
479   - <type>integer</type>
  468 + <type>text</type>
480 469 <constraint></constraint>
481 470 <default_value></default_value>
482 471 <auto_increment>false</auto_increment>
483 472 <foreign_key>false</foreign_key>
484   - <not_null>true</not_null>
485   - <primary_key>true</primary_key>
486   - <unique_key>true</unique_key>
  473 + <not_null>false</not_null>
  474 + <primary_key>false</primary_key>
  475 + <unique_key>false</unique_key>
487 476 <character_set></character_set>
488 477 <collation></collation>
489 478 <sequence>
... ... @@ -502,7 +491,7 @@
502 491 </sequence>
503 492 </normal_column>
504 493 <normal_column>
505   - <word_id>10</word_id>
  494 + <word_id>6</word_id>
506 495 <id>3</id>
507 496 <description></description>
508 497 <unique_key_name></unique_key_name>
... ... @@ -513,9 +502,9 @@
513 502 <default_value></default_value>
514 503 <auto_increment>false</auto_increment>
515 504 <foreign_key>false</foreign_key>
516   - <not_null>true</not_null>
  505 + <not_null>false</not_null>
517 506 <primary_key>false</primary_key>
518   - <unique_key>true</unique_key>
  507 + <unique_key>false</unique_key>
519 508 <character_set></character_set>
520 509 <collation></collation>
521 510 <sequence>
... ... @@ -534,7 +523,7 @@
534 523 </sequence>
535 524 </normal_column>
536 525 <normal_column>
537   - <word_id>3</word_id>
  526 + <word_id>11</word_id>
538 527 <id>4</id>
539 528 <description></description>
540 529 <unique_key_name></unique_key_name>
... ... @@ -545,6 +534,38 @@
545 534 <default_value></default_value>
546 535 <auto_increment>false</auto_increment>
547 536 <foreign_key>false</foreign_key>
  537 + <not_null>true</not_null>
  538 + <primary_key>false</primary_key>
  539 + <unique_key>false</unique_key>
  540 + <character_set></character_set>
  541 + <collation></collation>
  542 + <sequence>
  543 + <name></name>
  544 + <schema></schema>
  545 + <increment></increment>
  546 + <min_value></min_value>
  547 + <max_value></max_value>
  548 + <start></start>
  549 + <cache></cache>
  550 + <cycle>false</cycle>
  551 + <order>false</order>
  552 + <description></description>
  553 + <data_type></data_type>
  554 + <decimal_size>0</decimal_size>
  555 + </sequence>
  556 + </normal_column>
  557 + <normal_column>
  558 + <word_id>14</word_id>
  559 + <id>5</id>
  560 + <description></description>
  561 + <unique_key_name></unique_key_name>
  562 + <logical_name></logical_name>
  563 + <physical_name></physical_name>
  564 + <type>text</type>
  565 + <constraint></constraint>
  566 + <default_value></default_value>
  567 + <auto_increment>false</auto_increment>
  568 + <foreign_key>false</foreign_key>
548 569 <not_null>false</not_null>
549 570 <primary_key>false</primary_key>
550 571 <unique_key>false</unique_key>
... ... @@ -565,6 +586,38 @@
565 586 <decimal_size>0</decimal_size>
566 587 </sequence>
567 588 </normal_column>
  589 + <normal_column>
  590 + <word_id>15</word_id>
  591 + <id>6</id>
  592 + <description></description>
  593 + <unique_key_name></unique_key_name>
  594 + <logical_name></logical_name>
  595 + <physical_name></physical_name>
  596 + <type>text</type>
  597 + <constraint></constraint>
  598 + <default_value></default_value>
  599 + <auto_increment>false</auto_increment>
  600 + <foreign_key>false</foreign_key>
  601 + <not_null>true</not_null>
  602 + <primary_key>false</primary_key>
  603 + <unique_key>false</unique_key>
  604 + <character_set></character_set>
  605 + <collation></collation>
  606 + <sequence>
  607 + <name></name>
  608 + <schema></schema>
  609 + <increment></increment>
  610 + <min_value></min_value>
  611 + <max_value></max_value>
  612 + <start></start>
  613 + <cache></cache>
  614 + <cycle>false</cycle>
  615 + <order>false</order>
  616 + <description></description>
  617 + <data_type></data_type>
  618 + <decimal_size>0</decimal_size>
  619 + </sequence>
  620 + </normal_column>
568 621 </columns>
569 622 <indexes>
570 623 </indexes>
... ... @@ -580,8 +633,8 @@
580 633 <width>216</width>
581 634 <font_name>Ubuntu</font_name>
582 635 <font_size>9</font_size>
583   - <x>62</x>
584   - <y>378</y>
  636 + <x>42</x>
  637 + <y>376</y>
585 638 <color>
586 639 <r>128</r>
587 640 <g>128</g>
... ... @@ -589,8 +642,8 @@
589 642 </color>
590 643 <connections>
591 644 <relation>
592   - <id>2</id>
593   - <source>5</source>
  645 + <id>0</id>
  646 + <source>4</source>
594 647 <target>2</target>
595 648 <child_cardinality>1..n</child_cardinality>
596 649 <parent_cardinality>1</parent_cardinality>
... ... @@ -606,7 +659,7 @@
606 659 <referenced_complex_unique_key>null</referenced_complex_unique_key>
607 660 </relation>
608 661 <relation>
609   - <id>3</id>
  662 + <id>1</id>
610 663 <source>1</source>
611 664 <target>2</target>
612 665 <child_cardinality>1..n</child_cardinality>
... ... @@ -623,17 +676,17 @@
623 676 <referenced_complex_unique_key>null</referenced_complex_unique_key>
624 677 </relation>
625 678 </connections>
626   - <physical_name>i3geoadmin_papelusuario</physical_name>
627   - <logical_name>i3geoadmin_papelusuario</logical_name>
  679 + <physical_name>i3geousr_papelusuario</physical_name>
  680 + <logical_name>i3geousr_papelusuario</logical_name>
628 681 <description></description>
629 682 <constraint></constraint>
630 683 <primary_key_name></primary_key_name>
631 684 <option></option>
632 685 <columns>
633 686 <normal_column>
634   - <id>5</id>
635   - <referenced_column>10</referenced_column>
636   - <relation>2</relation>
  687 + <id>7</id>
  688 + <referenced_column>0</referenced_column>
  689 + <relation>1</relation>
637 690 <description></description>
638 691 <unique_key_name></unique_key_name>
639 692 <logical_name></logical_name>
... ... @@ -664,9 +717,9 @@
664 717 </sequence>
665 718 </normal_column>
666 719 <normal_column>
667   - <id>6</id>
668   - <referenced_column>2</referenced_column>
669   - <relation>3</relation>
  720 + <id>8</id>
  721 + <referenced_column>11</referenced_column>
  722 + <relation>0</relation>
670 723 <description></description>
671 724 <unique_key_name></unique_key_name>
672 725 <logical_name></logical_name>
... ... @@ -707,71 +760,74 @@
707 760 </table>
708 761 <table>
709 762 <id>3</id>
710   - <height>107</height>
711   - <width>226</width>
  763 + <height>86</height>
  764 + <width>237</width>
712 765 <font_name>Ubuntu</font_name>
713 766 <font_size>9</font_size>
714   - <x>552</x>
715   - <y>136</y>
  767 + <x>596</x>
  768 + <y>499</y>
716 769 <color>
717 770 <r>128</r>
718 771 <g>128</g>
719 772 <b>192</b>
720 773 </color>
721 774 <connections>
722   - </connections>
723   - <physical_name>i3geoadmin_operacoes</physical_name>
724   - <logical_name>i3geoadmin_operacoes</logical_name>
725   - <description>Cadastro de operações do sistema</description>
726   - <constraint></constraint>
727   - <primary_key_name></primary_key_name>
728   - <option></option>
729   - <columns>
730   - <normal_column>
731   - <word_id>6</word_id>
732   - <id>7</id>
733   - <description></description>
734   - <unique_key_name></unique_key_name>
735   - <logical_name></logical_name>
736   - <physical_name></physical_name>
737   - <type>integer</type>
738   - <constraint></constraint>
739   - <default_value></default_value>
740   - <auto_increment>true</auto_increment>
741   - <foreign_key>false</foreign_key>
742   - <not_null>true</not_null>
743   - <primary_key>true</primary_key>
744   - <unique_key>true</unique_key>
745   - <character_set></character_set>
746   - <collation></collation>
747   - <sequence>
748   - <name></name>
749   - <schema></schema>
750   - <increment></increment>
751   - <min_value></min_value>
752   - <max_value></max_value>
753   - <start></start>
754   - <cache></cache>
755   - <cycle>false</cycle>
756   - <order>false</order>
757   - <description></description>
758   - <data_type></data_type>
759   - <decimal_size>0</decimal_size>
760   - </sequence>
761   - </normal_column>
  775 + <relation>
  776 + <id>2</id>
  777 + <source>6</source>
  778 + <target>3</target>
  779 + <child_cardinality>1..n</child_cardinality>
  780 + <parent_cardinality>1</parent_cardinality>
  781 + <reference_for_pk>true</reference_for_pk>
  782 + <name></name>
  783 + <on_delete_action>RESTRICT</on_delete_action>
  784 + <on_update_action>RESTRICT</on_update_action>
  785 + <source_xp>-1</source_xp>
  786 + <source_yp>-1</source_yp>
  787 + <target_xp>-1</target_xp>
  788 + <target_yp>-1</target_yp>
  789 + <referenced_column>null</referenced_column>
  790 + <referenced_complex_unique_key>null</referenced_complex_unique_key>
  791 + </relation>
  792 + <relation>
  793 + <id>3</id>
  794 + <source>4</source>
  795 + <target>3</target>
  796 + <child_cardinality>1..n</child_cardinality>
  797 + <parent_cardinality>1</parent_cardinality>
  798 + <reference_for_pk>true</reference_for_pk>
  799 + <name></name>
  800 + <on_delete_action>RESTRICT</on_delete_action>
  801 + <on_update_action>RESTRICT</on_update_action>
  802 + <source_xp>-1</source_xp>
  803 + <source_yp>-1</source_yp>
  804 + <target_xp>-1</target_xp>
  805 + <target_yp>-1</target_yp>
  806 + <referenced_column>null</referenced_column>
  807 + <referenced_complex_unique_key>null</referenced_complex_unique_key>
  808 + </relation>
  809 + </connections>
  810 + <physical_name>i3geousr_operacoespapeis</physical_name>
  811 + <logical_name>i3geousr_operacoespapeis</logical_name>
  812 + <description></description>
  813 + <constraint></constraint>
  814 + <primary_key_name></primary_key_name>
  815 + <option></option>
  816 + <columns>
762 817 <normal_column>
763   - <word_id>1</word_id>
764   - <id>8</id>
  818 + <id>9</id>
  819 + <referenced_column>17</referenced_column>
  820 + <relation>2</relation>
765 821 <description></description>
766 822 <unique_key_name></unique_key_name>
767 823 <logical_name></logical_name>
768 824 <physical_name></physical_name>
769   - <type>text</type>
  825 + <type>integer</type>
770 826 <constraint></constraint>
771 827 <default_value></default_value>
772 828 <auto_increment>false</auto_increment>
773   - <foreign_key>false</foreign_key>
774   - <not_null>false</not_null>
  829 + <foreign_key>true</foreign_key>
  830 + <not_null>true</not_null>
775 831 <primary_key>false</primary_key>
776 832 <unique_key>false</unique_key>
777 833 <character_set></character_set>
... ... @@ -792,18 +848,19 @@
792 848 </sequence>
793 849 </normal_column>
794 850 <normal_column>
795   - <word_id>4</word_id>
796   - <id>9</id>
  851 + <id>10</id>
  852 + <referenced_column>11</referenced_column>
  853 + <relation>3</relation>
797 854 <description></description>
798 855 <unique_key_name></unique_key_name>
799 856 <logical_name></logical_name>
800 857 <physical_name></physical_name>
801   - <type>text</type>
  858 + <type>integer</type>
802 859 <constraint></constraint>
803 860 <default_value></default_value>
804 861 <auto_increment>false</auto_increment>
805   - <foreign_key>false</foreign_key>
806   - <not_null>false</not_null>
  862 + <foreign_key>true</foreign_key>
  863 + <not_null>true</not_null>
807 864 <primary_key>false</primary_key>
808 865 <unique_key>false</unique_key>
809 866 <character_set></character_set>
... ... @@ -832,31 +889,14 @@
832 889 <schema></schema>
833 890 </table_properties>
834 891 </table>
835   - <note>
836   - <id>4</id>
837   - <height>75</height>
838   - <width>270</width>
839   - <font_name>Ubuntu</font_name>
840   - <font_size>12</font_size>
841   - <x>35</x>
842   - <y>18</y>
843   - <color>
844   - <r>230</r>
845   - <g>230</g>
846   - <b>250</b>
847   - </color>
848   - <connections>
849   - </connections>
850   - <text>Cadastro de usuários do i3Geo</text>
851   - </note>
852 892 <table>
853   - <id>5</id>
854   - <height>191</height>
855   - <width>213</width>
  893 + <id>4</id>
  894 + <height>107</height>
  895 + <width>197</width>
856 896 <font_name>Ubuntu</font_name>
857 897 <font_size>9</font_size>
858   - <x>269</x>
859   - <y>111</y>
  898 + <x>251</x>
  899 + <y>523</y>
860 900 <color>
861 901 <r>128</r>
862 902 <g>128</g>
... ... @@ -864,16 +904,16 @@
864 904 </color>
865 905 <connections>
866 906 </connections>
867   - <physical_name>i3geoadmin_usuarios</physical_name>
868   - <logical_name>i3geoadmin_usuarios</logical_name>
869   - <description>Cadastro de usuários</description>
  907 + <physical_name>i3geousr_papeis</physical_name>
  908 + <logical_name>i3geousr_papeis</logical_name>
  909 + <description>Cadastro de papéis que permitem definir as operações</description>
870 910 <constraint></constraint>
871 911 <primary_key_name></primary_key_name>
872 912 <option></option>
873 913 <columns>
874 914 <normal_column>
875   - <word_id>8</word_id>
876   - <id>10</id>
  915 + <word_id>9</word_id>
  916 + <id>11</id>
877 917 <description></description>
878 918 <unique_key_name></unique_key_name>
879 919 <logical_name></logical_name>
... ... @@ -881,7 +921,7 @@
881 921 <type>integer</type>
882 922 <constraint></constraint>
883 923 <default_value></default_value>
884   - <auto_increment>true</auto_increment>
  924 + <auto_increment>false</auto_increment>
885 925 <foreign_key>false</foreign_key>
886 926 <not_null>true</not_null>
887 927 <primary_key>true</primary_key>
... ... @@ -904,20 +944,20 @@
904 944 </sequence>
905 945 </normal_column>
906 946 <normal_column>
907   - <word_id>0</word_id>
908   - <id>11</id>
  947 + <word_id>12</word_id>
  948 + <id>12</id>
909 949 <description></description>
910 950 <unique_key_name></unique_key_name>
911 951 <logical_name></logical_name>
912 952 <physical_name></physical_name>
913   - <type>numeric</type>
  953 + <type>text</type>
914 954 <constraint></constraint>
915 955 <default_value></default_value>
916 956 <auto_increment>false</auto_increment>
917 957 <foreign_key>false</foreign_key>
918 958 <not_null>true</not_null>
919 959 <primary_key>false</primary_key>
920   - <unique_key>false</unique_key>
  960 + <unique_key>true</unique_key>
921 961 <character_set></character_set>
922 962 <collation></collation>
923 963 <sequence>
... ... @@ -936,8 +976,8 @@
936 976 </sequence>
937 977 </normal_column>
938 978 <normal_column>
939   - <word_id>2</word_id>
940   - <id>12</id>
  979 + <word_id>3</word_id>
  980 + <id>13</id>
941 981 <description></description>
942 982 <unique_key_name></unique_key_name>
943 983 <logical_name></logical_name>
... ... @@ -967,9 +1007,72 @@
967 1007 <decimal_size>0</decimal_size>
968 1008 </sequence>
969 1009 </normal_column>
  1010 + </columns>
  1011 + <indexes>
  1012 + </indexes>
  1013 + <complex_unique_key_list>
  1014 + </complex_unique_key_list>
  1015 + <table_properties>
  1016 + <schema></schema>
  1017 + </table_properties>
  1018 + </table>
  1019 + <table>
  1020 + <id>5</id>
  1021 + <height>107</height>
  1022 + <width>203</width>
  1023 + <font_name>Ubuntu</font_name>
  1024 + <font_size>9</font_size>
  1025 + <x>502</x>
  1026 + <y>308</y>
  1027 + <color>
  1028 + <r>230</r>
  1029 + <g>230</g>
  1030 + <b>250</b>
  1031 + </color>
  1032 + <connections>
  1033 + </connections>
  1034 + <physical_name>i3geousr_grupos</physical_name>
  1035 + <logical_name>i3geousr_grupos</logical_name>
  1036 + <description>Grupos de usuários</description>
  1037 + <constraint></constraint>
  1038 + <primary_key_name></primary_key_name>
  1039 + <option></option>
  1040 + <columns>
  1041 + <normal_column>
  1042 + <word_id>7</word_id>
  1043 + <id>14</id>
  1044 + <description></description>
  1045 + <unique_key_name></unique_key_name>
  1046 + <logical_name></logical_name>
  1047 + <physical_name></physical_name>
  1048 + <type>integer</type>
  1049 + <constraint></constraint>
  1050 + <default_value></default_value>
  1051 + <auto_increment>true</auto_increment>
  1052 + <foreign_key>false</foreign_key>
  1053 + <not_null>true</not_null>
  1054 + <primary_key>true</primary_key>
  1055 + <unique_key>true</unique_key>
  1056 + <character_set></character_set>
  1057 + <collation></collation>
  1058 + <sequence>
  1059 + <name></name>
  1060 + <schema></schema>
  1061 + <increment></increment>
  1062 + <min_value></min_value>
  1063 + <max_value></max_value>
  1064 + <start></start>
  1065 + <cache></cache>
  1066 + <cycle>false</cycle>
  1067 + <order>false</order>
  1068 + <description></description>
  1069 + <data_type></data_type>
  1070 + <decimal_size>0</decimal_size>
  1071 + </sequence>
  1072 + </normal_column>
970 1073 <normal_column>
971   - <word_id>5</word_id>
972   - <id>13</id>
  1074 + <word_id>13</word_id>
  1075 + <id>15</id>
973 1076 <description></description>
974 1077 <unique_key_name></unique_key_name>
975 1078 <logical_name></logical_name>
... ... @@ -1000,8 +1103,8 @@
1000 1103 </sequence>
1001 1104 </normal_column>
1002 1105 <normal_column>
1003   - <word_id>9</word_id>
1004   - <id>14</id>
  1106 + <word_id>5</word_id>
  1107 + <id>16</id>
1005 1108 <description></description>
1006 1109 <unique_key_name></unique_key_name>
1007 1110 <logical_name></logical_name>
... ... @@ -1011,7 +1114,7 @@
1011 1114 <default_value></default_value>
1012 1115 <auto_increment>false</auto_increment>
1013 1116 <foreign_key>false</foreign_key>
1014   - <not_null>true</not_null>
  1117 + <not_null>false</not_null>
1015 1118 <primary_key>false</primary_key>
1016 1119 <unique_key>false</unique_key>
1017 1120 <character_set></character_set>
... ... @@ -1031,21 +1134,52 @@
1031 1134 <decimal_size>0</decimal_size>
1032 1135 </sequence>
1033 1136 </normal_column>
  1137 + </columns>
  1138 + <indexes>
  1139 + </indexes>
  1140 + <complex_unique_key_list>
  1141 + </complex_unique_key_list>
  1142 + <table_properties>
  1143 + <schema></schema>
  1144 + </table_properties>
  1145 + </table>
  1146 + <table>
  1147 + <id>6</id>
  1148 + <height>107</height>
  1149 + <width>226</width>
  1150 + <font_name>Ubuntu</font_name>
  1151 + <font_size>9</font_size>
  1152 + <x>782</x>
  1153 + <y>176</y>
  1154 + <color>
  1155 + <r>128</r>
  1156 + <g>128</g>
  1157 + <b>192</b>
  1158 + </color>
  1159 + <connections>
  1160 + </connections>
  1161 + <physical_name>i3geousr_operacoes</physical_name>
  1162 + <logical_name>i3geousr_operacoes</logical_name>
  1163 + <description>Cadastro de operações do sistema</description>
  1164 + <constraint></constraint>
  1165 + <primary_key_name></primary_key_name>
  1166 + <option></option>
  1167 + <columns>
1034 1168 <normal_column>
1035   - <word_id>11</word_id>
1036   - <id>15</id>
  1169 + <word_id>8</word_id>
  1170 + <id>17</id>
1037 1171 <description></description>
1038 1172 <unique_key_name></unique_key_name>
1039 1173 <logical_name></logical_name>
1040 1174 <physical_name></physical_name>
1041   - <type>text</type>
  1175 + <type>integer</type>
1042 1176 <constraint></constraint>
1043 1177 <default_value></default_value>
1044   - <auto_increment>false</auto_increment>
  1178 + <auto_increment>true</auto_increment>
1045 1179 <foreign_key>false</foreign_key>
1046   - <not_null>false</not_null>
1047   - <primary_key>false</primary_key>
1048   - <unique_key>false</unique_key>
  1180 + <not_null>true</not_null>
  1181 + <primary_key>true</primary_key>
  1182 + <unique_key>true</unique_key>
1049 1183 <character_set></character_set>
1050 1184 <collation></collation>
1051 1185 <sequence>
... ... @@ -1064,8 +1198,8 @@
1064 1198 </sequence>
1065 1199 </normal_column>
1066 1200 <normal_column>
1067   - <word_id>12</word_id>
1068   - <id>16</id>
  1201 + <word_id>1</word_id>
  1202 + <id>18</id>
1069 1203 <description></description>
1070 1204 <unique_key_name></unique_key_name>
1071 1205 <logical_name></logical_name>
... ... @@ -1075,7 +1209,7 @@
1075 1209 <default_value></default_value>
1076 1210 <auto_increment>false</auto_increment>
1077 1211 <foreign_key>false</foreign_key>
1078   - <not_null>true</not_null>
  1212 + <not_null>false</not_null>
1079 1213 <primary_key>false</primary_key>
1080 1214 <unique_key>false</unique_key>
1081 1215 <character_set></character_set>
... ... @@ -1095,31 +1229,314 @@
1095 1229 <decimal_size>0</decimal_size>
1096 1230 </sequence>
1097 1231 </normal_column>
1098   - </columns>
1099   - <indexes>
1100   - </indexes>
1101   - <complex_unique_key_list>
1102   - </complex_unique_key_list>
1103   - <table_properties>
1104   - <schema></schema>
1105   - </table_properties>
1106   - </table>
1107   - </contents>
1108   - <column_groups>
1109   - </column_groups>
1110   - <test_data_list>
1111   - <test_data>
1112   - <name>usuarios_basededados</name>
1113   - <export_order>0</export_order>
1114   - <table_test_data>
1115   - <table_id>5</table_id>
1116   - <direct_test_data>
1117   - </direct_test_data>
  1232 + <normal_column>
  1233 + <word_id>4</word_id>
  1234 + <id>19</id>
  1235 + <description></description>
  1236 + <unique_key_name></unique_key_name>
  1237 + <logical_name></logical_name>
  1238 + <physical_name></physical_name>
  1239 + <type>text</type>
  1240 + <constraint></constraint>
  1241 + <default_value></default_value>
  1242 + <auto_increment>false</auto_increment>
  1243 + <foreign_key>false</foreign_key>
  1244 + <not_null>false</not_null>
  1245 + <primary_key>false</primary_key>
  1246 + <unique_key>false</unique_key>
  1247 + <character_set></character_set>
  1248 + <collation></collation>
  1249 + <sequence>
  1250 + <name></name>
  1251 + <schema></schema>
  1252 + <increment></increment>
  1253 + <min_value></min_value>
  1254 + <max_value></max_value>
  1255 + <start></start>
  1256 + <cache></cache>
  1257 + <cycle>false</cycle>
  1258 + <order>false</order>
  1259 + <description></description>
  1260 + <data_type></data_type>
  1261 + <decimal_size>0</decimal_size>
  1262 + </sequence>
  1263 + </normal_column>
  1264 + </columns>
  1265 + <indexes>
  1266 + </indexes>
  1267 + <complex_unique_key_list>
  1268 + </complex_unique_key_list>
  1269 + <table_properties>
  1270 + <schema></schema>
  1271 + </table_properties>
  1272 + </table>
  1273 + <table>
  1274 + <id>7</id>
  1275 + <height>86</height>
  1276 + <width>213</width>
  1277 + <font_name>Ubuntu</font_name>
  1278 + <font_size>9</font_size>
  1279 + <x>508</x>
  1280 + <y>103</y>
  1281 + <color>
  1282 + <r>230</r>
  1283 + <g>230</g>
  1284 + <b>250</b>
  1285 + </color>
  1286 + <connections>
  1287 + <relation>
  1288 + <id>4</id>
  1289 + <source>1</source>
  1290 + <target>7</target>
  1291 + <child_cardinality>1..n</child_cardinality>
  1292 + <parent_cardinality>1</parent_cardinality>
  1293 + <reference_for_pk>true</reference_for_pk>
  1294 + <name></name>
  1295 + <on_delete_action>RESTRICT</on_delete_action>
  1296 + <on_update_action>RESTRICT</on_update_action>
  1297 + <source_xp>-1</source_xp>
  1298 + <source_yp>-1</source_yp>
  1299 + <target_xp>-1</target_xp>
  1300 + <target_yp>-1</target_yp>
  1301 + <referenced_column>null</referenced_column>
  1302 + <referenced_complex_unique_key>null</referenced_complex_unique_key>
  1303 + </relation>
  1304 + <relation>
  1305 + <id>5</id>
  1306 + <source>5</source>
  1307 + <target>7</target>
  1308 + <child_cardinality>1..n</child_cardinality>
  1309 + <parent_cardinality>1</parent_cardinality>
  1310 + <reference_for_pk>true</reference_for_pk>
  1311 + <name></name>
  1312 + <on_delete_action>RESTRICT</on_delete_action>
  1313 + <on_update_action>RESTRICT</on_update_action>
  1314 + <source_xp>-1</source_xp>
  1315 + <source_yp>-1</source_yp>
  1316 + <target_xp>-1</target_xp>
  1317 + <target_yp>-1</target_yp>
  1318 + <referenced_column>null</referenced_column>
  1319 + <referenced_complex_unique_key>null</referenced_complex_unique_key>
  1320 + </relation>
  1321 + </connections>
  1322 + <physical_name>i3geousr_grupousuario</physical_name>
  1323 + <logical_name>i3geousr_grupousuario</logical_name>
  1324 + <description></description>
  1325 + <constraint></constraint>
  1326 + <primary_key_name></primary_key_name>
  1327 + <option></option>
  1328 + <columns>
  1329 + <normal_column>
  1330 + <id>20</id>
  1331 + <referenced_column>0</referenced_column>
  1332 + <relation>4</relation>
  1333 + <description></description>
  1334 + <unique_key_name></unique_key_name>
  1335 + <logical_name></logical_name>
  1336 + <physical_name></physical_name>
  1337 + <type>integer</type>
  1338 + <constraint></constraint>
  1339 + <default_value></default_value>
  1340 + <auto_increment>false</auto_increment>
  1341 + <foreign_key>true</foreign_key>
  1342 + <not_null>true</not_null>
  1343 + <primary_key>false</primary_key>
  1344 + <unique_key>false</unique_key>
  1345 + <character_set></character_set>
  1346 + <collation></collation>
  1347 + <sequence>
  1348 + <name></name>
  1349 + <schema></schema>
  1350 + <increment></increment>
  1351 + <min_value></min_value>
  1352 + <max_value></max_value>
  1353 + <start></start>
  1354 + <cache></cache>
  1355 + <cycle>false</cycle>
  1356 + <order>false</order>
  1357 + <description></description>
  1358 + <data_type></data_type>
  1359 + <decimal_size>0</decimal_size>
  1360 + </sequence>
  1361 + </normal_column>
  1362 + <normal_column>
  1363 + <id>21</id>
  1364 + <referenced_column>14</referenced_column>
  1365 + <relation>5</relation>
  1366 + <description></description>
  1367 + <unique_key_name></unique_key_name>
  1368 + <logical_name></logical_name>
  1369 + <physical_name></physical_name>
  1370 + <type>integer</type>
  1371 + <constraint></constraint>
  1372 + <default_value></default_value>
  1373 + <auto_increment>false</auto_increment>
  1374 + <foreign_key>true</foreign_key>
  1375 + <not_null>true</not_null>
  1376 + <primary_key>false</primary_key>
  1377 + <unique_key>false</unique_key>
  1378 + <character_set></character_set>
  1379 + <collation></collation>
  1380 + <sequence>
  1381 + <name></name>
  1382 + <schema></schema>
  1383 + <increment></increment>
  1384 + <min_value></min_value>
  1385 + <max_value></max_value>
  1386 + <start></start>
  1387 + <cache></cache>
  1388 + <cycle>false</cycle>
  1389 + <order>false</order>
  1390 + <description></description>
  1391 + <data_type></data_type>
  1392 + <decimal_size>0</decimal_size>
  1393 + </sequence>
  1394 + </normal_column>
  1395 + </columns>
  1396 + <indexes>
  1397 + </indexes>
  1398 + <complex_unique_key_list>
  1399 + </complex_unique_key_list>
  1400 + <table_properties>
  1401 + <schema></schema>
  1402 + </table_properties>
  1403 + </table>
  1404 + </contents>
  1405 + <column_groups>
  1406 + </column_groups>
  1407 + <test_data_list>
  1408 + <test_data>
  1409 + <name>usuarios_basededados</name>
  1410 + <export_order>0</export_order>
  1411 + <table_test_data>
  1412 + <table_id>1</table_id>
  1413 + <direct_test_data>
  1414 + <data>
  1415 + <column_data>
  1416 + <column_id>0</column_id>
  1417 + <value>1</value>
  1418 + </column_data>
  1419 + <column_data>
  1420 + <column_id>1</column_id>
  1421 + <value>1</value>
  1422 + </column_data>
  1423 + <column_data>
  1424 + <column_id>2</column_id>
  1425 + <value></value>
  1426 + </column_data>
  1427 + <column_data>
  1428 + <column_id>3</column_id>
  1429 + <value></value>
  1430 + </column_data>
  1431 + <column_data>
  1432 + <column_id>4</column_id>
  1433 + <value>admin</value>
  1434 + </column_data>
  1435 + <column_data>
  1436 + <column_id>5</column_id>
  1437 + <value>administrador do i3geo</value>
  1438 + </column_data>
  1439 + <column_data>
  1440 + <column_id>6</column_id>
  1441 + <value>admin</value>
  1442 + </column_data>
  1443 + </data>
  1444 + <data>
  1445 + <column_data>
  1446 + <column_id>0</column_id>
  1447 + <value>2</value>
  1448 + </column_data>
  1449 + <column_data>
  1450 + <column_id>1</column_id>
  1451 + <value>1</value>
  1452 + </column_data>
  1453 + <column_data>
  1454 + <column_id>2</column_id>
  1455 + <value></value>
  1456 + </column_data>
  1457 + <column_data>
  1458 + <column_id>3</column_id>
  1459 + <value></value>
  1460 + </column_data>
  1461 + <column_data>
  1462 + <column_id>4</column_id>
  1463 + <value>editor</value>
  1464 + </column_data>
  1465 + <column_data>
  1466 + <column_id>5</column_id>
  1467 + <value>teste de editor</value>
  1468 + </column_data>
  1469 + <column_data>
  1470 + <column_id>6</column_id>
  1471 + <value>editor</value>
  1472 + </column_data>
  1473 + </data>
  1474 + <data>
  1475 + <column_data>
  1476 + <column_id>0</column_id>
  1477 + <value>3</value>
  1478 + </column_data>
  1479 + <column_data>
  1480 + <column_id>1</column_id>
  1481 + <value>1</value>
  1482 + </column_data>
  1483 + <column_data>
  1484 + <column_id>2</column_id>
  1485 + <value></value>
  1486 + </column_data>
  1487 + <column_data>
  1488 + <column_id>3</column_id>
  1489 + <value></value>
  1490 + </column_data>
  1491 + <column_data>
  1492 + <column_id>4</column_id>
  1493 + <value>publicador</value>
  1494 + </column_data>
  1495 + <column_data>
  1496 + <column_id>5</column_id>
  1497 + <value>teste de publicador</value>
  1498 + </column_data>
  1499 + <column_data>
  1500 + <column_id>6</column_id>
  1501 + <value>publicador</value>
  1502 + </column_data>
  1503 + </data>
  1504 + <data>
  1505 + <column_data>
  1506 + <column_id>0</column_id>
  1507 + <value>4</value>
  1508 + </column_data>
  1509 + <column_data>
  1510 + <column_id>1</column_id>
  1511 + <value>1</value>
  1512 + </column_data>
  1513 + <column_data>
  1514 + <column_id>2</column_id>
  1515 + <value></value>
  1516 + </column_data>
  1517 + <column_data>
  1518 + <column_id>3</column_id>
  1519 + <value></value>
  1520 + </column_data>
  1521 + <column_data>
  1522 + <column_id>4</column_id>
  1523 + <value>editorgeo</value>
  1524 + </column_data>
  1525 + <column_data>
  1526 + <column_id>5</column_id>
  1527 + <value>teste de editor geo</value>
  1528 + </column_data>
  1529 + <column_data>
  1530 + <column_id>6</column_id>
  1531 + <value>editorgeo</value>
  1532 + </column_data>
  1533 + </data>
  1534 + </direct_test_data>
1118 1535 <repeat_test_data>
1119 1536 <test_data_num>0</test_data_num>
1120 1537 <data_def_list>
1121 1538 <data_def>
1122   - <column_id>10</column_id>
  1539 + <column_id>0</column_id>
1123 1540 <type>Format</type>
1124 1541 <repeat_num>1</repeat_num>
1125 1542 <template>%</template>
... ... @@ -1134,7 +1551,7 @@
1134 1551 </modified_values>
1135 1552 </data_def>
1136 1553 <data_def>
1137   - <column_id>11</column_id>
  1554 + <column_id>1</column_id>
1138 1555 <type>Format</type>
1139 1556 <repeat_num>1</repeat_num>
1140 1557 <template>%</template>
... ... @@ -1149,7 +1566,7 @@
1149 1566 </modified_values>
1150 1567 </data_def>
1151 1568 <data_def>
1152   - <column_id>12</column_id>
  1569 + <column_id>2</column_id>
1153 1570 <type>Format</type>
1154 1571 <repeat_num>1</repeat_num>
1155 1572 <template>data_cadastro%</template>
... ... @@ -1164,7 +1581,7 @@
1164 1581 </modified_values>
1165 1582 </data_def>
1166 1583 <data_def>
1167   - <column_id>13</column_id>
  1584 + <column_id>3</column_id>
1168 1585 <type>Format</type>
1169 1586 <repeat_num>1</repeat_num>
1170 1587 <template>email%</template>
... ... @@ -1179,7 +1596,7 @@
1179 1596 </modified_values>
1180 1597 </data_def>
1181 1598 <data_def>
1182   - <column_id>14</column_id>
  1599 + <column_id>4</column_id>
1183 1600 <type>Format</type>
1184 1601 <repeat_num>1</repeat_num>
1185 1602 <template>login%</template>
... ... @@ -1194,7 +1611,7 @@
1194 1611 </modified_values>
1195 1612 </data_def>
1196 1613 <data_def>
1197   - <column_id>15</column_id>
  1614 + <column_id>5</column_id>
1198 1615 <type>Format</type>
1199 1616 <repeat_num>1</repeat_num>
1200 1617 <template>nome_usuario%</template>
... ... @@ -1209,7 +1626,7 @@
1209 1626 </modified_values>
1210 1627 </data_def>
1211 1628 <data_def>
1212   - <column_id>16</column_id>
  1629 + <column_id>6</column_id>
1213 1630 <type>Format</type>
1214 1631 <repeat_num>1</repeat_num>
1215 1632 <template>senha%</template>
... ... @@ -1226,6 +1643,630 @@
1226 1643 </data_def_list>
1227 1644 </repeat_test_data>
1228 1645 </table_test_data>
  1646 + <table_test_data>
  1647 + <table_id>6</table_id>
  1648 + <direct_test_data>
  1649 + <data>
  1650 + <column_data>
  1651 + <column_id>17</column_id>
  1652 + <value>1</value>
  1653 + </column_data>
  1654 + <column_data>
  1655 + <column_id>18</column_id>
  1656 + <value>admin/html/editormapfile</value>
  1657 + </column_data>
  1658 + <column_data>
  1659 + <column_id>19</column_id>
  1660 + <value>editor de mapfiles do sistema de administracao</value>
  1661 + </column_data>
  1662 + </data>
  1663 + <data>
  1664 + <column_data>
  1665 + <column_id>17</column_id>
  1666 + <value>2</value>
  1667 + </column_data>
  1668 + <column_data>
  1669 + <column_id>18</column_id>
  1670 + <value>admin/html/operacoes</value>
  1671 + </column_data>
  1672 + <column_data>
  1673 + <column_id>19</column_id>
  1674 + <value>abre o editor de operacoes</value>
  1675 + </column_data>
  1676 + </data>
  1677 + <data>
  1678 + <column_data>
  1679 + <column_id>17</column_id>
  1680 + <value>3</value>
  1681 + </column_data>
  1682 + <column_data>
  1683 + <column_id>18</column_id>
  1684 + <value>teste/</value>
  1685 + </column_data>
  1686 + <column_data>
  1687 + <column_id>19</column_id>
  1688 + <value>teste</value>
  1689 + </column_data>
  1690 + </data>
  1691 + <data>
  1692 + <column_data>
  1693 + <column_id>17</column_id>
  1694 + <value>4</value>
  1695 + </column_data>
  1696 + <column_data>
  1697 + <column_id>18</column_id>
  1698 + <value>admin/html/arvore</value>
  1699 + </column_data>
  1700 + <column_data>
  1701 + <column_id>19</column_id>
  1702 + <value>edicao da arvore do catalogo de temas</value>
  1703 + </column_data>
  1704 + </data>
  1705 + <data>
  1706 + <column_data>
  1707 + <column_id>17</column_id>
  1708 + <value>5</value>
  1709 + </column_data>
  1710 + <column_data>
  1711 + <column_id>18</column_id>
  1712 + <value>admin/html/menus</value>
  1713 + </column_data>
  1714 + <column_data>
  1715 + <column_id>19</column_id>
  1716 + <value>edicao da lista de menus</value>
  1717 + </column_data>
  1718 + </data>
  1719 + <data>
  1720 + <column_data>
  1721 + <column_id>17</column_id>
  1722 + <value>6</value>
  1723 + </column_data>
  1724 + <column_data>
  1725 + <column_id>18</column_id>
  1726 + <value>admin/html/ogcws</value>
  1727 + </column_data>
  1728 + <column_data>
  1729 + <column_id>19</column_id>
  1730 + <value>edicao das preferencias do servico WMS</value>
  1731 + </column_data>
  1732 + </data>
  1733 + <data>
  1734 + <column_data>
  1735 + <column_id>17</column_id>
  1736 + <value>7</value>
  1737 + </column_data>
  1738 + <column_data>
  1739 + <column_id>18</column_id>
  1740 + <value>admin/html/atlas</value>
  1741 + </column_data>
  1742 + <column_data>
  1743 + <column_id>19</column_id>
  1744 + <value>edicao de atlas</value>
  1745 + </column_data>
  1746 + </data>
  1747 + <data>
  1748 + <column_data>
  1749 + <column_id>17</column_id>
  1750 + <value>8</value>
  1751 + </column_data>
  1752 + <column_data>
  1753 + <column_id>18</column_id>
  1754 + <value>admin/html/identifica</value>
  1755 + </column_data>
  1756 + <column_data>
  1757 + <column_id>19</column_id>
  1758 + <value>lista de sistemas incluidos na ferramenta de identificacao</value>
  1759 + </column_data>
  1760 + </data>
  1761 + <data>
  1762 + <column_data>
  1763 + <column_id>17</column_id>
  1764 + <value>9</value>
  1765 + </column_data>
  1766 + <column_data>
  1767 + <column_id>18</column_id>
  1768 + <value>admin/html/incluimap</value>
  1769 + </column_data>
  1770 + <column_data>
  1771 + <column_id>19</column_id>
  1772 + <value>adapta mapfiles antigos para versoes novas do Mapserver</value>
  1773 + </column_data>
  1774 + </data>
  1775 + <data>
  1776 + <column_data>
  1777 + <column_id>17</column_id>
  1778 + <value>10</value>
  1779 + </column_data>
  1780 + <column_data>
  1781 + <column_id>18</column_id>
  1782 + <value>admin/html/mapas</value>
  1783 + </column_data>
  1784 + <column_data>
  1785 + <column_id>19</column_id>
  1786 + <value>lista de links para mapas</value>
  1787 + </column_data>
  1788 + </data>
  1789 + <data>
  1790 + <column_data>
  1791 + <column_id>17</column_id>
  1792 + <value>11</value>
  1793 + </column_data>
  1794 + <column_data>
  1795 + <column_id>18</column_id>
  1796 + <value>admin/html/perfis</value>
  1797 + </column_data>
  1798 + <column_data>
  1799 + <column_id>19</column_id>
  1800 + <value>lista controlada de perfis</value>
  1801 + </column_data>
  1802 + </data>
  1803 + <data>
  1804 + <column_data>
  1805 + <column_id>17</column_id>
  1806 + <value>12</value>
  1807 + </column_data>
  1808 + <column_data>
  1809 + <column_id>18</column_id>
  1810 + <value>admin/html/sistemas</value>
  1811 + </column_data>
  1812 + <column_data>
  1813 + <column_id>19</column_id>
  1814 + <value>lista de sistemas complementares adicionados ao catalogo de camadas</value>
  1815 + </column_data>
  1816 + </data>
  1817 + <data>
  1818 + <column_data>
  1819 + <column_id>17</column_id>
  1820 + <value>13</value>
  1821 + </column_data>
  1822 + <column_data>
  1823 + <column_id>18</column_id>
  1824 + <value>admin/html/subirshapefile</value>
  1825 + </column_data>
  1826 + <column_data>
  1827 + <column_id>19</column_id>
  1828 + <value>upload de shapefile para uma pasta específica no servidor</value>
  1829 + </column_data>
  1830 + </data>
  1831 + <data>
  1832 + <column_data>
  1833 + <column_id>17</column_id>
  1834 + <value>14</value>
  1835 + </column_data>
  1836 + <column_data>
  1837 + <column_id>18</column_id>
  1838 + <value>admin/html/tags</value>
  1839 + </column_data>
  1840 + <column_data>
  1841 + <column_id>19</column_id>
  1842 + <value>lista controlada de tags</value>
  1843 + </column_data>
  1844 + </data>
  1845 + <data>
  1846 + <column_data>
  1847 + <column_id>17</column_id>
  1848 + <value>15</value>
  1849 + </column_data>
  1850 + <column_data>
  1851 + <column_id>18</column_id>
  1852 + <value>admin/html/webservices</value>
  1853 + </column_data>
  1854 + <column_data>
  1855 + <column_id>19</column_id>
  1856 + <value>cadastro de links para webservices</value>
  1857 + </column_data>
  1858 + </data>
  1859 + <data>
  1860 + <column_data>
  1861 + <column_id>17</column_id>
  1862 + <value>16</value>
  1863 + </column_data>
  1864 + <column_data>
  1865 + <column_id>18</column_id>
  1866 + <value>admin/php/editortexto</value>
  1867 + </column_data>
  1868 + <column_data>
  1869 + <column_id>19</column_id>
  1870 + <value>editor de textos para edicao de mapfiles</value>
  1871 + </column_data>
  1872 + </data>
  1873 + <data>
  1874 + <column_data>
  1875 + <column_id>17</column_id>
  1876 + <value>17</value>
  1877 + </column_data>
  1878 + <column_data>
  1879 + <column_id>18</column_id>
  1880 + <value>admin/html/usuarios</value>
  1881 + </column_data>
  1882 + <column_data>
  1883 + <column_id>19</column_id>
  1884 + <value>cadastro de usuarios</value>
  1885 + </column_data>
  1886 + </data>
  1887 + </direct_test_data>
  1888 + <repeat_test_data>
  1889 + <test_data_num>0</test_data_num>
  1890 + <data_def_list>
  1891 + <data_def>
  1892 + <column_id>17</column_id>
  1893 + <type>Format</type>
  1894 + <repeat_num>1</repeat_num>
  1895 + <template>%</template>
  1896 + <from>1</from>
  1897 + <to>100</to>
  1898 + <increment>1</increment>
  1899 + <select>1</select>
  1900 + <select>2</select>
  1901 + <select>3</select>
  1902 + <select>4</select>
  1903 + <modified_values>
  1904 + </modified_values>
  1905 + </data_def>
  1906 + <data_def>
  1907 + <column_id>18</column_id>
  1908 + <type>Format</type>
  1909 + <repeat_num>1</repeat_num>
  1910 + <template>codigo%</template>
  1911 + <from>1</from>
  1912 + <to>100</to>
  1913 + <increment>1</increment>
  1914 + <select>codigo1</select>
  1915 + <select>codigo2</select>
  1916 + <select>codigo3</select>
  1917 + <select>codigo4</select>
  1918 + <modified_values>
  1919 + </modified_values>
  1920 + </data_def>
  1921 + <data_def>
  1922 + <column_id>19</column_id>
  1923 + <type>Format</type>
  1924 + <repeat_num>1</repeat_num>
  1925 + <template>descricao%</template>
  1926 + <from>1</from>
  1927 + <to>100</to>
  1928 + <increment>1</increment>
  1929 + <select>descricao1</select>
  1930 + <select>descricao2</select>
  1931 + <select>descricao3</select>
  1932 + <select>descricao4</select>
  1933 + <modified_values>
  1934 + </modified_values>
  1935 + </data_def>
  1936 + </data_def_list>
  1937 + </repeat_test_data>
  1938 + </table_test_data>
  1939 + <table_test_data>
  1940 + <table_id>3</table_id>
  1941 + <direct_test_data>
  1942 + <data>
  1943 + <column_data>
  1944 + <column_id>9</column_id>
  1945 + <value>16</value>
  1946 + </column_data>
  1947 + <column_data>
  1948 + <column_id>10</column_id>
  1949 + <value>2</value>
  1950 + </column_data>
  1951 + </data>
  1952 + <data>
  1953 + <column_data>
  1954 + <column_id>9</column_id>
  1955 + <value>1</value>
  1956 + </column_data>
  1957 + <column_data>
  1958 + <column_id>10</column_id>
  1959 + <value>2</value>
  1960 + </column_data>
  1961 + </data>
  1962 + <data>
  1963 + <column_data>
  1964 + <column_id>9</column_id>
  1965 + <value>1</value>
  1966 + </column_data>
  1967 + <column_data>
  1968 + <column_id>10</column_id>
  1969 + <value>3</value>
  1970 + </column_data>
  1971 + </data>
  1972 + <data>
  1973 + <column_data>
  1974 + <column_id>9</column_id>
  1975 + <value>4</value>
  1976 + </column_data>
  1977 + <column_data>
  1978 + <column_id>10</column_id>
  1979 + <value>3</value>
  1980 + </column_data>
  1981 + </data>
  1982 + <data>
  1983 + <column_data>
  1984 + <column_id>9</column_id>
  1985 + <value>5</value>
  1986 + </column_data>
  1987 + <column_data>
  1988 + <column_id>10</column_id>
  1989 + <value>3</value>
  1990 + </column_data>
  1991 + </data>
  1992 + <data>
  1993 + <column_data>
  1994 + <column_id>9</column_id>
  1995 + <value>7</value>
  1996 + </column_data>
  1997 + <column_data>
  1998 + <column_id>10</column_id>
  1999 + <value>3</value>
  2000 + </column_data>
  2001 + </data>
  2002 + <data>
  2003 + <column_data>
  2004 + <column_id>9</column_id>
  2005 + <value>10</value>
  2006 + </column_data>
  2007 + <column_data>
  2008 + <column_id>10</column_id>
  2009 + <value>3</value>
  2010 + </column_data>
  2011 + </data>
  2012 + <data>
  2013 + <column_data>
  2014 + <column_id>9</column_id>
  2015 + <value>13</value>
  2016 + </column_data>
  2017 + <column_data>
  2018 + <column_id>10</column_id>
  2019 + <value>2</value>
  2020 + </column_data>
  2021 + </data>
  2022 + <data>
  2023 + <column_data>
  2024 + <column_id>9</column_id>
  2025 + <value>13</value>
  2026 + </column_data>
  2027 + <column_data>
  2028 + <column_id>10</column_id>
  2029 + <value>4</value>
  2030 + </column_data>
  2031 + </data>
  2032 + <data>
  2033 + <column_data>
  2034 + <column_id>9</column_id>
  2035 + <value>15</value>
  2036 + </column_data>
  2037 + <column_data>
  2038 + <column_id>10</column_id>
  2039 + <value>3</value>
  2040 + </column_data>
  2041 + </data>
  2042 + </direct_test_data>
  2043 + <repeat_test_data>
  2044 + <test_data_num>0</test_data_num>
  2045 + <data_def_list>
  2046 + <data_def>
  2047 + <column_id>9</column_id>
  2048 + <type>Foreign Key</type>
  2049 + <repeat_num>1</repeat_num>
  2050 + <template>%</template>
  2051 + <from>1</from>
  2052 + <to>100</to>
  2053 + <increment>1</increment>
  2054 + <select>1</select>
  2055 + <select>2</select>
  2056 + <select>3</select>
  2057 + <select>4</select>
  2058 + <modified_values>
  2059 + </modified_values>
  2060 + </data_def>
  2061 + <data_def>
  2062 + <column_id>10</column_id>
  2063 + <type>Foreign Key</type>
  2064 + <repeat_num>1</repeat_num>
  2065 + <template>%</template>
  2066 + <from>1</from>
  2067 + <to>100</to>
  2068 + <increment>1</increment>
  2069 + <select>1</select>
  2070 + <select>2</select>
  2071 + <select>3</select>
  2072 + <select>4</select>
  2073 + <modified_values>
  2074 + </modified_values>
  2075 + </data_def>
  2076 + </data_def_list>
  2077 + </repeat_test_data>
  2078 + </table_test_data>
  2079 + <table_test_data>
  2080 + <table_id>4</table_id>
  2081 + <direct_test_data>
  2082 + <data>
  2083 + <column_data>
  2084 + <column_id>11</column_id>
  2085 + <value>1</value>
  2086 + </column_data>
  2087 + <column_data>
  2088 + <column_id>12</column_id>
  2089 + <value>admin</value>
  2090 + </column_data>
  2091 + <column_data>
  2092 + <column_id>13</column_id>
  2093 + <value>Podem executar qualquer tarefa, inclusive cadastrar novos administradores</value>
  2094 + </column_data>
  2095 + </data>
  2096 + <data>
  2097 + <column_data>
  2098 + <column_id>11</column_id>
  2099 + <value>2</value>
  2100 + </column_data>
  2101 + <column_data>
  2102 + <column_id>12</column_id>
  2103 + <value>editores</value>
  2104 + </column_data>
  2105 + <column_data>
  2106 + <column_id>13</column_id>
  2107 + <value>Podem criar/editar qualquer tema (mapfile) mas nao podem editar a arvore do catalogo de temas</value>
  2108 + </column_data>
  2109 + </data>
  2110 + <data>
  2111 + <column_data>
  2112 + <column_id>11</column_id>
  2113 + <value>3</value>
  2114 + </column_data>
  2115 + <column_data>
  2116 + <column_id>12</column_id>
  2117 + <value>publicadores</value>
  2118 + </column_data>
  2119 + <column_data>
  2120 + <column_id>13</column_id>
  2121 + <value>Podem alterar a arvore do catalogo de temas e dos atlas</value>
  2122 + </column_data>
  2123 + </data>
  2124 + <data>
  2125 + <column_data>
  2126 + <column_id>11</column_id>
  2127 + <value>4</value>
  2128 + </column_data>
  2129 + <column_data>
  2130 + <column_id>12</column_id>
  2131 + <value>editoresgeo</value>
  2132 + </column_data>
  2133 + <column_data>
  2134 + <column_id>13</column_id>
  2135 + <value>Podem editar dados geograficos</value>
  2136 + </column_data>
  2137 + </data>
  2138 + </direct_test_data>
  2139 + <repeat_test_data>
  2140 + <test_data_num>0</test_data_num>
  2141 + <data_def_list>
  2142 + <data_def>
  2143 + <column_id>11</column_id>
  2144 + <type>Format</type>
  2145 + <repeat_num>1</repeat_num>
  2146 + <template>%</template>
  2147 + <from>1</from>
  2148 + <to>100</to>
  2149 + <increment>1</increment>
  2150 + <select>1</select>
  2151 + <select>2</select>
  2152 + <select>3</select>
  2153 + <select>4</select>
  2154 + <modified_values>
  2155 + </modified_values>
  2156 + </data_def>
  2157 + <data_def>
  2158 + <column_id>12</column_id>
  2159 + <type>Format</type>
  2160 + <repeat_num>1</repeat_num>
  2161 + <template>nome%</template>
  2162 + <from>1</from>
  2163 + <to>100</to>
  2164 + <increment>1</increment>
  2165 + <select>nome1</select>
  2166 + <select>nome2</select>
  2167 + <select>nome3</select>
  2168 + <select>nome4</select>
  2169 + <modified_values>
  2170 + </modified_values>
  2171 + </data_def>
  2172 + <data_def>
  2173 + <column_id>13</column_id>
  2174 + <type>Format</type>
  2175 + <repeat_num>1</repeat_num>
  2176 + <template>descricao%</template>
  2177 + <from>1</from>
  2178 + <to>100</to>
  2179 + <increment>1</increment>
  2180 + <select>descricao1</select>
  2181 + <select>descricao2</select>
  2182 + <select>descricao3</select>
  2183 + <select>descricao4</select>
  2184 + <modified_values>
  2185 + </modified_values>
  2186 + </data_def>
  2187 + </data_def_list>
  2188 + </repeat_test_data>
  2189 + </table_test_data>
  2190 + <table_test_data>
  2191 + <table_id>2</table_id>
  2192 + <direct_test_data>
  2193 + <data>
  2194 + <column_data>
  2195 + <column_id>7</column_id>
  2196 + <value>2</value>
  2197 + </column_data>
  2198 + <column_data>
  2199 + <column_id>8</column_id>
  2200 + <value>2</value>
  2201 + </column_data>
  2202 + </data>
  2203 + <data>
  2204 + <column_data>
  2205 + <column_id>7</column_id>
  2206 + <value>3</value>
  2207 + </column_data>
  2208 + <column_data>
  2209 + <column_id>8</column_id>
  2210 + <value>3</value>
  2211 + </column_data>
  2212 + </data>
  2213 + <data>
  2214 + <column_data>
  2215 + <column_id>7</column_id>
  2216 + <value>4</value>
  2217 + </column_data>
  2218 + <column_data>
  2219 + <column_id>8</column_id>
  2220 + <value>4</value>
  2221 + </column_data>
  2222 + </data>
  2223 + <data>
  2224 + <column_data>
  2225 + <column_id>7</column_id>
  2226 + <value>1</value>
  2227 + </column_data>
  2228 + <column_data>
  2229 + <column_id>8</column_id>
  2230 + <value>1</value>
  2231 + </column_data>
  2232 + </data>
  2233 + </direct_test_data>
  2234 + <repeat_test_data>
  2235 + <test_data_num>0</test_data_num>
  2236 + <data_def_list>
  2237 + <data_def>
  2238 + <column_id>7</column_id>
  2239 + <type>Foreign Key</type>
  2240 + <repeat_num>1</repeat_num>
  2241 + <template>%</template>
  2242 + <from>1</from>
  2243 + <to>100</to>
  2244 + <increment>1</increment>
  2245 + <select>1</select>
  2246 + <select>2</select>
  2247 + <select>3</select>
  2248 + <select>4</select>
  2249 + <modified_values>
  2250 + </modified_values>
  2251 + </data_def>
  2252 + <data_def>
  2253 + <column_id>8</column_id>
  2254 + <type>Foreign Key</type>
  2255 + <repeat_num>1</repeat_num>
  2256 + <template>%</template>
  2257 + <from>1</from>
  2258 + <to>100</to>
  2259 + <increment>1</increment>
  2260 + <select>1</select>
  2261 + <select>2</select>
  2262 + <select>3</select>
  2263 + <select>4</select>
  2264 + <modified_values>
  2265 + </modified_values>
  2266 + </data_def>
  2267 + </data_def_list>
  2268 + </repeat_test_data>
  2269 + </table_test_data>
1229 2270 </test_data>
1230 2271 </test_data_list>
1231 2272 <sequence_set>
... ...