Commit 27f4cf3a0106195c69a371d59188279268471c3c

Authored by Edmar Moretti
1 parent 93b79835

--no commit message

admin/html/grupos.html
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 Cada grupo é mostrado como nós de um ou mais menus das árvores mostradas na guia de adição de temas do i3geo.<br><br> 31 Cada grupo é mostrado como nós de um ou mais menus das árvores mostradas na guia de adição de temas do i3geo.<br><br>
32 A lista de grupos é baseada no banco admin.db e os usuários que não são editores podem 32 A lista de grupos é baseada no banco admin.db e os usuários que não são editores podem
33 ver apenas os grupos publicados.<br><br> 33 ver apenas os grupos publicados.<br><br>
34 - A lista de IPs dos usuários que podem editar os menu é definida no 34 + A lista de IPs dos usuários que podem administrar o i3geo é definida no
35 arquivo i3geo/ms_configura.php 35 arquivo i3geo/ms_configura.php
36 </div> 36 </div>
37 <div class="ft"></div> 37 <div class="ft"></div>
admin/html/i3geoadmin_temas.html
@@ -1,52 +0,0 @@ @@ -1,52 +0,0 @@
1 -<html>  
2 -<head>  
3 -<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">  
4 -<link rel="stylesheet" type="text/css" href="admin.css">  
5 -<script src="../../pacotes/cpaint/cpaint2.inc.compressed.js" type="text/javascript"></script>  
6 -<script src="../js/admin.js" type="text/javascript"></script>  
7 -<script src="../js/menutemas.js" type="text/javascript"></script>  
8 -  
9 -</head>  
10 -<body>  
11 -<div style=width:80%;text-align:center;>  
12 -<h1>Administração do i3geo - menu de temas <img src="../imagens/04.png" style="cursor:pointer" onclick="$i('ajuda').style.display='block'"/></h1>  
13 -<p><a href="../index.html">Voltar</a></p>  
14 -<div id=ajuda style="display:none">  
15 -<p>Este programa permite editar a lista de temas</p>  
16 -<p>O menu é baseado no banco admin.db.</p>  
17 -<p>A lista de IPs dos usuários que podem editar os arquivos de configuração do i3geo e  
18 -dos que podem navegar pelos diretórios do servidor, não são mostradas aqui. Para  
19 -alterar essas variáveis, vc deve editar diretamente o arquivo i3geo/ms_configura.php.</p>  
20 -<p>Os temas são relacionados aos mapfiles existentes no diretório i3geo/temas. Cada tema recebe um nome que será mostrado  
21 -na árvore de temas. Após a criação dos temas, você pode criar a árvore de temas, associando-os a menus, grupos e sub-grupos.  
22 -</div></div>  
23 -<div id=aguarde style="color:red" ><img src="../../imagens/aguarde.gif" /></div>  
24 -</body>  
25 -<script>  
26 -/*  
27 -Title: Administração da lista de temas do menu de temas  
28 -  
29 -File: i3geo/admin/i3geoadmin_temas.htm  
30 -*/  
31 -$parametros = {  
32 - "simples": [  
33 - { mensagem: "Adicione, altere ou elimine temas cadastrados",cabeca: "Temas",variavel:"temas"}  
34 - ]};  
35 -var inicia = function(retorno)  
36 -{  
37 - $listaTags = retorno.data;  
38 - iniciaAdmin()  
39 -}  
40 -var listaTags = function(retorno)  
41 -{  
42 - $listaDeMapfiles = retorno.data;  
43 - var cPaint = new cpaint();  
44 - //cPaint.set_async("true");  
45 - cPaint.set_response_type("JSON");  
46 - var p = "../php/menutemas.php?funcao=pegaTags";  
47 - cPaint.call(p,"pegaTags",inicia);  
48 -}  
49 -pegaMapfiles(listaTags)  
50 -document.getElementById("aguarde").style.display="none"  
51 -</script>  
52 -</html>  
53 \ No newline at end of file 0 \ No newline at end of file
admin/html/listatemas.html
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 Cada tema é vínculado a um arquivo mapfile, possuindo um nome e alguns parâmetros, 31 Cada tema é vínculado a um arquivo mapfile, possuindo um nome e alguns parâmetros,
32 como possibilidade de download, geração de Web Services, etc.<br><br> 32 como possibilidade de download, geração de Web Services, etc.<br><br>
33 A lista de temas é baseada no banco admin.db.<br><br> 33 A lista de temas é baseada no banco admin.db.<br><br>
34 - A lista de IPs dos usuários que podem editar os menu é definida no 34 + A lista de IPs dos usuários que podem administrar o i3geo é definida no
35 arquivo i3geo/ms_configura.php 35 arquivo i3geo/ms_configura.php
36 </div> 36 </div>
37 <div class="ft"></div> 37 <div class="ft"></div>
admin/html/menus.html
@@ -33,7 +33,7 @@ @@ -33,7 +33,7 @@
33 ver apenas os menus publicados.<br><br> 33 ver apenas os menus publicados.<br><br>
34 Os perfis que podem ser definidos para cada menu, são obtidos da tabela de perfis. Veja 34 Os perfis que podem ser definidos para cada menu, são obtidos da tabela de perfis. Veja
35 o menu principal do sistema de administração para maiores detalhes.<br><br> 35 o menu principal do sistema de administração para maiores detalhes.<br><br>
36 - A lista de IPs dos usuários que podem editar os menu é definida no 36 + A lista de IPs dos usuários que podem administrar o i3geo é definida no
37 arquivo i3geo/ms_configura.php 37 arquivo i3geo/ms_configura.php
38 </div> 38 </div>
39 <div class="ft"></div> 39 <div class="ft"></div>
admin/html/perfis.html 0 → 100644
@@ -0,0 +1,45 @@ @@ -0,0 +1,45 @@
  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>Perfis</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/perfis.js"></script>
  19 +</head>
  20 +<body class=" yui-skin-sam">
  21 +<div style="margin:20px">
  22 +<div style=width:80%;text-align:center;>
  23 +<h1>Administração do i3geo - perfis <img src="../imagens/04.png" style="cursor:pointer" id=botaoAjuda /></h1>
  24 +
  25 +</div>
  26 +<div id="ajuda">
  27 + <div class="hd">Ajuda</div>
  28 + <div class="bd" style="height:144px;overflow:auto">
  29 + Este programa permite editar a lista de perfis.<br><br>
  30 + Os perfis são utilizados para restringir o acesso a determinados temas,
  31 + grupos, sub-grupos e mapas. A lista de perfis é utilizada nas definições desses
  32 + itens.<br><br>
  33 + A lista de perfis é baseada no banco admin.db.<br><br>
  34 + A lista de IPs dos usuários que podem administrar o i3geo é definida no
  35 + arquivo i3geo/ms_configura.php
  36 + </div>
  37 + <div class="ft"></div>
  38 +</div>
  39 +<input onclick="adicionaLinha()" type=button id=adiciona value="Adicionar um novo perfil" />
  40 +<br>
  41 +<p>Perfis existentes: (clique na célula para editar e salve a linha editada)</p>
  42 +<div id="tabela" style="left:-5px;"></div>
  43 +</div>
  44 +<div id=logajax style="display:block" ></div>
  45 +</body>
admin/html/subgrupos.html
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 Cada sub-grupo é mostrado como nós de um ou mais menus das árvores mostradas na guia de adição de temas do i3geo.<br><br> 31 Cada sub-grupo é mostrado como nós de um ou mais menus das árvores mostradas na guia de adição de temas do i3geo.<br><br>
32 A lista de sub-grupos é baseada no banco admin.db e os usuários que não são editores podem 32 A lista de sub-grupos é baseada no banco admin.db e os usuários que não são editores podem
33 ver apenas os sub-grupos publicados.<br><br> 33 ver apenas os sub-grupos publicados.<br><br>
34 - A lista de IPs dos usuários que podem editar os menu é definida no 34 + A lista de IPs dos usuários que podem administrar o i3geo é definida no
35 arquivo i3geo/ms_configura.php 35 arquivo i3geo/ms_configura.php
36 </div> 36 </div>
37 <div class="ft"></div> 37 <div class="ft"></div>
admin/index.html
@@ -83,12 +83,12 @@ que por sua vez contém temas.&lt;/p&gt; @@ -83,12 +83,12 @@ que por sua vez contém temas.&lt;/p&gt;
83 </div> 83 </div>
84 <table class=lista1 > 84 <table class=lista1 >
85 <tr onclick="ajuda('a2',this)"><td><div class=ajuda ></div></td><td>Ajuda</td></tr> 85 <tr onclick="ajuda('a2',this)"><td><div class=ajuda ></div></td><td>Ajuda</td></tr>
86 -<tr onclick="abre('html/i3geoadmin_perfis.html')"><td><div class=aplicar ></div></td><td>Editar a lista de perfis</td></tr> 86 +<tr onclick="abre('html/perfis.html')"><td><div class=aplicar ></div></td><td>Editar a lista de perfis</td></tr>
87 <tr onclick="abre('html/i3geoadmin_tags.html')"><td><div class=aplicar ></div></td><td>Editar a lista de tags (palavras-chave)</td></tr> 87 <tr onclick="abre('html/i3geoadmin_tags.html')"><td><div class=aplicar ></div></td><td>Editar a lista de tags (palavras-chave)</td></tr>
88 <tr onclick="abre('html/menus.html')"><td><div class=aplicar ></div></td><td>Editar a lista de menus</td></tr> 88 <tr onclick="abre('html/menus.html')"><td><div class=aplicar ></div></td><td>Editar a lista de menus</td></tr>
89 <tr onclick="abre('html/grupos.html')"><td><div class=aplicar ></div></td><td>Editar a lista de grupos</td></tr> 89 <tr onclick="abre('html/grupos.html')"><td><div class=aplicar ></div></td><td>Editar a lista de grupos</td></tr>
90 <tr onclick="abre('html/subgrupos.html')"><td><div class=aplicar ></div></td><td>Editar a lista de sub-grupos</td></tr> 90 <tr onclick="abre('html/subgrupos.html')"><td><div class=aplicar ></div></td><td>Editar a lista de sub-grupos</td></tr>
91 -<tr onclick="abre('html/i3geoadmin_temas.html')"><td><div class=aplicar ></div></td><td>Editar a lista de temas</td></tr> 91 +<tr onclick="abre('html/listatemas.html')"><td><div class=aplicar ></div></td><td>Editar a lista de temas</td></tr>
92 <tr onclick="abre('html/i3geoadmin_arvore.html')"><td><div class=aplicar ></div></td><td>Editar a árvore dos menus</td></tr> 92 <tr onclick="abre('html/i3geoadmin_arvore.html')"><td><div class=aplicar ></div></td><td>Editar a árvore dos menus</td></tr>
93 <tr onclick="abre('html/i3geoadmin_importarmenu.html')"><td><div class=aplicar ></div></td><td>Importar XML</td></tr> 93 <tr onclick="abre('html/i3geoadmin_importarmenu.html')"><td><div class=aplicar ></div></td><td>Importar XML</td></tr>
94 </table> 94 </table>
admin/js/perfis.js 0 → 100644
@@ -0,0 +1,200 @@ @@ -0,0 +1,200 @@
  1 +YAHOO.namespace("example.container");
  2 +function initMenu()
  3 +{
  4 + ativaBotaoAdicionaPerfil();
  5 + core_carregando("ativa");
  6 + core_ativaPainelAjuda("ajuda","botaoAjuda");
  7 + pegaPerfis();
  8 +}
  9 +function ativaBotaoAdicionaPerfil()
  10 +{
  11 + var adicionalinha = function()
  12 + {
  13 + core_carregando("ativa");
  14 + core_carregando(" adicionando um novo registro");
  15 + var sUrl = "../php/menutemas.php?funcao=alteraPerfis";
  16 + var callback =
  17 + {
  18 + success:function(o)
  19 + {
  20 + try
  21 + {
  22 + myDataTable.addRow(YAHOO.lang.JSON.parse(o.responseText)[0],0);
  23 + core_carregando("desativa");
  24 + }
  25 + catch(e){core_handleFailure(o,o.responseText);}
  26 + },
  27 + failure:core_handleFailure,
  28 + argument: { foo:"foo", bar:"bar" }
  29 + };
  30 + core_makeRequest(sUrl,callback)
  31 + };
  32 + //cria o botão de adição de um novo menu
  33 + var adiciona = new YAHOO.widget.Button("adiciona",{ onclick: { fn: adicionalinha } });
  34 +}
  35 +function pegaPerfis()
  36 +{
  37 + core_carregando("buscando perfis...");
  38 + var sUrl = "../php/menutemas.php?funcao=pegaPerfis";
  39 + var callback =
  40 + {
  41 + success:function(o)
  42 + {
  43 + try
  44 + {montaTabela(YAHOO.lang.JSON.parse(o.responseText));}
  45 + catch(e){core_handleFailure(o,o.responseText);}
  46 + },
  47 + failure:core_handleFailure,
  48 + argument: { foo:"foo", bar:"bar" }
  49 + };
  50 + core_makeRequest(sUrl,callback)
  51 +}
  52 +function montaTabela(dados)
  53 +{
  54 + YAHOO.example.InlineCellEditing = new function()
  55 + {
  56 + // Custom formatter for "address" column to preserve line breaks
  57 + var formatTexto = function(elCell, oRecord, oColumn, oData)
  58 + {
  59 + elCell.innerHTML = "<p style=width:250px >" + oData + "</p>";
  60 + };
  61 + var formatTextoId = function(elCell, oRecord, oColumn, oData)
  62 + {
  63 + elCell.innerHTML = "<p style=width:20px >" + oData + "</p>";
  64 + };
  65 +
  66 + var formatSalva = function(elCell, oRecord, oColumn)
  67 + {
  68 + elCell.innerHTML = "<div class=aplicar style='text-align:center' onclick='gravaLinha(\""+oRecord._sId+"\")'></div>";
  69 + };
  70 + var formatExclui = function(elCell, oRecord, oColumn)
  71 + {
  72 + elCell.innerHTML = "<div class=excluir style='text-align:center' ></div>";
  73 + };
  74 + var myColumnDefs = [
  75 + {key:"excluir",label:"excluir",formatter:formatExclui},
  76 + {label:"salvar",formatter:formatSalva},
  77 + {label:"id",key:"id_perfil", formatter:formatTextoId},
  78 + {label:"nome",resizeable:true,key:"perfil", formatter:formatTexto, editor:"textbox"}
  79 + ];
  80 + myDataSource = new YAHOO.util.DataSource(dados);
  81 + myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
  82 + myDataSource.responseSchema =
  83 + {
  84 + fields: ["id_perfil","perfil"]
  85 + };
  86 + myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource);
  87 + // Set up editing flow
  88 + myDataTable.highlightEditableCell = function(oArgs)
  89 + {
  90 + var elCell = oArgs.target;
  91 + var column = myDataTable.getColumn(oArgs.target);
  92 + if(!YAHOO.lang.isNull(column.editor))
  93 + {
  94 + YAHOO.util.Dom.addClass(elCell,'yui-dt-highlighted');
  95 + }
  96 + };
  97 + myDataTable.unhighlightEditableCell = function(oArgs)
  98 + {
  99 + var elCell = oArgs.target;
  100 + if(elCell.style.cursor="pointer")
  101 + {
  102 + YAHOO.util.Dom.removeClass(elCell,'yui-dt-highlighted');
  103 + }
  104 + };
  105 + myDataTable.subscribe("cellMouseoverEvent", myDataTable.highlightEditableCell);
  106 + myDataTable.subscribe("cellMouseoutEvent", myDataTable.unhighlightEditableCell);
  107 + myDataTable.subscribe('cellClickEvent',function(ev)
  108 + {
  109 + var target = YAHOO.util.Event.getTarget(ev);
  110 + var column = this.getColumn(target);
  111 + if(YAHOO.example.container.panelCK)
  112 + {
  113 + YAHOO.example.container.panelCK.destroy();
  114 + YAHOO.example.container.panelCK = null;
  115 + }
  116 + if (column.key == 'excluir')
  117 + {
  118 + var record = this.getRecord(target);
  119 + excluiLinha(record.getData('id_perfil'),target);
  120 + }
  121 + else
  122 + {this.onEventShowCellEditor(ev);}
  123 + });
  124 + // Hook into custom event to customize save-flow of "radio" editor
  125 + myDataTable.subscribe("editorUpdateEvent", function(oArgs)
  126 + {
  127 + if(oArgs.editor.column.key === "active")
  128 + {
  129 + this.saveCellEditor();
  130 +
  131 + }
  132 + });
  133 + myDataTable.subscribe("editorBlurEvent", function(oArgs)
  134 + {
  135 + this.cancelCellEditor();
  136 + });
  137 + };
  138 + core_carregando("desativa");
  139 +}
  140 +function gravaLinha(row)
  141 +{
  142 + var r = myDataTable.getRecordSet().getRecord(row);
  143 + var id_perfil = r.getData("id_perfil");
  144 + var perfil = r.getData("perfil");
  145 + core_carregando("ativa");
  146 + core_carregando(" gravando registro do id= "+id_perfil);
  147 + var sUrl = "../php/menutemas.php?funcao=alteraPerfis&perfil="+perfil+"&id="+id_perfil;
  148 + var callback =
  149 + {
  150 + success:function(o)
  151 + {
  152 + core_carregando("desativa");
  153 + },
  154 + failure:core_handleFailure,
  155 + argument: { foo:"foo", bar:"bar" }
  156 + };
  157 + core_makeRequest(sUrl,callback)
  158 +}
  159 +function excluiLinha(id,row)
  160 +{
  161 + //dialogo
  162 + // Define various event handlers for Dialog
  163 + var handleYes = function() {
  164 + this.hide();
  165 + core_carregando("ativa");
  166 + core_carregando(" excluindo o registro do id= "+id);
  167 + var sUrl = "../php/menutemas.php?funcao=excluirRegistro&id="+id+"&tabela=perfis";
  168 + var callback =
  169 + {
  170 + success:function(o)
  171 + {
  172 + try
  173 + {
  174 + if(YAHOO.lang.JSON.parse(o.responseText) == "erro")
  175 + {
  176 + core_carregando("<span style=color:red >Não foi possível excluir. Verifique se não existem itens vinculados a este perfil</span>");
  177 + setTimeout("core_carregando('desativa')",3000)
  178 + }
  179 + else
  180 + {
  181 + myDataTable.deleteRow(row);
  182 + core_carregando("desativa");
  183 + }
  184 + }
  185 + catch(e){core_handleFailure(o,o.responseText);}
  186 + },
  187 + failure:core_handleFailure,
  188 + argument: { foo:"foo", bar:"bar" }
  189 + };
  190 + core_makeRequest(sUrl,callback)
  191 + };
  192 + var handleNo = function()
  193 + {
  194 + this.hide();
  195 + };
  196 + var mensagem = "Exclui o registro?";
  197 + var largura = "300"
  198 + core_dialogoContinua(handleYes,handleNo,mensagem,largura)
  199 +}
  200 +YAHOO.util.Event.addListener(window, "load", initMenu);
0 \ No newline at end of file 201 \ No newline at end of file
admin/php/menutemas.php
@@ -120,8 +120,10 @@ switch ($funcao) @@ -120,8 +120,10 @@ switch ($funcao)
120 break; 120 break;
121 121
122 case "alteraPerfis": 122 case "alteraPerfis":
123 - $cp->set_data(alteraPerfis());  
124 - $cp->return_data(); 123 + $novo = alteraPerfis();
  124 + $sql = "SELECT * from i3geoadmin_perfis WHERE id_perfil = '".$novo."'";
  125 + retornaJSON(pegaDados($sql));
  126 + exit;
125 break; 127 break;
126 128
127 case "excluirRegistro": 129 case "excluirRegistro":
@@ -139,7 +141,12 @@ switch ($funcao) @@ -139,7 +141,12 @@ switch ($funcao)
139 if($tabela == "tags") 141 if($tabela == "tags")
140 {excluiTagTemas($id);$tabela = "i3geoadmin_tags";$coluna = "id_tag";} 142 {excluiTagTemas($id);$tabela = "i3geoadmin_tags";$coluna = "id_tag";}
141 if($tabela == "perfis") 143 if($tabela == "perfis")
142 - {excluiPerfil($perfil);$tabela = "i3geoadmin_perfis";$coluna = "perfil";} 144 + {
  145 + $tabela = "i3geoadmin_perfis";
  146 + $coluna = "id_perfil";
  147 + if($id != "")
  148 + excluiPerfil($id);
  149 + }
143 if($tabela == "subgrupos") 150 if($tabela == "subgrupos")
144 { 151 {
145 $tabela = "i3geoadmin_subgrupos"; 152 $tabela = "i3geoadmin_subgrupos";
@@ -194,53 +201,67 @@ function excluiPerfil($id) @@ -194,53 +201,67 @@ function excluiPerfil($id)
194 require_once("conexao.php"); 201 require_once("conexao.php");
195 foreach($dbh->query("select * from i3geoadmin_perfis where perfil = $id") as $row) 202 foreach($dbh->query("select * from i3geoadmin_perfis where perfil = $id") as $row)
196 {$perfil = $row["perfil"];} 203 {$perfil = $row["perfil"];}
197 - foreach($dbh->query("select * from i3geoadmin_mapas") as $row) 204 + $q = $dbh->query("select * from i3geoadmin_mapas");
  205 + foreach($q as $row)
198 { 206 {
199 - $ts = $row['perfil_mapa']; 207 + $t = $row['perfil_mapa'];
200 $i = $row['id_mapa']; 208 $i = $row['id_mapa'];
201 - $ts = str_replace($perfil,"",$ts); 209 + $ts = str_replace($perfil,"",$t);
  210 + if($t != $ts)
202 $dbhw->query("UPDATE i3geoadmin_mapas SET perfil_mapa = '$ts' WHERE id_mapa = $i"); 211 $dbhw->query("UPDATE i3geoadmin_mapas SET perfil_mapa = '$ts' WHERE id_mapa = $i");
203 - }  
204 - foreach($dbh->query("select * from i3geoadmin_menus") as $row) 212 + }
  213 + $q = $dbh->query("select * from i3geoadmin_menus");
  214 + foreach($q as $row)
205 { 215 {
206 - $ts = $row['perfil_menu']; 216 + $t = $row['perfil_menu'];
207 $i = $row['id_menu']; 217 $i = $row['id_menu'];
208 - $ts = str_replace($perfil,"",$ts); 218 + $ts = str_replace($perfil,"",$t);
  219 + if($t != $ts)
209 $dbhw->query("UPDATE i3geoadmin_menus SET perfil_menu = '$ts' WHERE id_menu = $i"); 220 $dbhw->query("UPDATE i3geoadmin_menus SET perfil_menu = '$ts' WHERE id_menu = $i");
210 - }  
211 - foreach($dbh->query("select * from i3geoadmin_n1") as $row) 221 + }
  222 + $q = $dbh->query("select * from i3geoadmin_n1");
  223 + foreach($q as $row)
212 { 224 {
213 - $ts = $row['perfil_n1']; 225 + $t = $row['perfil_n1'];
214 $i = $row['id_n1']; 226 $i = $row['id_n1'];
215 - $ts = str_replace($perfil,"",$ts); 227 + $ts = str_replace($perfil,"",$t);
  228 + if($t != $ts)
216 $dbhw->query("UPDATE i3geoadmin_n1 SET perfil_n1 = '$ts' WHERE id_n1 = $i"); 229 $dbhw->query("UPDATE i3geoadmin_n1 SET perfil_n1 = '$ts' WHERE id_n1 = $i");
217 - }  
218 - foreach($dbh->query("select * from i3geoadmin_n2") as $row) 230 + }
  231 + $q = $dbh->query("select * from i3geoadmin_n2");
  232 + foreach($q as $row)
219 { 233 {
220 - $ts = $row['perfil_n2']; 234 + $t = $row['perfil_n2'];
221 $i = $row['id_n2']; 235 $i = $row['id_n2'];
222 - $ts = str_replace($perfil,"",$ts); 236 + $ts = str_replace($perfil,"",$t);
  237 + if($t != $ts)
223 $dbhw->query("UPDATE i3geoadmin_n2 SET perfil_n2 = '$ts' WHERE id_n2 = $i"); 238 $dbhw->query("UPDATE i3geoadmin_n2 SET perfil_n2 = '$ts' WHERE id_n2 = $i");
224 - }  
225 - foreach($dbh->query("select * from i3geoadmin_n3") as $row) 239 + }
  240 + $q = $dbh->query("select * from i3geoadmin_n3");
  241 + foreach($q as $row)
226 { 242 {
227 - $ts = $row['perfil_n3']; 243 + $t = $row['perfil_n3'];
228 $i = $row['id_n3']; 244 $i = $row['id_n3'];
229 - $ts = str_replace($perfil,"",$ts); 245 + $ts = str_replace($perfil,"",$t);
  246 + if($t != $ts)
230 $dbhw->query("UPDATE i3geoadmin_n3 SET perfil_n3 = '$ts' WHERE id_n3 = $i"); 247 $dbhw->query("UPDATE i3geoadmin_n3 SET perfil_n3 = '$ts' WHERE id_n3 = $i");
231 - }  
232 - foreach($dbh->query("select * from i3geoadmin_raiz") as $row) 248 + }
  249 + $q = $dbh->query("select * from i3geoadmin_raiz");
  250 + foreach($q as $row)
233 { 251 {
234 - $ts = $row['perfil']; 252 + $t = $row['perfil'];
235 $i = $row['id_raiz']; 253 $i = $row['id_raiz'];
236 - $ts = str_replace($perfil,"",$ts); 254 + $ts = str_replace($perfil,"",$t);
  255 + if($t != $ts)
237 $dbhw->query("UPDATE i3geoadmin_raiz SET perfil = '$ts' WHERE id_raiz = $i"); 256 $dbhw->query("UPDATE i3geoadmin_raiz SET perfil = '$ts' WHERE id_raiz = $i");
238 } 257 }
239 - foreach($dbh->query("select * from i3geoadmin_sistemasf") as $row) 258 + $q = $dbh->query("select * from i3geoadmin_sistemasf");
  259 + foreach($q as $row)
240 { 260 {
241 - $ts = $row['perfil_funcao']; 261 + $t = $row['perfil_funcao'];
242 $i = $row['id_funcao']; 262 $i = $row['id_funcao'];
243 - $ts = str_replace($perfil,"",$ts); 263 + $ts = str_replace($perfil,"",$t);
  264 + if($t != $ts)
244 $dbhw->query("UPDATE i3geoadmin_sistemasf SET perfil_funcao = '$ts' WHERE id_funcao = $i"); 265 $dbhw->query("UPDATE i3geoadmin_sistemasf SET perfil_funcao = '$ts' WHERE id_funcao = $i");
245 } 266 }
246 } 267 }
@@ -390,6 +411,7 @@ function alteraPerfis() @@ -390,6 +411,7 @@ function alteraPerfis()
390 { 411 {
391 $dbh = ""; 412 $dbh = "";
392 include("conexao.php"); 413 include("conexao.php");
  414 + $retorna = "";
393 if($id != "") 415 if($id != "")
394 { 416 {
395 $original = ""; 417 $original = "";
@@ -398,69 +420,92 @@ function alteraPerfis() @@ -398,69 +420,92 @@ function alteraPerfis()
398 $dbhw->query("UPDATE i3geoadmin_perfis SET perfil = '$perfil' WHERE id_perfil = $id"); 420 $dbhw->query("UPDATE i3geoadmin_perfis SET perfil = '$perfil' WHERE id_perfil = $id");
399 if($original != "") 421 if($original != "")
400 { 422 {
401 - foreach($dbh->query("select * from i3geoadmin_mapas") as $row) 423 + $q = $dbh->query("select * from i3geoadmin_mapas");
  424 + foreach($q as $row)
402 { 425 {
403 - $ts = $row['perfil_mapa']; 426 + $t = $row['perfil_mapa'];
404 $i = $row['id_mapa']; 427 $i = $row['id_mapa'];
405 - $ts = str_replace($original,$perfil,$ts); 428 + $ts = str_replace($original,$perfil,$t);
  429 + if($t != $ts)
406 $dbhw->query("UPDATE i3geoadmin_mapas SET perfil_mapa = '$ts' WHERE id_mapa = $i"); 430 $dbhw->query("UPDATE i3geoadmin_mapas SET perfil_mapa = '$ts' WHERE id_mapa = $i");
407 - }  
408 - foreach($dbh->query("select * from i3geoadmin_menus") as $row) 431 + }
  432 + $q = $dbh->query("select * from i3geoadmin_menus");
  433 + foreach($q as $row)
409 { 434 {
410 - $ts = $row['perfil_menu']; 435 + $t = $row['perfil_menu'];
411 $i = $row['id_menu']; 436 $i = $row['id_menu'];
412 - $ts = str_replace($original,$perfil,$ts); 437 + $ts = str_replace($original,$perfil,$t);
  438 + if($t != $ts)
413 $dbhw->query("UPDATE i3geoadmin_menus SET perfil_menu = '$ts' WHERE id_menu = $i"); 439 $dbhw->query("UPDATE i3geoadmin_menus SET perfil_menu = '$ts' WHERE id_menu = $i");
414 - }  
415 - foreach($dbh->query("select * from i3geoadmin_n1") as $row) 440 + }
  441 + $q = $dbh->query("select * from i3geoadmin_n1");
  442 + foreach($q as $row)
416 { 443 {
417 - $ts = $row['perfil_n1']; 444 + $t = $row['perfil_n1'];
418 $i = $row['id_n1']; 445 $i = $row['id_n1'];
419 - $ts = str_replace($original,$perfil,$ts); 446 + $ts = str_replace($original,$perfil,$t);
  447 + if($t != $ts)
420 $dbhw->query("UPDATE i3geoadmin_n1 SET perfil_n1 = '$ts' WHERE id_n1 = $i"); 448 $dbhw->query("UPDATE i3geoadmin_n1 SET perfil_n1 = '$ts' WHERE id_n1 = $i");
421 - }  
422 - foreach($dbh->query("select * from i3geoadmin_n2") as $row) 449 + }
  450 + $q = $dbh->query("select * from i3geoadmin_n2");
  451 + foreach($q as $row)
423 { 452 {
424 - $ts = $row['perfil_n2']; 453 + $t = $row['perfil_n2'];
425 $i = $row['id_n2']; 454 $i = $row['id_n2'];
426 - $ts = str_replace($original,$perfil,$ts); 455 + $ts = str_replace($original,$perfil,$t);
  456 + if($t != $ts)
427 $dbhw->query("UPDATE i3geoadmin_n2 SET perfil_n2 = '$ts' WHERE id_n2 = $i"); 457 $dbhw->query("UPDATE i3geoadmin_n2 SET perfil_n2 = '$ts' WHERE id_n2 = $i");
428 - }  
429 - foreach($dbh->query("select * from i3geoadmin_n3") as $row) 458 + }
  459 + $q = $dbh->query("select * from i3geoadmin_n3");
  460 + foreach($q as $row)
430 { 461 {
431 - $ts = $row['perfil_n3']; 462 + $t = $row['perfil_n3'];
432 $i = $row['id_n3']; 463 $i = $row['id_n3'];
433 - $ts = str_replace($original,$perfil,$ts); 464 + $ts = str_replace($original,$perfil,$t);
  465 + if($t != $ts)
434 $dbhw->query("UPDATE i3geoadmin_n3 SET perfil_n3 = '$ts' WHERE id_n3 = $i"); 466 $dbhw->query("UPDATE i3geoadmin_n3 SET perfil_n3 = '$ts' WHERE id_n3 = $i");
435 - }  
436 - foreach($dbh->query("select * from i3geoadmin_raiz") as $row) 467 + }
  468 + $q = $dbh->query("select * from i3geoadmin_raiz");
  469 + foreach($q as $row)
437 { 470 {
438 - $ts = $row['perfil']; 471 + $t = $row['perfil'];
439 $i = $row['id_raiz']; 472 $i = $row['id_raiz'];
440 - $ts = str_replace($original,$perfil,$ts); 473 + $ts = str_replace($original,$perfil,$t);
  474 + if($t != $ts)
441 $dbhw->query("UPDATE i3geoadmin_raiz SET perfil = '$ts' WHERE id_raiz = $i"); 475 $dbhw->query("UPDATE i3geoadmin_raiz SET perfil = '$ts' WHERE id_raiz = $i");
442 - }  
443 - foreach($dbh->query("select * from i3geoadmin_sistemas") as $row) 476 + }
  477 + $q = $dbh->query("select * from i3geoadmin_sistemas");
  478 + foreach($q as $row)
444 { 479 {
445 - $ts = $row['perfil_sistema']; 480 + $t = $row['perfil_sistema'];
446 $i = $row['id_sistema']; 481 $i = $row['id_sistema'];
447 - $ts = str_replace($original,$perfil,$ts); 482 + $ts = str_replace($original,$perfil,$t);
  483 + if($t != $ts)
448 $dbhw->query("UPDATE i3geoadmin_sistemas SET perfil_sistema = '$ts' WHERE id_sistema = $i"); 484 $dbhw->query("UPDATE i3geoadmin_sistemas SET perfil_sistema = '$ts' WHERE id_sistema = $i");
449 } 485 }
450 - foreach($dbh->query("select * from i3geoadmin_sistemasf") as $row) 486 + $q = $dbh->query("select * from i3geoadmin_sistemasf");
  487 + foreach($q as $row)
451 { 488 {
452 - $ts = $row['perfil_funcao']; 489 + $t = $row['perfil_funcao'];
453 $i = $row['id_funcao']; 490 $i = $row['id_funcao'];
454 - $ts = str_replace($original,$perfil,$ts); 491 + $ts = str_replace($original,$perfil,$t);
  492 + if($t != $ts)
455 $dbhw->query("UPDATE i3geoadmin_sistemasf SET perfil_funcao = '$ts' WHERE id_funcao = $i"); 493 $dbhw->query("UPDATE i3geoadmin_sistemasf SET perfil_funcao = '$ts' WHERE id_funcao = $i");
456 } 494 }
457 } 495 }
  496 + $retorna = "ok";
458 } 497 }
459 else 498 else
460 - $dbhw->query("INSERT INTO i3geoadmin_perfis (perfil) VALUES ('$perfil')"); 499 + {
  500 + $dbhw->query("INSERT INTO i3geoadmin_perfis (perfil) VALUES ('$perfil')");
  501 + $id = $dbh->query("SELECT * FROM i3geoadmin_perfis");
  502 + $id = $id->fetchAll();
  503 + $id = intval($id[count($id)-1]['id_perfil']);
  504 + $retorna = $id;
  505 + }
461 $dbhw = null; 506 $dbhw = null;
462 $dbh = null; 507 $dbh = null;
463 - return "ok"; 508 + return $retorna;
464 } 509 }
465 catch (PDOException $e) 510 catch (PDOException $e)
466 { 511 {
menutemas/admin.db
No preview for this file type