Commit 27f4cf3a0106195c69a371d59188279268471c3c

Authored by Edmar Moretti
1 parent 93b79835

--no commit message

admin/html/grupos.html
... ... @@ -31,7 +31,7 @@
31 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 32 A lista de grupos é baseada no banco admin.db e os usuários que não são editores podem
33 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 35 arquivo i3geo/ms_configura.php
36 36 </div>
37 37 <div class="ft"></div>
... ...
admin/html/i3geoadmin_temas.html
... ... @@ -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 0 \ No newline at end of file
admin/html/listatemas.html
... ... @@ -31,7 +31,7 @@
31 31 Cada tema é vínculado a um arquivo mapfile, possuindo um nome e alguns parâmetros,
32 32 como possibilidade de download, geração de Web Services, etc.<br><br>
33 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 35 arquivo i3geo/ms_configura.php
36 36 </div>
37 37 <div class="ft"></div>
... ...
admin/html/menus.html
... ... @@ -33,7 +33,7 @@
33 33 ver apenas os menus publicados.<br><br>
34 34 Os perfis que podem ser definidos para cada menu, são obtidos da tabela de perfis. Veja
35 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 37 arquivo i3geo/ms_configura.php
38 38 </div>
39 39 <div class="ft"></div>
... ...
admin/html/perfis.html 0 → 100644
... ... @@ -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 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 32 A lista de sub-grupos é baseada no banco admin.db e os usuários que não são editores podem
33 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 35 arquivo i3geo/ms_configura.php
36 36 </div>
37 37 <div class="ft"></div>
... ...
admin/index.html
... ... @@ -83,12 +83,12 @@ que por sua vez contém temas.&lt;/p&gt;
83 83 </div>
84 84 <table class=lista1 >
85 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 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 88 <tr onclick="abre('html/menus.html')"><td><div class=aplicar ></div></td><td>Editar a lista de menus</td></tr>
89 89 <tr onclick="abre('html/grupos.html')"><td><div class=aplicar ></div></td><td>Editar a lista de grupos</td></tr>
90 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 92 <tr onclick="abre('html/i3geoadmin_arvore.html')"><td><div class=aplicar ></div></td><td>Editar a árvore dos menus</td></tr>
93 93 <tr onclick="abre('html/i3geoadmin_importarmenu.html')"><td><div class=aplicar ></div></td><td>Importar XML</td></tr>
94 94 </table>
... ...
admin/js/perfis.js 0 → 100644
... ... @@ -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 201 \ No newline at end of file
... ...
admin/php/menutemas.php
... ... @@ -120,8 +120,10 @@ switch ($funcao)
120 120 break;
121 121  
122 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 127 break;
126 128  
127 129 case "excluirRegistro":
... ... @@ -139,7 +141,12 @@ switch ($funcao)
139 141 if($tabela == "tags")
140 142 {excluiTagTemas($id);$tabela = "i3geoadmin_tags";$coluna = "id_tag";}
141 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 150 if($tabela == "subgrupos")
144 151 {
145 152 $tabela = "i3geoadmin_subgrupos";
... ... @@ -194,53 +201,67 @@ function excluiPerfil($id)
194 201 require_once("conexao.php");
195 202 foreach($dbh->query("select * from i3geoadmin_perfis where perfil = $id") as $row)
196 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 208 $i = $row['id_mapa'];
201   - $ts = str_replace($perfil,"",$ts);
  209 + $ts = str_replace($perfil,"",$t);
  210 + if($t != $ts)
202 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 217 $i = $row['id_menu'];
208   - $ts = str_replace($perfil,"",$ts);
  218 + $ts = str_replace($perfil,"",$t);
  219 + if($t != $ts)
209 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 226 $i = $row['id_n1'];
215   - $ts = str_replace($perfil,"",$ts);
  227 + $ts = str_replace($perfil,"",$t);
  228 + if($t != $ts)
216 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 235 $i = $row['id_n2'];
222   - $ts = str_replace($perfil,"",$ts);
  236 + $ts = str_replace($perfil,"",$t);
  237 + if($t != $ts)
223 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 244 $i = $row['id_n3'];
229   - $ts = str_replace($perfil,"",$ts);
  245 + $ts = str_replace($perfil,"",$t);
  246 + if($t != $ts)
230 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 253 $i = $row['id_raiz'];
236   - $ts = str_replace($perfil,"",$ts);
  254 + $ts = str_replace($perfil,"",$t);
  255 + if($t != $ts)
237 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 262 $i = $row['id_funcao'];
243   - $ts = str_replace($perfil,"",$ts);
  263 + $ts = str_replace($perfil,"",$t);
  264 + if($t != $ts)
244 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 411 {
391 412 $dbh = "";
392 413 include("conexao.php");
  414 + $retorna = "";
393 415 if($id != "")
394 416 {
395 417 $original = "";
... ... @@ -398,69 +420,92 @@ function alteraPerfis()
398 420 $dbhw->query("UPDATE i3geoadmin_perfis SET perfil = '$perfil' WHERE id_perfil = $id");
399 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 427 $i = $row['id_mapa'];
405   - $ts = str_replace($original,$perfil,$ts);
  428 + $ts = str_replace($original,$perfil,$t);
  429 + if($t != $ts)
406 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 436 $i = $row['id_menu'];
412   - $ts = str_replace($original,$perfil,$ts);
  437 + $ts = str_replace($original,$perfil,$t);
  438 + if($t != $ts)
413 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 445 $i = $row['id_n1'];
419   - $ts = str_replace($original,$perfil,$ts);
  446 + $ts = str_replace($original,$perfil,$t);
  447 + if($t != $ts)
420 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 454 $i = $row['id_n2'];
426   - $ts = str_replace($original,$perfil,$ts);
  455 + $ts = str_replace($original,$perfil,$t);
  456 + if($t != $ts)
427 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 463 $i = $row['id_n3'];
433   - $ts = str_replace($original,$perfil,$ts);
  464 + $ts = str_replace($original,$perfil,$t);
  465 + if($t != $ts)
434 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 472 $i = $row['id_raiz'];
440   - $ts = str_replace($original,$perfil,$ts);
  473 + $ts = str_replace($original,$perfil,$t);
  474 + if($t != $ts)
441 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 481 $i = $row['id_sistema'];
447   - $ts = str_replace($original,$perfil,$ts);
  482 + $ts = str_replace($original,$perfil,$t);
  483 + if($t != $ts)
448 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 490 $i = $row['id_funcao'];
454   - $ts = str_replace($original,$perfil,$ts);
  491 + $ts = str_replace($original,$perfil,$t);
  492 + if($t != $ts)
455 493 $dbhw->query("UPDATE i3geoadmin_sistemasf SET perfil_funcao = '$ts' WHERE id_funcao = $i");
456 494 }
457 495 }
  496 + $retorna = "ok";
458 497 }
459 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 506 $dbhw = null;
462 507 $dbh = null;
463   - return "ok";
  508 + return $retorna;
464 509 }
465 510 catch (PDOException $e)
466 511 {
... ...
menutemas/admin.db
No preview for this file type