Commit bfb6a03d8affba49e62cd4bbad06db71671e52c3

Authored by Edmar Moretti
1 parent 06b8a201

Inclusão de ícone de edição da árvore de temas diretamente na interface do mapa.…

… Adaptação dos menus de administração para poderem funcionar dentro da interface do mapa.
admin/admin.db
No preview for this file type
admin/html/arvore.html
@@ -24,7 +24,6 @@ @@ -24,7 +24,6 @@
24 <div style="margin:20px"> 24 <div style="margin:20px">
25 <div style=width:80%;text-align:center;> 25 <div style=width:80%;text-align:center;>
26 <h1>Administração do i3geo - Árvore de temas <img src="../imagens/04.png" style="cursor:pointer" id=botaoAjuda /></h1> 26 <h1>Administração do i3geo - Árvore de temas <img src="../imagens/04.png" style="cursor:pointer" id=botaoAjuda /></h1>
27 -  
28 </div> 27 </div>
29 <div id="ajuda" style=display:none > 28 <div id="ajuda" style=display:none >
30 <div class="hd">Ajuda</div> 29 <div class="hd">Ajuda</div>
admin/html/identifica.html
@@ -39,7 +39,7 @@ @@ -39,7 +39,7 @@
39 </div> 39 </div>
40 <input onclick="adicionaLinha()" type=button id=adiciona value="Adicionar um novo sistema" /> 40 <input onclick="adicionaLinha()" type=button id=adiciona value="Adicionar um novo sistema" />
41 <br> 41 <br>
42 -<p>Sistemas existentes: (clique na célula para editar e salve a linha editada)</p> 42 +<p></p>
43 <div id="tabela" style="left:-5px;"></div> 43 <div id="tabela" style="left:-5px;"></div>
44 </div> 44 </div>
45 <div id=logajax style="display:block" ></div> 45 <div id=logajax style="display:block" ></div>
admin/html/menus.html 0 → 100644
@@ -0,0 +1,100 @@ @@ -0,0 +1,100 @@
  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>Lista de menus</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/menu.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 - Menus <img src="../imagens/04.png" style="cursor:pointer" id=botaoAjuda /></h1>
  24 +
  25 +</div>
  26 +<div id="ajuda" style=display:none >
  27 + <div class="hd">Ajuda</div>
  28 + <div class="bd" style="height:144px;overflow:auto">
  29 + <p>Este formulário permite editar a lista de menus que será utilizada pelo i3Geo.
  30 + <p>A árvore é composta de menus, grupos, sub-grupos e temas. Vc deve criar os menus,
  31 + a lista de grupos e a lista de sub-grupos. Ao criar um menu, esse é mostrado imediatamente na árvore.
  32 + <p>Menus ou nós da árvore marcados como não publicados são mostrados em vermelho e aparecem apenas para os administradores.
  33 + <p>Em cada nó da árvore podem ser associados os temas, mesmo na raiz de um dos níveis.
  34 + Os temas são arquivos mapfiles armazenados em i3geo/temas e registrados no sistema de administração.
  35 + <p>A criação de mapfiles e a vinculação tema-mapfile é feita por meio do editor de mapfiles, e consiste
  36 + na determinação de um nome para cada mapfile. Esse nome é listado ao ser adicionado um tema na árvore.
  37 + </div>
  38 + <div class="ft"></div>
  39 +</div>
  40 +<br>
  41 +<p class=paragrafo >
  42 + Idioma:
  43 + <select id="idioma" onchange="initMenu()">
  44 + <option value="pt" selected >Português</option>
  45 + <option value="en" >Inglês</option>
  46 + <option value="es" >Espanhol</option>
  47 + <option value="it" >Italiano</option>
  48 + </select>
  49 +</p>
  50 +<input type=button id=adicionaNovoMenu value="Adicionar um novo menu" style="left:-5px;" /><p><br>
  51 +<div id="tabela" style="left:-5px;"> </div>
  52 +</div>
  53 +<div id=logajax style="display:block" ></div>
  54 +<script>
  55 +/*
  56 +Title: Editor da lista de menus
  57 +
  58 +HTML da interface de administração da lista de menus
  59 +
  60 +Veja também:
  61 +
  62 +<core.js>
  63 +
  64 +<arvore.js>
  65 +
  66 +<menu.js>
  67 +
  68 +<grupos.js>
  69 +
  70 +<subgrupos.js>
  71 +
  72 +Licenca:
  73 +
  74 +GPL2
  75 +
  76 +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  77 +
  78 +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil
  79 +Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br
  80 +
  81 +Este programa é software livre; você pode redistribuí-lo
  82 +e/ou modificá-lo sob os termos da Licença Pública Geral
  83 +GNU conforme publicada pela Free Software Foundation;
  84 +
  85 +Este programa é distribuído na expectativa de que seja útil,
  86 +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita
  87 +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
  88 +Consulte a Licença Pública Geral do GNU para mais detalhes.
  89 +Você deve ter recebido uma cópia da Licença Pública Geral do
  90 +GNU junto com este programa; se não, escreva para a
  91 +Free Software Foundation, Inc., no endereço
  92 +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  93 +
  94 +Arquivo:
  95 +
  96 +i3geo/admin/html/menus.html
  97 +*/
  98 +initEditorMenu()
  99 +</script>
  100 +</body>
admin/index.html
@@ -79,7 +79,8 @@ essa cria&amp;ccedil;&amp;atilde;o podem ser obtidos no item &quot;Outras op&amp;ccedil;ões&quot;.&lt;/p&gt; @@ -79,7 +79,8 @@ essa cria&amp;ccedil;&amp;atilde;o podem ser obtidos no item &quot;Outras op&amp;ccedil;ões&quot;.&lt;/p&gt;
79 </div> 79 </div>
80 <table class=lista1 > 80 <table class=lista1 >
81 <tr onclick="ajuda('a2',this)"><td><div class=ajuda ></div></td><td>Ajuda</td></tr> 81 <tr onclick="ajuda('a2',this)"><td><div class=ajuda ></div></td><td>Ajuda</td></tr>
82 -<tr onclick="abre('html/arvore.html')"><td><div class=aplicar ></div></td><td>Editar a &aacute;rvore dos menus</td></tr> 82 +<tr onclick="abre('html/arvore.html')"><td><div class=aplicar ></div></td><td>Editar a &aacute;rvore completa dos menus</td></tr>
  83 +<tr onclick="abre('html/menus.html')"><td><div class=aplicar ></div></td><td>Editar a lista de menus</td></tr>
83 </table> 84 </table>
84 </div> 85 </div>
85 </fieldset> 86 </fieldset>
admin/js/arvore.js
@@ -5,6 +5,12 @@ Funções que controlam a interface do editor da árvore de temas @@ -5,6 +5,12 @@ Funções que controlam a interface do editor da árvore de temas
5 5
6 Atuam no controle dos nós da árvore 6 Atuam no controle dos nós da árvore
7 7
  8 +Pode-se enviar parâmetros pela URL utilizada na inclusão desse script
  9 +
  10 +Exemplo:
  11 +
  12 +http://localhost/i3geo/admin/html/arvore.html?id_menu=1&id_grupo=10&id_subgrupo=3
  13 +
8 Licenca: 14 Licenca:
9 15
10 GPL2 16 GPL2
@@ -32,6 +38,21 @@ Arquivo: @@ -32,6 +38,21 @@ Arquivo:
32 i3geo/admin/js/arvore.js 38 i3geo/admin/js/arvore.js
33 */ 39 */
34 YAHOO.namespace("example.container"); 40 YAHOO.namespace("example.container");
  41 +//
  42 +//obtem os parametros da url
  43 +//
  44 +$id_menu = "";
  45 +$id_grupo = "";
  46 +$id_subgrupo = "";
  47 +try{
  48 + var u = window.location.href.split("?")[1];
  49 + u = u.split("&");
  50 + for(i=0;i<u.length;i++){
  51 + var p = u[i].split("=");
  52 + eval("$"+p[0]+"='"+p[1]+"';");
  53 + }
  54 +}
  55 +catch(e){}
35 /* 56 /*
36 Function: initMenu 57 Function: initMenu
37 58
@@ -43,14 +64,14 @@ function initMenu() @@ -43,14 +64,14 @@ function initMenu()
43 { 64 {
44 if($i("editor_bd")){return;} 65 if($i("editor_bd")){return;}
45 core_montaEditor("","600px","500px","pegaMenus") 66 core_montaEditor("","600px","500px","pegaMenus")
46 - $i("editor_bd").innerHTML = '<input type=button id=adicionaNovoMenu value="Adicionar um novo menu" style="left:-5px;" /><p>Antes de fechar o formulário, salve as alterações feitas. Clique na célula para editar.<br><div id="tabela" style="left:-5px;"> </div>' 67 + $i("editor_bd").innerHTML = '<input type=button id=adicionaNovoMenu value="Adicionar um novo menu" style="left:-5px;" /><br><br><div id="tabela" style="left:-5px;"> </div>'
47 initEditorMenu() 68 initEditorMenu()
48 }; 69 };
49 var editorDeGrupos = function() 70 var editorDeGrupos = function()
50 { 71 {
51 if($i("editor_bd")){return;} 72 if($i("editor_bd")){return;}
52 core_montaEditor("","600px","500px") 73 core_montaEditor("","600px","500px")
53 - $i("editor_bd").innerHTML = '<input type=button id=adicionaNovoGrupo value="Adicionar um novo grupo" style="left:-5px;" /><p>Antes de fechar o formulário, salve as alterações feitas. Clique na célula para editar.<br><div id="tabela" style="left:-5px;"> </div>' 74 + $i("editor_bd").innerHTML = '<input type=button id=adicionaNovoGrupo value="Adicionar um novo grupo" style="left:-5px;" /><p><br><div id="tabela" style="left:-5px;"> </div>'
54 initEditorGrupos() 75 initEditorGrupos()
55 }; 76 };
56 var editorDeSubGrupos = function() 77 var editorDeSubGrupos = function()
@@ -144,7 +165,7 @@ function montaArvore(dados) @@ -144,7 +165,7 @@ function montaArvore(dados)
144 buildTree(); 165 buildTree();
145 }(); 166 }();
146 montaNosMenus(dados) 167 montaNosMenus(dados)
147 - tree.draw(); 168 + tree.draw();
148 } 169 }
149 function temaIconMode() 170 function temaIconMode()
150 { 171 {
@@ -157,17 +178,22 @@ function temaIconMode() @@ -157,17 +178,22 @@ function temaIconMode()
157 // 178 //
158 function montaNosMenus(dados,redesenha) 179 function montaNosMenus(dados,redesenha)
159 { 180 {
  181 + //verifica se foi passado um id pela url
160 var root = tree.getRoot(); 182 var root = tree.getRoot();
161 for (var i=0, j=dados.length; i<j; i++) 183 for (var i=0, j=dados.length; i<j; i++)
162 { 184 {
163 - var cor = "";  
164 - if(dados[i].publicado_menu == "NAO")  
165 - var cor = "style='color:red'";  
166 - var conteudo = "<b>&nbsp;<span "+cor+" >"+dados[i].nome_menu+"</span>"  
167 - var d = {html:conteudo,id_menu:dados[i].id_menu,tipo:"menu"};  
168 - var tempNode = new YAHOO.widget.HTMLNode(d, root, false,true); 185 + if($id_menu == "" || $id_menu == dados[i].id_menu){
  186 + var cor = "";
  187 + if(dados[i].publicado_menu == "NAO")
  188 + var cor = "style='color:red'";
  189 + var conteudo = "<b>&nbsp;<span "+cor+" >"+dados[i].nome_menu+"</span>"
  190 + var d = {html:conteudo,id_menu:dados[i].id_menu,tipo:"menu"};
  191 + var tempNode = new YAHOO.widget.HTMLNode(d, root, false,true);
  192 + }
169 } 193 }
170 if(redesenha){tree.draw();} 194 if(redesenha){tree.draw();}
  195 + if($id_menu !== "")
  196 + {tempNode.expand();}
171 } 197 }
172 // 198 //
173 //adiciona os grupos em um menu 199 //adiciona os grupos em um menu
@@ -190,21 +216,28 @@ function montaNosGrupos(idmenu,no,dados,redesenha) @@ -190,21 +216,28 @@ function montaNosGrupos(idmenu,no,dados,redesenha)
190 if(!tree.getNodeByProperty("etiquetaGrupo","menu_"+idmenu)) 216 if(!tree.getNodeByProperty("etiquetaGrupo","menu_"+idmenu))
191 { 217 {
192 var temp = "menu_"+idmenu 218 var temp = "menu_"+idmenu
193 - var d = {tipo:"etiqueta","etiquetaGrupo":temp,html:"<i>Grupos</i>"} 219 + var d = {tipo:"etiqueta","etiquetaGrupo":temp,html:"<i style=color:gray >Grupos</i>"}
194 var tempNodeR = new YAHOO.widget.HTMLNode(d, no, false,true); 220 var tempNodeR = new YAHOO.widget.HTMLNode(d, no, false,true);
195 tempNodeR.isLeaf = false; 221 tempNodeR.isLeaf = false;
196 -  
197 - var conteudo = "<span onclick=\"novoGrupo('"+idmenu+"')\" style=\"cursor:pointer;\" ><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /> Adicionar um novo</span>" 222 + if($id_grupo !== "" || $id_menu !== "")
  223 + {tempNodeR.expand();}
  224 + var conteudo = "<span onclick=\"novoGrupo('"+idmenu+"')\" style=\"cursor:pointer;\" ><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i style=color:gray > Adicionar um novo</i></span>"
198 var d = {html:conteudo}; 225 var d = {html:conteudo};
199 var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true); 226 var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);
200 - tempNode.isLeaf = true; 227 + tempNode.isLeaf = true;
  228 + if($id_grupo !== "")
  229 + {tempNode.expand();}
201 } 230 }
202 for (var i=0, j=dados.grupos.length; i<j; i++) 231 for (var i=0, j=dados.grupos.length; i<j; i++)
203 { 232 {
204 - var conteudo = montaConteudoNo(dados.grupos[i].id_n1,dados.grupos[i].publicado,dados.grupos[i].nome_grupo,"grupo")  
205 - var d = {idmenu:idmenu,html:conteudo,id_n1:dados.grupos[i].id_n1,tipo:"grupo"}  
206 - var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);  
207 - tempNode.setDynamicLoad(loadSubgruposData, temaIconMode, idmenu); 233 + if($id_grupo == "" || $id_grupo == dados.grupos[i].id_n1){
  234 + var conteudo = montaConteudoNo(dados.grupos[i].id_n1,dados.grupos[i].publicado,dados.grupos[i].nome_grupo,"grupo")
  235 + var d = {idmenu:idmenu,html:conteudo,id_n1:dados.grupos[i].id_n1,tipo:"grupo"}
  236 + var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);
  237 + tempNode.setDynamicLoad(loadSubgruposData, temaIconMode, idmenu);
  238 + if($id_grupo !== "")
  239 + {tempNode.expand();}
  240 + }
208 } 241 }
209 if(redesenha){tree.draw();} 242 if(redesenha){tree.draw();}
210 } 243 }
@@ -274,21 +307,29 @@ function montaNosSubgrupos(idmenu,no,dados,redesenha) @@ -274,21 +307,29 @@ function montaNosSubgrupos(idmenu,no,dados,redesenha)
274 {return;} 307 {return;}
275 if(!tree.getNodeByProperty("etiquetaTemasSubGrupo",no.data.id_n1)) 308 if(!tree.getNodeByProperty("etiquetaTemasSubGrupo",no.data.id_n1))
276 { 309 {
277 - var d = {tipo:"etiqueta",etiquetaTemasSubGrupo:no.data.id_n1,html:"<i>Sub-grupos</i>"} 310 + var d = {tipo:"etiqueta",etiquetaTemasSubGrupo:no.data.id_n1,html:"<i style=color:gray >Sub-grupos</i>"}
278 var tempNodeR = new YAHOO.widget.HTMLNode(d, no, false,true); 311 var tempNodeR = new YAHOO.widget.HTMLNode(d, no, false,true);
279 tempNodeR.isLeaf = false; 312 tempNodeR.isLeaf = false;
  313 + if($id_subgrupo !== "" || $id_grupo !== "")
  314 + {tempNodeR.expand();}
280 315
281 - var conteudo = "<span style=\"cursor:pointer;\" onclick=\"novoSubGrupo('"+idmenu+"','"+no.data.id_n1+"')\" ><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i> Adicionar um novo</i></span>" 316 + var conteudo = "<span style=\"cursor:pointer;\" onclick=\"novoSubGrupo('"+idmenu+"','"+no.data.id_n1+"')\" ><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i style=color:gray > Adicionar um novo</i></span>"
282 var d = {html:conteudo} 317 var d = {html:conteudo}
283 var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true); 318 var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);
284 - tempNode.isLeaf = true; 319 + tempNode.isLeaf = true;
  320 + if($id_subgrupo !== "")
  321 + {tempNode.expand();}
285 } 322 }
286 for (var i=0, j=dados.subgrupos.length; i<j; i++) 323 for (var i=0, j=dados.subgrupos.length; i<j; i++)
287 { 324 {
288 - var conteudo = montaConteudoNo(dados.subgrupos[i].id_n2,dados.subgrupos[i].publicado,dados.subgrupos[i].nome_subgrupo,"subgrupo")  
289 - var d = {idmenu:idmenu,html:conteudo,id_n2:dados.subgrupos[i].id_n2,tipo:"subgrupo"}  
290 - var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);  
291 - tempNode.setDynamicLoad(loadTemasData, temaIconMode); 325 + if($id_subgrupo == "" || $id_subgrupo == dados.subgrupos[i].id_n2){
  326 + var conteudo = montaConteudoNo(dados.subgrupos[i].id_n2,dados.subgrupos[i].publicado,dados.subgrupos[i].nome_subgrupo,"subgrupo")
  327 + var d = {idmenu:idmenu,html:conteudo,id_n2:dados.subgrupos[i].id_n2,tipo:"subgrupo"}
  328 + var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);
  329 + tempNode.setDynamicLoad(loadTemasData, temaIconMode);
  330 + if($id_subgrupo !== "")
  331 + {tempNode.expand();}
  332 + }
292 } 333 }
293 if(redesenha){tree.draw();} 334 if(redesenha){tree.draw();}
294 } 335 }
@@ -296,11 +337,11 @@ function montaTemas(idmenu,no,dados,redesenha) @@ -296,11 +337,11 @@ function montaTemas(idmenu,no,dados,redesenha)
296 { 337 {
297 if(!tree.getNodeByProperty("etiquetaTemas",no.data.id_n2)) 338 if(!tree.getNodeByProperty("etiquetaTemas",no.data.id_n2))
298 { 339 {
299 - var d = {tipo:"etiqueta",etiquetaTemas:no.data.id_n2,html:"<i>Temas</i>"} 340 + var d = {tipo:"etiqueta",etiquetaTemas:no.data.id_n2,html:"<i style=color:gray >Temas</i>"}
300 var tempNodeR = new YAHOO.widget.HTMLNode(d, no, false,true); 341 var tempNodeR = new YAHOO.widget.HTMLNode(d, no, false,true);
301 tempNodeR.isLeaf = false; 342 tempNodeR.isLeaf = false;
302 343
303 - var conteudo = "<span onclick=\"novoTema('"+idmenu+"','"+no.data.id_n2+"')\" style=\"cursor:pointer;\"><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i> Adicionar um novo</i></span>" 344 + var conteudo = "<span onclick=\"novoTema('"+idmenu+"','"+no.data.id_n2+"')\" style=\"cursor:pointer;\"><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i style=color:gray > Adicionar um novo</i></span>"
304 var d = {html:conteudo} 345 var d = {html:conteudo}
305 var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true); 346 var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);
306 tempNode.isLeaf = true; 347 tempNode.isLeaf = true;
@@ -336,10 +377,10 @@ function montaTemasRaiz(no,dados,redesenha) @@ -336,10 +377,10 @@ function montaTemasRaiz(no,dados,redesenha)
336 if(!tree.getNodeByProperty("etiquetaTemasRaiz","menu_"+no.data.id_menu)) 377 if(!tree.getNodeByProperty("etiquetaTemasRaiz","menu_"+no.data.id_menu))
337 { 378 {
338 var temp = "menu_"+no.data.id_menu; 379 var temp = "menu_"+no.data.id_menu;
339 - var d = {id_menu:no.data.id_menu,tipo:"etiqueta",etiquetaTemasRaiz:temp,html:"<i>Temas na raiz do menu</i>"} 380 + var d = {id_menu:no.data.id_menu,tipo:"etiqueta",etiquetaTemasRaiz:temp,html:"<i style=color:gray >Temas na raiz do menu</i>"}
340 var tempNodeR = new YAHOO.widget.HTMLNode(d, no, false,true); 381 var tempNodeR = new YAHOO.widget.HTMLNode(d, no, false,true);
341 tempNodeR.isLeaf = false; 382 tempNodeR.isLeaf = false;
342 - var d = {tipo:"etiqueta",html:"<span style=\"cursor:pointer;\" onclick=\"novoTemaRaiz('"+no.data.id_menu+"')\" ><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i>Adicionar um novo</i></span>"} 383 + var d = {tipo:"etiqueta",html:"<span style=\"cursor:pointer;\" onclick=\"novoTemaRaiz('"+no.data.id_menu+"')\" ><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i style=color:gray >Adicionar um novo</i></span>"}
343 var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true); 384 var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);
344 tempNode.isLeaf = true; 385 tempNode.isLeaf = true;
345 } 386 }
@@ -364,10 +405,10 @@ function montaTemasRaizGrupo(idmenu,no,dados,redesenha) @@ -364,10 +405,10 @@ function montaTemasRaizGrupo(idmenu,no,dados,redesenha)
364 if(!tree.getNodeByProperty("etiquetaTemasGrupo","grupo_"+no.data.id_n1)) 405 if(!tree.getNodeByProperty("etiquetaTemasGrupo","grupo_"+no.data.id_n1))
365 { 406 {
366 var temp = "grupo_"+no.data.id_n1; 407 var temp = "grupo_"+no.data.id_n1;
367 - var d = {etiquetaTemasGrupo:temp,tipo:"etiqueta",html:"<i>Temas na raiz do grupo:</i>"}; 408 + var d = {etiquetaTemasGrupo:temp,tipo:"etiqueta",html:"<i style=color:gray >Temas na raiz do grupo:</i>"};
368 var tempNodeR = new YAHOO.widget.HTMLNode(d, no, false,true); 409 var tempNodeR = new YAHOO.widget.HTMLNode(d, no, false,true);
369 tempNodeR.isLeaf = false; 410 tempNodeR.isLeaf = false;
370 - var d = {tipo:"etiqueta",html:"<span onclick=\"novoTemaRaizGrupo('"+idmenu+"','"+no.data.id_n1+"')\" style=\"cursor:pointer;\" ><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i>Adicionar um novo</i></span>"}; 411 + var d = {tipo:"etiqueta",html:"<span onclick=\"novoTemaRaizGrupo('"+idmenu+"','"+no.data.id_n1+"')\" style=\"cursor:pointer;\" ><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i style=color:gray >Adicionar um novo</i></span>"};
371 var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true); 412 var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);
372 tempNode.isLeaf = true; 413 tempNode.isLeaf = true;
373 } 414 }
@@ -630,7 +671,7 @@ function editar(tipo,id) @@ -630,7 +671,7 @@ function editar(tipo,id)
630 } 671 }
631 function montaDivGrupo(i) 672 function montaDivGrupo(i)
632 { 673 {
633 - var ins = "<br>Grupo:<br><br>" 674 + var ins = "<br>Escolha o grupo para esse nó:<br><br>"
634 ins += "<div id=comboGrupo >Buscando...</div>" 675 ins += "<div id=comboGrupo >Buscando...</div>"
635 ins += "<p>Perfis que podem ver: </p>" 676 ins += "<p>Perfis que podem ver: </p>"
636 ins += "<input size=50 type=text id='En1_perfil' value='"+i.n1_perfil+"' /></p>" 677 ins += "<input size=50 type=text id='En1_perfil' value='"+i.n1_perfil+"' /></p>"
@@ -645,7 +686,7 @@ function montaDivGrupo(i) @@ -645,7 +686,7 @@ function montaDivGrupo(i)
645 } 686 }
646 function montaDivSubGrupo(i) 687 function montaDivSubGrupo(i)
647 { 688 {
648 - var ins = "<br>Sub-Grupo:<br><br>" 689 + var ins = "<br>Escolha o sub-grupo para esse nó:<br><br>"
649 ins += "<div id=comboSubGrupo >Buscando...</div>" 690 ins += "<div id=comboSubGrupo >Buscando...</div>"
650 ins += "<p>Perfis que podem ver: </p>" 691 ins += "<p>Perfis que podem ver: </p>"
651 ins += "<input size=50 type=text id='En2_perfil' value='"+i.n2_perfil+"' /></p>" 692 ins += "<input size=50 type=text id='En2_perfil' value='"+i.n2_perfil+"' /></p>"
@@ -660,7 +701,7 @@ function montaDivSubGrupo(i) @@ -660,7 +701,7 @@ function montaDivSubGrupo(i)
660 } 701 }
661 function montaDivTema(i) 702 function montaDivTema(i)
662 { 703 {
663 - var ins = "<br>Tema:<br><br>" 704 + var ins = "<br>Escolha o tema para esse nó:<br><br>"
664 ins += "<div id=comboTema >Buscando...</div>" 705 ins += "<div id=comboTema >Buscando...</div>"
665 ins += "<p>Perfis que podem ver: </p>" 706 ins += "<p>Perfis que podem ver: </p>"
666 ins += "<input type=text id='En3_perfil' value='"+i.n3_perfil+"' /></p>" 707 ins += "<input type=text id='En3_perfil' value='"+i.n3_perfil+"' /></p>"
admin/js/identifica.js
@@ -79,29 +79,6 @@ function montaTabela(dados) @@ -79,29 +79,6 @@ function montaTabela(dados)
79 fields: ["publicado_i","abrir_i","id_i","nome_i","target_i"] 79 fields: ["publicado_i","abrir_i","id_i","nome_i","target_i"]
80 }; 80 };
81 myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource); 81 myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource);
82 - // Set up editing flow  
83 - /*  
84 - myDataTable.highlightEditableCell = function(oArgs)  
85 - {  
86 - var elCell = oArgs.target;  
87 - var column = myDataTable.getColumn(oArgs.target);  
88 - //if(column.editor != "null")  
89 - if(!YAHOO.lang.isNull(column.editor))  
90 - {  
91 - YAHOO.util.Dom.addClass(elCell,'yui-dt-highlighted');  
92 - }  
93 - };  
94 - myDataTable.unhighlightEditableCell = function(oArgs)  
95 - {  
96 - var elCell = oArgs.target;  
97 - if(elCell.style.cursor="pointer")  
98 - {  
99 - YAHOO.util.Dom.removeClass(elCell,'yui-dt-highlighted');  
100 - }  
101 - };  
102 - myDataTable.subscribe("cellMouseoverEvent", myDataTable.highlightEditableCell);  
103 - myDataTable.subscribe("cellMouseoutEvent", myDataTable.unhighlightEditableCell);  
104 - */  
105 myDataTable.subscribe('cellClickEvent',function(ev) 82 myDataTable.subscribe('cellClickEvent',function(ev)
106 { 83 {
107 var target = YAHOO.util.Event.getTarget(ev); 84 var target = YAHOO.util.Event.getTarget(ev);
@@ -140,28 +117,7 @@ function montaTabela(dados) @@ -140,28 +117,7 @@ function montaTabela(dados)
140 core_makeRequest(sUrl,callback) 117 core_makeRequest(sUrl,callback)
141 } 118 }
142 }); 119 });
143 - // Hook into custom event to customize save-flow of "radio" editor  
144 - myDataTable.subscribe("editorUpdateEvent", function(oArgs)  
145 - {  
146 - if(oArgs.editor.column.key === "active")  
147 - {  
148 - this.saveCellEditor();  
149 -  
150 - }  
151 - });  
152 - myDataTable.subscribe("editorBlurEvent", function(oArgs)  
153 - {  
154 - this.cancelCellEditor();  
155 - });  
156 - /*  
157 - myDataTable.subscribe("editorSaveEvent", function(oArgs)  
158 - {  
159 - if(oArgs.newData != oArgs.oldData)  
160 - var linha = myDataTable.getTrEl(oArgs.editor.getRecord())  
161 - linha.style.color = "blue";  
162 - linha.style.textDecoration = "blink";  
163 - });  
164 - */ 120 +
165 }; 121 };
166 core_carregando("desativa"); 122 core_carregando("desativa");
167 } 123 }
@@ -232,9 +188,9 @@ function montaDiv(i) @@ -232,9 +188,9 @@ function montaDiv(i)
232 /* 188 /*
233 Function: gravaDados 189 Function: gravaDados
234 190
235 -Aplica as alterações feitas em um WS 191 +Salva as alterações feitas
236 192
237 -<ALTERARWS> 193 +<ALTERARFUNCOES>
238 */ 194 */
239 function gravaDados(id,recordid) 195 function gravaDados(id,recordid)
240 { 196 {
admin/js/menu.js
@@ -38,6 +38,7 @@ Inicializa o editor @@ -38,6 +38,7 @@ Inicializa o editor
38 */ 38 */
39 function initEditorMenu() 39 function initEditorMenu()
40 { 40 {
  41 + YAHOO.namespace("example.container");
41 core_ativaBotaoAdicionaLinha("../php/menutemas.php?funcao=alteraMenus&publicado_menu=&perfil=&nome=&desc=&id=&aberto=","adicionaNovoMenu","pegaMenus_M") 42 core_ativaBotaoAdicionaLinha("../php/menutemas.php?funcao=alteraMenus&publicado_menu=&perfil=&nome=&desc=&id=&aberto=","adicionaNovoMenu","pegaMenus_M")
42 pegaMenus_M() 43 pegaMenus_M()
43 } 44 }
@@ -70,9 +71,13 @@ function montaTabela_M(dados) @@ -70,9 +71,13 @@ function montaTabela_M(dados)
70 { 71 {
71 elCell.innerHTML = "<div class=excluir title='exclui' style='text-align:center' ></div>";//onclick='excluiLinha_M(\""+oRecord.getData("id_menu")+"\",\""+oRecord.getId()+"\")'></div>"; 72 elCell.innerHTML = "<div class=excluir title='exclui' style='text-align:center' ></div>";//onclick='excluiLinha_M(\""+oRecord.getData("id_menu")+"\",\""+oRecord.getId()+"\")'></div>";
72 }; 73 };
  74 + var formatMais = function(elCell, oRecord, oColumn)
  75 + {
  76 + elCell.innerHTML = "<div class=editar style='text-align:center' ></div>";
  77 + };
73 var myColumnDefs = [ 78 var myColumnDefs = [
74 {key:"excluir",label:"excluir",formatter:formatExclui}, 79 {key:"excluir",label:"excluir",formatter:formatExclui},
75 - {label:"salvar",formatter:formatSalva}, 80 + {key:"mais",label:"editar",formatter:formatMais},
76 {label:"id",key:"id_menu", formatter:formatTexto}, 81 {label:"id",key:"id_menu", formatter:formatTexto},
77 {label:"nome",resizeable:true,key:"nome_menu", formatter:formatTexto,editor:new YAHOO.widget.TextboxCellEditor({disableBtns:true})}, 82 {label:"nome",resizeable:true,key:"nome_menu", formatter:formatTexto,editor:new YAHOO.widget.TextboxCellEditor({disableBtns:true})},
78 {label:"en",resizeable:true,key:"en", formatter:formatTexto,editor:new YAHOO.widget.TextboxCellEditor({disableBtns:true})}, 83 {label:"en",resizeable:true,key:"en", formatter:formatTexto,editor:new YAHOO.widget.TextboxCellEditor({disableBtns:true})},
@@ -91,25 +96,6 @@ function montaTabela_M(dados) @@ -91,25 +96,6 @@ function montaTabela_M(dados)
91 fields: ["it","es","en","publicado_menu","perfil_menu","aberto","desc_menu","id_menu","nome_menu"] 96 fields: ["it","es","en","publicado_menu","perfil_menu","aberto","desc_menu","id_menu","nome_menu"]
92 }; 97 };
93 myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource); 98 myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource);
94 - // Set up editing flow  
95 - myDataTable.highlightEditableCell = function(oArgs)  
96 - {  
97 - var elCell = oArgs.target;  
98 - var column = myDataTable.getColumn(oArgs.target);  
99 - //if(column.editor != "null")  
100 - if(!YAHOO.lang.isNull(column.editor))  
101 - {YAHOO.util.Dom.addClass(elCell,'yui-dt-highlighted');}  
102 - };  
103 - myDataTable.unhighlightEditableCell = function(oArgs)  
104 - {  
105 - var elCell = oArgs.target;  
106 - if(elCell.style.cursor="pointer")  
107 - {  
108 - YAHOO.util.Dom.removeClass(elCell,'yui-dt-highlighted');  
109 - }  
110 - };  
111 - myDataTable.subscribe("cellMouseoverEvent", myDataTable.highlightEditableCell);  
112 - myDataTable.subscribe("cellMouseoutEvent", myDataTable.unhighlightEditableCell);  
113 myDataTable.subscribe('cellClickEvent',function(ev) 99 myDataTable.subscribe('cellClickEvent',function(ev)
114 { 100 {
115 var target = YAHOO.util.Event.getTarget(ev); 101 var target = YAHOO.util.Event.getTarget(ev);
@@ -124,63 +110,155 @@ function montaTabela_M(dados) @@ -124,63 +110,155 @@ function montaTabela_M(dados)
124 var record = this.getRecord(target); 110 var record = this.getRecord(target);
125 excluiLinha_M(record.getData('id_menu'),target); 111 excluiLinha_M(record.getData('id_menu'),target);
126 } 112 }
127 - else 113 + if (column.key == 'mais')
128 { 114 {
129 - if (column.key == 'perfil_menu') 115 + var record = this.getRecord(target);
  116 + core_carregando("ativa");
  117 + core_carregando("buscando dados...");
  118 + $clicouId = record.getData('id_menu');
  119 + $recordid = record.getId();
  120 + var sUrl = "../php/menutemas.php?funcao=pegamenus&id_menu="+record.getData('id_menu');
  121 + var callback =
130 { 122 {
131 - var record = this.getRecord(target);  
132 - var selecionados = record.getData('perfil_menu');  
133 - var selecionados = selecionados.split(",");  
134 - core_menuCheckBox($perfisArray,$perfisArray,selecionados,target,record,"perfil_menu");  
135 - }  
136 - else  
137 - {this.onEventShowCellEditor(ev);} 123 + success:function(o)
  124 + {
  125 + try
  126 + {
  127 + montaEditor_M(YAHOO.lang.JSON.parse(o.responseText),$clicouId,$recordid);
  128 + }
  129 + catch(e){core_handleFailure(e,o.responseText);}
  130 + },
  131 + failure:core_handleFailure,
  132 + argument: { foo:"foo", bar:"bar" }
  133 + };
  134 + core_makeRequest(sUrl,callback)
138 } 135 }
139 }); 136 });
140 - // Hook into custom event to customize save-flow of "radio" editor  
141 - myDataTable.subscribe("editorUpdateEvent", function(oArgs)  
142 - {  
143 - if(oArgs.editor.column.key === "active")  
144 - {this.saveCellEditor();}  
145 - });  
146 - myDataTable.subscribe("editorBlurEvent", function(oArgs)  
147 - {  
148 - this.cancelCellEditor();  
149 - });  
150 - myDataTable.subscribe("editorSaveEvent", function(oArgs)  
151 - {  
152 - if(oArgs.newData != oArgs.oldData)  
153 - var linha = myDataTable.getTrEl(oArgs.editor.getRecord())  
154 - linha.style.color = "blue";  
155 - linha.style.textDecoration = "blink";  
156 - });  
157 - //destroy  
158 }; 137 };
159 core_carregando("desativa"); 138 core_carregando("desativa");
160 } 139 }
  140 +function montaEditor_M(dados,id,recordid)
  141 +{
  142 + function on_editorCheckBoxChange(p_oEvent)
  143 + {
  144 + var ins = "";
  145 + if(p_oEvent.newValue.get("value") == "OK")
  146 + {
  147 + gravaDados_M(id,recordid);
  148 + }
  149 + else
  150 + {
  151 + YAHOO.example.container.panelEditor.destroy();
  152 + YAHOO.example.container.panelEditor = null;
  153 + }
  154 + };
  155 + if(!$i("janela_editor2"))
  156 + {
  157 + var novoel = document.createElement("div");
  158 + novoel.id = "janela_editor2";
  159 + var ins = '<div class="hd">Editor</div>';
  160 + ins += "<div class='bd' style='height:354px;overflow:auto'>";
  161 + ins += "<div id='okcancel_checkbox2'></div><div id='editor_bd2'></div>";
  162 + novoel.innerHTML = ins;
  163 + document.body.appendChild(novoel);
  164 + var editorBotoes = new YAHOO.widget.ButtonGroup({id:"okcancel_checkbox_id2", name: "okcancel_checkbox_id2", container: "okcancel_checkbox2" });
  165 + editorBotoes.addButtons([
  166 + { label: "Salva", value: "OK", checked: false},
  167 + { label: "Cancela", value: "CANCEL", checked: false }
  168 + ]);
  169 + editorBotoes.on("checkedButtonChange", on_editorCheckBoxChange);
  170 + YAHOO.example.container.panelEditor = new YAHOO.widget.Panel("janela_editor2", { fixedcenter:true,close:false,width:"400px", height:"480px",overflow:"auto", visible:false,constraintoviewport:true } );
  171 + YAHOO.example.container.panelEditor.render();
  172 + }
  173 + YAHOO.example.container.panelEditor.show();
  174 + $i("editor_bd2").innerHTML = montaDiv_M(dados[0])
  175 + core_carregando("desativa");
  176 +}
  177 +function montaDiv_M(i)
  178 +{
  179 + var param = {
  180 + "linhas":[
  181 + {titulo:"Nome:",id:"Enome_menu",size:"50",value:i.nome_menu,tipo:"text",div:""},
  182 + {titulo:"Descricao:",id:"Edesc_menu",size:"50",value:i.desc_menu,tipo:"text",div:""},
  183 + {titulo:"Inglês:",id:"Een",size:"50",value:i.en,tipo:"text",div:""},
  184 + {titulo:"Espanhol:",id:"Ees",size:"50",value:i.es,tipo:"text",div:""},
  185 + {titulo:"Italiano:",id:"Eit",size:"50",value:i.it,tipo:"text",div:""},
  186 + {titulo:"Perfis:",id:"Eperfil_menu",size:"50",value:i.perfil_menu,tipo:"text",div:""}
  187 + ]
  188 + };
  189 + var ins = ""
  190 + ins += core_geraLinhas(param)
  191 + ins += "<p>Publicado?<br>"
  192 + ins += "<select id='Epublicado_menu' />"
  193 + ins += "<option value='' "
  194 + if (i.publicado_menu == ""){ins += "selected";}
  195 + ins += ">---</option>"
  196 + ins += "<option value='SIM' "
  197 + if (i.publicado_menu == "SIM"){ins += "selected";}
  198 + ins += " >sim</option>"
  199 + ins += "<option value='NAO' "
  200 + if (i.publicado_menu == "NAO"){ins += "selected";}
  201 + ins += " >não</option>"
  202 + ins += "</select></p>"
  203 + ins += "<p>Aberto?<br>"
  204 + ins += "<select id='Eaberto' />"
  205 + ins += "<option value='' "
  206 + if (i.aberto == ""){ins += "selected";}
  207 + ins += ">---</option>"
  208 + ins += "<option value='SIM' "
  209 + if (i.aberto == "SIM"){ins += "selected";}
  210 + ins += " >sim</option>"
  211 + ins += "<option value='NAO' "
  212 + if (i.aberto == "NAO"){ins += "selected";}
  213 + ins += " >não</option>"
  214 + ins += "</select></p>"
  215 + return(ins)
  216 +}
161 /* 217 /*
162 -Function: gravaLinha_M 218 +Function: gravaDados_M
163 219
164 -Aplica as alterações em um menu 220 +Salva as alterações feitas
165 221
166 <ALTERAMENUS> 222 <ALTERAMENUS>
167 */ 223 */
168 -function gravaLinha_M(row) 224 +function gravaDados_M(id,recordid)
169 { 225 {
170 - var r = myDataTable.getRecordSet().getRecord(row);  
171 - var publicado_menu = r.getData("publicado_menu");  
172 - var perfil_menu = r.getData("perfil_menu");  
173 - var aberto = r.getData("aberto")  
174 - var desc_menu = r.getData("desc_menu")  
175 - var id_menu = r.getData("id_menu")  
176 - var nome_menu = r.getData("nome_menu")  
177 - var en = r.getData("en");  
178 - var es = r.getData("es");  
179 - var it = r.getData("it"); 226 + var campos = new Array("publicado_menu","perfil_menu","nome_menu","desc_menu","aberto","en","es","it");
  227 + var par = ""
  228 + for (i=0;i<campos.length;i++)
  229 + {
  230 + par += "&"+campos[i]+"="+($i("E"+campos[i]).value)
  231 + }
  232 + par += "&id_menu="+id
180 core_carregando("ativa"); 233 core_carregando("ativa");
181 - var sUrl = "../php/menutemas.php?funcao=alteraMenus&publicado_menu="+publicado_menu+"&perfil="+perfil_menu+"&nome="+nome_menu+"&desc="+desc_menu+"&id="+id_menu+"&aberto="+aberto+"&en="+en+"&es="+es+"&it="+it+"";  
182 - var mensagem = " gravando registro "+id_menu  
183 - core_gravaLinha(mensagem,row,sUrl,"pegaMenus_M") 234 + core_carregando(" gravando o registro do id= "+id);
  235 + var sUrl = "../php/menutemas.php?funcao=alteraMenus"+par;
  236 + var callback =
  237 + {
  238 + success:function(o)
  239 + {
  240 + try
  241 + {
  242 + if(YAHOO.lang.JSON.parse(o.responseText) == "erro")
  243 + {
  244 + core_carregando("<span style=color:red >Não foi possível excluir. Verifique se não existem registros vinculados</span>");
  245 + setTimeout("core_carregando('desativa')",3000)
  246 + }
  247 + else
  248 + {
  249 + var rec = myDataTable.getRecordSet().getRecord(recordid);
  250 + myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0])
  251 + core_carregando("desativa");
  252 + }
  253 + YAHOO.example.container.panelEditor.destroy();
  254 + YAHOO.example.container.panelEditor = null;
  255 + }
  256 + catch(e){core_handleFailure(e,o.responseText);}
  257 + },
  258 + failure:core_handleFailure,
  259 + argument: { foo:"foo", bar:"bar" }
  260 + };
  261 + core_makeRequest(sUrl,callback)
184 } 262 }
185 function excluiLinha_M(id,row) 263 function excluiLinha_M(id,row)
186 { 264 {
admin/php/menutemas.php
@@ -70,11 +70,10 @@ switch (strtoupper($funcao)) @@ -70,11 +70,10 @@ switch (strtoupper($funcao))
70 {JSON} 70 {JSON}
71 */ 71 */
72 case "PEGAMENUS": 72 case "PEGAMENUS":
73 - if($idioma == "pt")  
74 - {$coluna = "nome_tema";} 73 + if(isset($id_menu) && $id_menu != "")
  74 + {$dados = pegaDados("SELECT * from i3geoadmin_menus where id_menu = $id_menu order by nome_menu");}
75 else 75 else
76 - {$coluna = $idioma;}  
77 - $dados = pegaDados('SELECT * from i3geoadmin_menus order by nome_menu'); 76 + {$dados = pegaDados('SELECT * from i3geoadmin_menus order by nome_menu');}
78 retornaJSON($dados); 77 retornaJSON($dados);
79 exit; 78 exit;
80 break; 79 break;
@@ -92,7 +91,10 @@ switch (strtoupper($funcao)) @@ -92,7 +91,10 @@ switch (strtoupper($funcao))
92 {$coluna = "nome_menu";} 91 {$coluna = "nome_menu";}
93 else 92 else
94 {$coluna = $idioma;} 93 {$coluna = $idioma;}
95 - $dados = pegaDados("SELECT publicado_menu,perfil_menu,aberto,desc_menu,id_menu,$coluna as nome_menu from i3geoadmin_menus order by nome_menu"); 94 + if(isset($id_menu) && $id_menu != "")
  95 + {$dados = pegaDados("SELECT publicado_menu,perfil_menu,aberto,desc_menu,id_menu,$coluna as nome_menu from i3geoadmin_menus where id_menu = $id_menu order by nome_menu");}
  96 + else
  97 + {$dados = pegaDados("SELECT publicado_menu,perfil_menu,aberto,desc_menu,id_menu,$coluna as nome_menu from i3geoadmin_menus order by nome_menu");}
96 retornaJSON($dados); 98 retornaJSON($dados);
97 exit; 99 exit;
98 break; 100 break;
@@ -172,23 +174,23 @@ switch (strtoupper($funcao)) @@ -172,23 +174,23 @@ switch (strtoupper($funcao))
172 174
173 Parametros: 175 Parametros:
174 176
175 - nome 177 + nome_menu
176 178
177 - desc 179 + desc_menu
178 180
179 - id 181 + id_menu
180 182
181 aberto 183 aberto
182 184
183 - perfil 185 + perfil_menu
184 186
185 publicado_menu 187 publicado_menu
186 188
187 - en 189 + en_menu
188 190
189 - es 191 + es_menu
190 192
191 - it 193 + it_menu
192 194
193 Retorno: 195 Retorno:
194 196
@@ -197,7 +199,8 @@ switch (strtoupper($funcao)) @@ -197,7 +199,8 @@ switch (strtoupper($funcao))
197 case "ALTERAMENUS": 199 case "ALTERAMENUS":
198 if(verificaEditores($editores) == "nao") 200 if(verificaEditores($editores) == "nao")
199 {echo "Vc nao e um editor cadastrado. Apenas os editores definidos em i3geo/ms_configura.php podem acessar o sistema de administracao.";exit;} 201 {echo "Vc nao e um editor cadastrado. Apenas os editores definidos em i3geo/ms_configura.php podem acessar o sistema de administracao.";exit;}
200 - retornaJSON(alteraMenus()); 202 + alteraMenus();
  203 + retornaJSON(pegaDados("SELECT * from i3geoadmin_menus where id_menu = $id_menu order by nome_menu"));
201 exit; 204 exit;
202 break; 205 break;
203 /* 206 /*
@@ -739,7 +742,7 @@ Altera o registro de um menu. Se id for vazio acrescenta o registro @@ -739,7 +742,7 @@ Altera o registro de um menu. Se id for vazio acrescenta o registro
739 */ 742 */
740 function alteraMenus() 743 function alteraMenus()
741 { 744 {
742 - global $nome,$desc,$id,$aberto,$perfil,$publicado_menu,$en,$es,$it; 745 + global $nome_menu,$desc_menu,$id_menu,$aberto,$perfil_menu,$publicado_menu,$en,$es,$it;
743 try 746 try
744 { 747 {
745 $retorna = ""; 748 $retorna = "";
@@ -749,9 +752,9 @@ function alteraMenus() @@ -749,9 +752,9 @@ function alteraMenus()
749 $nome = utf8_encode($nome); 752 $nome = utf8_encode($nome);
750 $desc = utf8_encode($desc); 753 $desc = utf8_encode($desc);
751 } 754 }
752 - if($id != "") 755 + if($id_menu != "")
753 { 756 {
754 - $dbhw->query("UPDATE i3geoadmin_menus SET en = '$en', es = '$es', it = '$it', publicado_menu = '$publicado_menu',aberto = '$aberto', nome_menu = '$nome', desc_menu = '$desc', perfil_menu = '$perfil' WHERE id_menu = $id"); 757 + $dbhw->query("UPDATE i3geoadmin_menus SET en = '$en', es = '$es', it = '$it', publicado_menu = '$publicado_menu',aberto = '$aberto', nome_menu = '$nome_menu', desc_menu = '$desc_menu', perfil_menu = '$perfil_mennu' WHERE id_menu = $id_menu");
755 } 758 }
756 else 759 else
757 { 760 {
classesjs/classe_arvoredetemas.js
@@ -675,8 +675,8 @@ i3GEO.arvoreDeTemas = { @@ -675,8 +675,8 @@ i3GEO.arvoreDeTemas = {
675 */ 675 */
676 atualiza: function(){ 676 atualiza: function(){
677 if(typeof(console) !== 'undefined'){console.info("i3GEO.arvoreDeTemas.atualiza()");} 677 if(typeof(console) !== 'undefined'){console.info("i3GEO.arvoreDeTemas.atualiza()");}
678 - this.ARVORE = null;  
679 - this.cria(i3GEO.arvoreDeTemas.SID,i3GEO.arvoreDeTemas.LOCAPLIC,i3GEO.arvoreDeTemas.IDHTML); 678 + i3GEO.arvoreDeTemas.ARVORE = null;
  679 + i3GEO.arvoreDeTemas.cria(i3GEO.arvoreDeTemas.SID,i3GEO.arvoreDeTemas.LOCAPLIC,i3GEO.arvoreDeTemas.IDHTML);
680 }, 680 },
681 /* 681 /*
682 Function: montaArvore 682 Function: montaArvore
@@ -687,7 +687,7 @@ i3GEO.arvoreDeTemas = { @@ -687,7 +687,7 @@ i3GEO.arvoreDeTemas = {
687 */ 687 */
688 montaArvore: function() { 688 montaArvore: function() {
689 if(typeof(console) !== 'undefined'){console.info("i3GEO.arvoreDeTemas.montaArvore()");} 689 if(typeof(console) !== 'undefined'){console.info("i3GEO.arvoreDeTemas.montaArvore()");}
690 - var newVal,currentIconMode,d,tempNode,retorno,nomeSis,root,insp,outrasOpcoes,dados,c,i,j,conteudo; 690 + var newVal,currentIconMode,d,tempNode,retorno,nomeSis,root,insp,outrasOpcoes,dados,c,i,j,conteudo,editor;
691 YAHOO.example.treeExample = function(){ 691 YAHOO.example.treeExample = function(){
692 function changeIconMode(){ 692 function changeIconMode(){
693 newVal = parseInt(this.value,10); 693 newVal = parseInt(this.value,10);
@@ -774,7 +774,7 @@ i3GEO.arvoreDeTemas = { @@ -774,7 +774,7 @@ i3GEO.arvoreDeTemas = {
774 if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.navegacaoDir === true){ 774 if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.navegacaoDir === true){
775 tempNode = new YAHOO.widget.HTMLNode( 775 tempNode = new YAHOO.widget.HTMLNode(
776 { 776 {
777 - html:"<a href='../admin' target=blank >Sistema de administração</a>", 777 + html:"<a style='color:red' title='opção visível apenas para editores' href='../admin' target=blank >Sistema de administração</a>",
778 idmenu:"" 778 idmenu:""
779 }, 779 },
780 root, 780 root,
@@ -784,7 +784,17 @@ i3GEO.arvoreDeTemas = { @@ -784,7 +784,17 @@ i3GEO.arvoreDeTemas = {
784 tempNode.enableHighlight = false; 784 tempNode.enableHighlight = false;
785 tempNode = new YAHOO.widget.HTMLNode( 785 tempNode = new YAHOO.widget.HTMLNode(
786 { 786 {
787 - html:"<a href='../admin/html/arvore.html' target=blank >Editor de menus</a>", 787 + html:"<a style='color:red' title='opção visível apenas para editores' href='../admin/html/arvore.html' target=blank >Editar árvore</a>",
  788 + idmenu:""
  789 + },
  790 + root,
  791 + false,
  792 + true
  793 + );
  794 + tempNode.enableHighlight = false;
  795 + tempNode = new YAHOO.widget.HTMLNode(
  796 + {
  797 + html:"<span style='color:red;cursor:pointer' title='opção visível apenas para editores' onclick='i3GEO.arvoreDeTemas.abrejanelaIframe(\"900\",\"500\",\""+i3GEO.configura.locaplic+"/admin/html/menus.html\")' target=blank >Editar menus</span>",
788 idmenu:"" 798 idmenu:""
789 }, 799 },
790 root, 800 root,
@@ -797,9 +807,13 @@ i3GEO.arvoreDeTemas = { @@ -797,9 +807,13 @@ i3GEO.arvoreDeTemas = {
797 //wms 807 //wms
798 // 808 //
799 if(i3GEO.arvoreDeTemas.INCLUIWMS === true){ 809 if(i3GEO.arvoreDeTemas.INCLUIWMS === true){
  810 + if(i3GEO.parametros.editor == "sim")
  811 + {editor = "<img title='Editar lista' onclick='i3GEO.arvoreDeTemas.abrejanelaIframe(\"900\",\"500\",\""+i3GEO.configura.locaplic+"/admin/html/webservices.html?tipo=WMS\")' style='width:11px;position:relative;left:3px' src='"+i3GEO.configura.locaplic+"/imagens/edit.gif' />";}
  812 + else
  813 + {editor = "";}
800 tempNode = new YAHOO.widget.HTMLNode( 814 tempNode = new YAHOO.widget.HTMLNode(
801 { 815 {
802 - html:"<b>&nbsp;OGC-WMS</b>"+" <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=4&idajuda=33' >&nbsp;&nbsp;&nbsp;</a>", 816 + html:"<b>&nbsp;OGC-WMS</b>"+" <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=4&idajuda=33' >&nbsp;&nbsp;&nbsp;</a>"+editor,
803 idwms:"raiz" 817 idwms:"raiz"
804 }, 818 },
805 root, 819 root,
@@ -818,11 +832,15 @@ i3GEO.arvoreDeTemas = { @@ -818,11 +832,15 @@ i3GEO.arvoreDeTemas = {
818 { 832 {
819 if(!dados[i].nomemenu) 833 if(!dados[i].nomemenu)
820 {dados[i].nomemenu = dados[i].idmenu;} 834 {dados[i].nomemenu = dados[i].idmenu;}
  835 + if(i3GEO.parametros.editor == "sim")
  836 + {editor = "<img title='Editar grupos' onclick='i3GEO.arvoreDeTemas.abrejanelaIframe(\"900\",\"500\",\""+i3GEO.configura.locaplic+"/admin/html/arvore.html?id_menu="+dados[i].idmenu+"\")' style='width:11px;position:relative;left:3px;top:2px;' src='"+i3GEO.configura.locaplic+"/imagens/edit.gif' />";}
  837 + else
  838 + {editor = "";}
821 if(!dados[i].publicado){dados[i].publicado = "sim";} 839 if(!dados[i].publicado){dados[i].publicado = "sim";}
822 if(dados[i].publicado.toLowerCase() != "nao") 840 if(dados[i].publicado.toLowerCase() != "nao")
823 - {conteudo = "<b>&nbsp;<span title='"+(dados[i].desc)+"'>"+dados[i].nomemenu+"</span>";} 841 + {conteudo = "<b>&nbsp;<span title='"+(dados[i].desc)+"'>"+dados[i].nomemenu+"</span>"+editor;}
824 else 842 else
825 - {conteudo = "<b>&nbsp;<span title='nao publicado' style=color:red; >"+dados[i].nomemenu+"</span>";} 843 + {conteudo = "<b>&nbsp;<span title='nao publicado' ><s>"+dados[i].nomemenu+"</s></span>"+editor;}
826 tempNode = new YAHOO.widget.HTMLNode( 844 tempNode = new YAHOO.widget.HTMLNode(
827 {html:conteudo,idmenu:dados[i].idmenu}, 845 {html:conteudo,idmenu:dados[i].idmenu},
828 root, 846 root,
@@ -855,7 +873,7 @@ i3GEO.arvoreDeTemas = { @@ -855,7 +873,7 @@ i3GEO.arvoreDeTemas = {
855 nomeSis = sis[ig].NOME; 873 nomeSis = sis[ig].NOME;
856 if(sis[ig].PUBLICADO){ 874 if(sis[ig].PUBLICADO){
857 if(sis[ig].PUBLICADO == "NAO" || sis[ig].PUBLICADO == "nao") 875 if(sis[ig].PUBLICADO == "NAO" || sis[ig].PUBLICADO == "nao")
858 - {nomeSis = "<span style='color:red' >"+sis[ig].NOME+"</span>";} 876 + {nomeSis = "<s>"+sis[ig].NOME+"</s>";}
859 } 877 }
860 sisNode = new YAHOO.widget.HTMLNode( 878 sisNode = new YAHOO.widget.HTMLNode(
861 {html:nomeSis}, 879 {html:nomeSis},
@@ -899,7 +917,7 @@ i3GEO.arvoreDeTemas = { @@ -899,7 +917,7 @@ i3GEO.arvoreDeTemas = {
899 montaGrupos: function(node){ 917 montaGrupos: function(node){
900 if(typeof(console) !== 'undefined'){console.info("i3GEO.arvoreDeTemas.montaGrupos()");} 918 if(typeof(console) !== 'undefined'){console.info("i3GEO.arvoreDeTemas.montaGrupos()");}
901 var temp=function(){ 919 var temp=function(){
902 - var grupos,c,raiz,nraiz,mostra,html,i,d; 920 + var grupos,c,raiz,nraiz,mostra,html,i,d,editor;
903 grupos = i3GEO.arvoreDeTemas.GRUPOS.grupos; 921 grupos = i3GEO.arvoreDeTemas.GRUPOS.grupos;
904 c = grupos.length - 3; 922 c = grupos.length - 3;
905 raiz = grupos[c].temasraiz; 923 raiz = grupos[c].temasraiz;
@@ -927,6 +945,10 @@ i3GEO.arvoreDeTemas = { @@ -927,6 +945,10 @@ i3GEO.arvoreDeTemas = {
927 {mostra = false;} 945 {mostra = false;}
928 if(i3GEO.arvoreDeTemas.FILTRAOGC && grupos[i].ogc == "nao") 946 if(i3GEO.arvoreDeTemas.FILTRAOGC && grupos[i].ogc == "nao")
929 {mostra = false;} 947 {mostra = false;}
  948 + if(i3GEO.parametros.editor == "sim")
  949 + {editor = "<img title='Editar subgrupos' onclick='i3GEO.arvoreDeTemas.abrejanelaIframe(\"900\",\"500\",\""+i3GEO.configura.locaplic+"/admin/html/arvore.html?id_menu="+node.data.idmenu+"&id_grupo="+grupos[i].id_n1+"\")' style='width:11px;position:relative;left:3px;top:2px;' src='"+i3GEO.configura.locaplic+"/imagens/edit.gif' />";}
  950 + else
  951 + {editor = "";}
930 if(mostra){ 952 if(mostra){
931 //se id_n1 existir, significa que os grupos possuem id, pois são oriundos do sistema 953 //se id_n1 existir, significa que os grupos possuem id, pois são oriundos do sistema
932 //de administração 954 //de administração
@@ -934,12 +956,12 @@ i3GEO.arvoreDeTemas = { @@ -934,12 +956,12 @@ i3GEO.arvoreDeTemas = {
934 //sendo necessário o uso da ordem dos grupos como identificador 956 //sendo necessário o uso da ordem dos grupos como identificador
935 if(grupos[i].publicado){ 957 if(grupos[i].publicado){
936 if(grupos[i].publicado == "NAO"){ 958 if(grupos[i].publicado == "NAO"){
937 - grupos[i].nome = "<span title='nao publicado' style=color:red; >"+grupos[i].nome+"</span>"; 959 + grupos[i].nome = "<span title='nao publicado' ><s>"+grupos[i].nome+"</s></span>";
938 } 960 }
939 } 961 }
940 - d = {html:grupos[i].nome,idmenu:node.data.idmenu,idgrupo:i}; 962 + d = {html:grupos[i].nome+editor,idmenu:node.data.idmenu,idgrupo:i};
941 if(grupos[i].id_n1) 963 if(grupos[i].id_n1)
942 - {d = {html:grupos[i].nome,idmenu:node.data.idmenu,idgrupo:grupos[i].id_n1};} 964 + {d = {html:grupos[i].nome+editor,idmenu:node.data.idmenu,idgrupo:grupos[i].id_n1};}
943 tempNode = new YAHOO.widget.HTMLNode(d, node, false,true); 965 tempNode = new YAHOO.widget.HTMLNode(d, node, false,true);
944 tempNode.enableHighlight = false; 966 tempNode.enableHighlight = false;
945 tempNode.setDynamicLoad(i3GEO.arvoreDeTemas.montaSubGrupos, 1); 967 tempNode.setDynamicLoad(i3GEO.arvoreDeTemas.montaSubGrupos, 1);
@@ -997,7 +1019,10 @@ i3GEO.arvoreDeTemas = { @@ -997,7 +1019,10 @@ i3GEO.arvoreDeTemas = {
997 {mostra = false;} 1019 {mostra = false;}
998 if(i3GEO.arvoreDeTemas.FILTRAOGC && subgrupos[i].ogc == "nao") 1020 if(i3GEO.arvoreDeTemas.FILTRAOGC && subgrupos[i].ogc == "nao")
999 {mostra = false;} 1021 {mostra = false;}
1000 - 1022 + if(i3GEO.parametros.editor == "sim")
  1023 + {editor = "<img title='Editar temas' onclick='i3GEO.arvoreDeTemas.abrejanelaIframe(\"900\",\"500\",\""+i3GEO.configura.locaplic+"/admin/html/arvore.html?id_menu="+node.data.idmenu+"&id_grupo="+node.data.idgrupo+"&id_subgrupo="+subgrupos[i].id_n2+"\")' style='width:11px;position:relative;left:3px;top:2px;' src='"+i3GEO.configura.locaplic+"/imagens/edit.gif' />";}
  1024 + else
  1025 + {editor = "";}
1001 if(mostra){ 1026 if(mostra){
1002 //se id_n2 existir, significa que os grupos possuem id, pois são oriundos do sistema 1027 //se id_n2 existir, significa que os grupos possuem id, pois são oriundos do sistema
1003 //de administração 1028 //de administração
@@ -1005,12 +1030,12 @@ i3GEO.arvoreDeTemas = { @@ -1005,12 +1030,12 @@ i3GEO.arvoreDeTemas = {
1005 //sendo necessário o uso da ordem dos grupos como identificador 1030 //sendo necessário o uso da ordem dos grupos como identificador
1006 if(subgrupos[i].publicado){ 1031 if(subgrupos[i].publicado){
1007 if(subgrupos[i].publicado == "NAO"){ 1032 if(subgrupos[i].publicado == "NAO"){
1008 - subgrupos[i].nome = "<span title='nao publicado' style=color:red; >"+subgrupos[i].nome+"</span>"; 1033 + subgrupos[i].nome = "<span title='nao publicado' ><s>"+subgrupos[i].nome+"</s></span>";
1009 } 1034 }
1010 } 1035 }
1011 - d = {html:subgrupos[i].nome,idmenu:node.data.idmenu,idgrupo:node.data.idgrupo,idsubgrupo:i}; 1036 + d = {html:subgrupos[i].nome+editor,idmenu:node.data.idmenu,idgrupo:node.data.idgrupo,idsubgrupo:i};
1012 if(subgrupos[i].id_n2) 1037 if(subgrupos[i].id_n2)
1013 - {d = {html:subgrupos[i].nome,idmenu:node.data.idmenu,idgrupo:node.data.idgrupo,idsubgrupo:subgrupos[i].id_n2};} 1038 + {d = {html:subgrupos[i].nome+editor,idmenu:node.data.idmenu,idgrupo:node.data.idgrupo,idsubgrupo:subgrupos[i].id_n2};}
1014 tempNode = new YAHOO.widget.HTMLNode(d, node, false,true); 1039 tempNode = new YAHOO.widget.HTMLNode(d, node, false,true);
1015 tempNode.setDynamicLoad(i3GEO.arvoreDeTemas.montaTemas, 1); 1040 tempNode.setDynamicLoad(i3GEO.arvoreDeTemas.montaTemas, 1);
1016 tempNode.isLeaf = false; 1041 tempNode.isLeaf = false;
@@ -1042,7 +1067,7 @@ i3GEO.arvoreDeTemas = { @@ -1042,7 +1067,7 @@ i3GEO.arvoreDeTemas = {
1042 if(mostra){ 1067 if(mostra){
1043 if(temas[i].publicado){ 1068 if(temas[i].publicado){
1044 if(temas[i].publicado == "NAO"){ 1069 if(temas[i].publicado == "NAO"){
1045 - temas[i].nome = "<span title='nao publicado' style=color:red; >"+temas[i].nome+"</span>"; 1070 + temas[i].nome = "<span title='nao publicado' ><s>"+temas[i].nome+"</s></span>";
1046 } 1071 }
1047 } 1072 }
1048 tempNode = new YAHOO.widget.HTMLNode( 1073 tempNode = new YAHOO.widget.HTMLNode(
@@ -1892,6 +1917,24 @@ i3GEO.arvoreDeTemas = { @@ -1892,6 +1917,24 @@ i3GEO.arvoreDeTemas = {
1892 i3GEO.util.scriptTag(js,"i3GEOF.uploadgpx.criaJanelaFlutuante()","i3GEOF.uploadgpx_script"); 1917 i3GEO.util.scriptTag(js,"i3GEOF.uploadgpx.criaJanelaFlutuante()","i3GEOF.uploadgpx_script");
1893 } 1918 }
1894 } 1919 }
1895 - } 1920 + },
  1921 + /*
  1922 + Function abrejanelaIframe
  1923 +
  1924 + Abre uma janela flutuante contendo um iframe
  1925 +
  1926 + Parametros:
  1927 +
  1928 + w {string} - largura
  1929 +
  1930 + h {string} - altura
  1931 +
  1932 + s {string} - src do iframe
  1933 + */
  1934 + abrejanelaIframe: function(w,h,s){
  1935 + //var s = window.parent.i3GEO.configura.locaplic+"/admin/html/webservices.html?tipo=GEORSS";
  1936 + var janelaeditor = i3GEO.janela.cria(w,h,s,parseInt(Math.random()*100,10),10,s,"janela"+i3GEO.util.randomRGB(),false);
  1937 + YAHOO.util.Event.addListener(janelaeditor[0].close, "click", i3GEO.arvoreDeTemas.atualiza,janelaeditor[0].panel,{id:janelaeditor[0].id},true);
  1938 + }
1896 }; 1939 };
1897 //YAHOO.log("carregou classe arvoredetemas", "Classes i3geo"); 1940 //YAHOO.log("carregou classe arvoredetemas", "Classes i3geo");
1898 \ No newline at end of file 1941 \ No newline at end of file