Commit d3927994679bea07c9e5aeb0e5be16372086e982

Authored by Edmar Moretti
1 parent 3a18ce13

--no commit message

admin/html/arvore.html 0 → 100644
@@ -0,0 +1,43 @@ @@ -0,0 +1,43 @@
  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>Árvore de temas</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/arvore.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 - Árvore de temas <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 árvore de temas dos menus disponíveis.<br><br>
  30 + A árvore define os grupos, sub-grupos e temas existentes em cada menu.
  31 + As árvores são mostradas na guia de adição de temas do i3geo.<br><br>
  32 + A lista de atlas é baseada no banco admin.db.<br><br>
  33 + A lista de IPs dos usuários que podem administrar o i3geo é definida no
  34 + arquivo i3geo/ms_configura.php
  35 + </div>
  36 + <div class="ft"></div>
  37 +</div>
  38 +<br>
  39 +<p>Menus existentes Para editar os menus clique <a href="menus.html" >aqui</a>):</p>
  40 +<div id="tabela" style="left:-5px;"></div>
  41 +</div>
  42 +<div id=logajax style="display:block" ></div>
  43 +</body>
admin/html/i3geoadmin_arvore.html
@@ -1,92 +0,0 @@ @@ -1,92 +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/arvore.js" type="text/javascript"></script>  
8 -</head>  
9 -<body>  
10 -<div style=width:80%;text-align:center;>  
11 -<h1>Administração do i3geo - menu de temas <img src="../imagens/04.png" style="cursor:pointer" onclick="$i('ajuda').style.display='block'"/></h1>  
12 -<p><a href="../index.html">Voltar</a></p>  
13 -<div id=ajuda style="display:none">  
14 -<p>Este programa permite editar as árvores de cada menu</p>  
15 -<p>O menu é baseado no banco admin.db.</p>  
16 -<p>A lista de IPs dos usuários que podem editar os arquivos de configuração do i3geo e  
17 -dos que podem navegar pelos diretórios do servidor, não são mostradas aqui. Para  
18 -alterar essas variáveis, vc deve editar diretamente o arquivo i3geo/ms_configura.php.</p>  
19 -<p>Utilize as opções abaixo para relacionar os temas a grupos e sub-grupos. Escolha primeiro um menu e depois edite  
20 -os grupos, adicionando temas ou sub-grupos. A estrutura é hierárquica e permite que temas sejam criados também na raiz de um grupo ou do próprio menu.  
21 -<p>Os grupos, sub-grupos e temas já devem ter sido criados para que se possa montar a árvore de associações.  
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 árvore de menus  
28 -  
29 -File: i3geo/admin/i3geoadmin_arvore.htm  
30 -*/  
31 -$parametros = {  
32 - "simples": [  
33 - { mensagem: "Edição das árvores dos menus",cabeca: "Raiz",variavel:"arvores"}  
34 - ]};  
35 -  
36 -var iniciaMenu = function(retorno)  
37 -{  
38 - pegaParametros()  
39 - iniciaAdmin()  
40 - if(retorno.data == "" || retorno.data.length == 0)  
41 - {document.body.innerHTML += "Nenhum menu cadastrado."}  
42 - else  
43 - {  
44 - var ins = "<p><b>Selecione o menu:</b> "  
45 - ins += "<select id=menusel onchange='pegaParametros();listaRaiz()' >"  
46 - ins += "<option value='' >---</option>"  
47 - for(var i = 0;i < retorno.data.length;i++)  
48 - {  
49 - ins += "<option value='"+retorno.data[i].id_menu+"' >"+retorno.data[i].nome_menu+"</option>"  
50 - }  
51 - ins += "</select><hr>"  
52 - document.body.innerHTML += ins;  
53 - }  
54 -}  
55 -var cp = new cpaint();  
56 -//cp.set_async(false);  
57 -cp.set_response_type("JSON");  
58 -//pega os menus  
59 -var p = "../php/menutemas.php?funcao=pegaMenus";  
60 -cp.call(p,"pegaMenus",iniciaMenu);  
61 -//pega os grupos e subgrupos  
62 -  
63 -grupos = function(retorno){$grupos = retorno.data;}  
64 -subGrupos = function(retorno){$subGrupos = retorno.data;};  
65 -temas = function(retorno){$temas = retorno.data;}  
66 -temasRaiz = function(retorno){$temasRaiz = retorno.data;}  
67 -listaPerfis = function(retorno){$perfis = retorno.data;}  
68 -function pegaParametros()  
69 -{  
70 - var cp = new cpaint();  
71 - //cp.set_async(false);  
72 - cp.set_response_type("JSON");  
73 -  
74 - var p = "../php/menutemas.php?funcao=pegaGrupos";  
75 - cp.call(p,"pegaMenus",grupos);  
76 -  
77 - var p = "../php/menutemas.php?funcao=pegaSubGrupos";  
78 - cp.call(p,"pegaMenus",subGrupos);  
79 -  
80 - var p = "../php/menutemas.php?funcao=pegaTemas";  
81 - cp.call(p,"pegaMenus",temas);  
82 -  
83 - var p = "../php/arvore.php?funcao=pegaTemasRaiz";  
84 - cp.call(p,"pegaMenus",temasRaiz);  
85 -  
86 - var p = "../php/menutemas.php?funcao=pegaPerfis";  
87 - cp.call(p,"pegaMenus",listaPerfis);  
88 -}  
89 -  
90 -document.getElementById("aguarde").style.display="none"  
91 -</script>  
92 -</html>  
93 \ No newline at end of file 0 \ No newline at end of file
admin/index.html
@@ -89,7 +89,7 @@ que por sua vez contém temas.&lt;/p&gt; @@ -89,7 +89,7 @@ que por sua vez contém temas.&lt;/p&gt;
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/listatemas.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/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>
95 </fieldset> 95 </fieldset>
admin/js/arvore.js
1 -/*  
2 -Title: Arvore  
3 -  
4 -Funções javascript utilizadas no sistema de administração do menu de temas  
5 -  
6 -File: i3geo/admin/arvore.js  
7 -  
8 -About: Licença  
9 -  
10 -I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet  
11 -  
12 -Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil  
13 -Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br  
14 -  
15 -Este programa é software livre; você pode redistribuí-lo  
16 -e/ou modificá-lo sob os termos da Licença Pública Geral  
17 -GNU conforme publicada pela Free Software Foundation;  
18 -tanto a versão 2 da Licença.  
19 -Este programa é distribuído na expectativa de que seja útil,  
20 -porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita  
21 -de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.  
22 -Consulte a Licença Pública Geral do GNU para mais detalhes.  
23 -Você deve ter recebido uma cópia da Licença Pública Geral do  
24 -GNU junto com este programa; se não, escreva para a  
25 -Free Software Foundation, Inc., no endereço  
26 -59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.  
27 -*/  
28 -/*  
29 -Function: iniciaAdmin  
30 -  
31 -Inicializa as variáveis globais e checa o cadastro do editor do sistema de administração  
32 -  
33 -Ao retornar, por default, executa a função montaParametros()  
34 -*/  
35 -function iniciaAdmin() 1 +YAHOO.namespace("example.container");
  2 +function initMenu()
36 { 3 {
37 - verificaEditores() 4 + //ativaBotaoAdicionaAtlas("../php/atlas.php?funcao=alterarAtlas","adiciona")
  5 + core_carregando("ativa");
  6 + core_ativaPainelAjuda("ajuda","botaoAjuda");
  7 + core_pegaPerfis("pegaMenus()");
38 } 8 }
39 -function montaParametros() 9 +function pegaMenus()
40 { 10 {
41 - if(!$i("resultado"))  
42 - {document.body.innerHTML += "<div id=resultado ></div>"} 11 + core_pegaDados("buscando menus...","../php/menutemas.php?funcao=pegaMenus","montaArvore")
43 } 12 }
44 -/*  
45 -Function: listaRaiz  
46 -  
47 -Monta o html com os parametros e os divs que receberão os dados dos formulários.  
48 -  
49 -Para cada registro na variável $parametrs, é montado um formulário.  
50 -*/  
51 -function listaRaiz() 13 +function montaArvore(dados)
  14 +{
  15 + YAHOO.example.treeExample = new function()
  16 + {
  17 + var currentIconMode;
  18 + tree = "";
  19 + function changeIconMode()
  20 + {
  21 + var newVal = parseInt(this.value);
  22 + if (newVal != currentIconMode)
  23 + {currentIconMode = newVal;}
  24 + buildTree();
  25 + }
  26 + function loadNodeData(node, fnLoadComplete)
  27 + {
  28 + var sUrl = "../php/arvore.php?funcao=pegaGrupos&id_menu="+node.data.id_menu;
  29 + var callback =
  30 + {
  31 + success: function(oResponse)
  32 + {
  33 + var dados = YAHOO.lang.JSON.parse(oResponse.responseText)
  34 + montaNosGrupos(node.data.id_menu,node,dados,false)
  35 + oResponse.argument.fnLoadComplete();
  36 + },
  37 + failure: function(oResponse)
  38 + {
  39 + oResponse.argument.fnLoadComplete();
  40 + },
  41 + argument:
  42 + {
  43 + "node": node,
  44 + "fnLoadComplete": fnLoadComplete
  45 + },
  46 + timeout: 7000
  47 + };
  48 + YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
  49 + }
  50 + function buildTree()
  51 + {
  52 + tree = new YAHOO.widget.TreeView("tabela");
  53 + tree.setDynamicLoad(loadNodeData, currentIconMode);
  54 + var root = tree.getRoot();
  55 + var tempNode = new YAHOO.widget.TextNode('', root, false);
  56 + tempNode.isLeaf = true;
  57 + core_carregando("desativa");
  58 + }
  59 + buildTree();
  60 + }();
  61 + montaNosMenus(dados)
  62 + tree.draw();
  63 +}
  64 +//
  65 +//adiciona os menus na árvore
  66 +//
  67 +function montaNosMenus(dados,redesenha)
52 { 68 {
53 - $i("resultado").innerHTML = $mensagemAguarde  
54 - var ins = ""  
55 - for (i=0;i<$parametros.simples.length;i++)  
56 - {  
57 - ins += "<fieldset class=fieldsetRaiz ><legend style='background-color:white;'><b>"+$parametros.simples[i].cabeca+"</b></legend>"  
58 - ins += "<p><input style=font-size:10px onclick='alterarGrupo(\"\")' type=button value='Adicionar um grupo' /></p>"  
59 - ins += "<input style=font-size:10px onclick='alterarRaiz(\"\",\"0\",\"0\",\"temasRaiz0\")' type=button value='Adicionar tema na raiz desse n&iacute;vel' /></p>"  
60 - ins += "<div id='temasRaiz0' ></div>"  
61 - ins += "<div id='nivel1' ></div>"  
62 - ins += "<p class=mensagem >"+$parametros.simples[i].mensagem+"</p>"  
63 - ins += "<p><input style=font-size:10px onclick='alterarGrupo(\"\")' type=button value='Adicionar um grupo' /></p>"  
64 - ins += "</fieldset><br>" 69 + var root = tree.getRoot();
  70 + for (var i=0, j=dados.length; i<j; i++)
  71 + {
  72 + var conteudo = "<b>&nbsp;<span>"+dados[i].nome_menu+"</span>"
  73 + var d = {html:conteudo,id_menu:dados[i].id_menu,tipo:"menu"};
  74 + var tempNode = new YAHOO.widget.HTMLNode(d, root, false,true);
65 } 75 }
66 - $i("resultado").innerHTML = ins  
67 - pegaNosRaiz()  
68 - pegaTemasRaiz(0,0,"temasRaiz0") 76 + if(redesenha){tree.draw();}
69 } 77 }
70 -function pegaTemasRaiz(nivel,id_nivel,onde) 78 +//
  79 +//adiciona os grupos em um menu
  80 +//
  81 +function montaNosGrupos(idmenu,no,dados,redesenha)
71 { 82 {
72 - $i(onde).innerHTML = $mensagemAguarde  
73 - var n = $temasRaiz.length  
74 - var ins = ""  
75 - if(n > 0) 83 + function temaIconMode()
76 { 84 {
77 - var ins = "<div ><fieldset style='background-color:white;' ><legend style='background-color:white;color:gray' ><b>Temas na raiz desse nível</b></legend>"  
78 - for (i=0;i<n;i++) 85 + var newVal = parseInt(this.value);
  86 + if (newVal != currentIconMode)
  87 + {currentIconMode = newVal;}
  88 + }
  89 + function loadSubgruposData(node, fnLoadComplete)
  90 + {
  91 + var sUrl = "../php/arvore.php?funcao=pegaSubGrupos&id_n1="+node.data.id_n1+"&id_menu="+idmenu;
  92 + var callback =
79 { 93 {
80 - if (nivel == $temasRaiz[i].nivel && id_nivel == $temasRaiz[i].id_nivel && $i("menusel").value == $temasRaiz[i].id_menu)  
81 - {  
82 - ins += "<table class=lista ><tr><td></td><td></td><td><b>Nome</td><td><b>Perfis (separe com v&iacute;rgula)</b></td><td></td></tr>";  
83 - ins += "<tr>"  
84 - ins += "<td><div class=excluir title='Excluir' onclick='excluirRaiz(\""+nivel+"\",\""+id_nivel+"\",\""+$temasRaiz[i].id_raiz+"\",\""+onde+"\")'/></td>"  
85 - ins += "<td><div class=aplicar title='Aplicar alterações' onclick='alterarRaiz(\""+$temasRaiz[i].id_raiz+"\",\""+nivel+"\",\""+id_nivel+"\",\""+onde+"\")'/></td>"  
86 - ins += "<td><select onchange=this.style.color='blue' id='raizTema_"+$temasRaiz[i].id_raiz+"'>"  
87 - ins += comboObjeto($temas,"id_tema","nome_tema",$temasRaiz[i].id_tema)  
88 - ins += "</select>"  
89 - ins += "</td>"  
90 - ins += "<td><input onchange=this.style.color='blue' id='raizPerfil_"+$temasRaiz[i].id_raiz+"' type=text size=35 value='"+$temasRaiz[i].perfil+"' /></td>"  
91 - var idtemp = 'raizPerfil_'+$temasRaiz[i].id_raiz  
92 - ins += "<td><select onchange=\"registraPerfil('"+idtemp+"',this.value);this.style.color='blue'\" >"  
93 - ins += comboObjeto($perfis,"perfil","perfil","")  
94 - ins += "</select></td></tr>"  
95 -  
96 - ins += "</table>"  
97 - }  
98 - }  
99 - ins += "</fieldset></div><br>" 94 + success: function(oResponse)
  95 + {
  96 + var dados = YAHOO.lang.JSON.parse(oResponse.responseText)
  97 + montaNosSubgrupos(idmenu,node,dados,true)
  98 + oResponse.argument.fnLoadComplete();
  99 + },
  100 + failure: function(oResponse)
  101 + {
  102 + oResponse.argument.fnLoadComplete();
  103 + },
  104 + argument:
  105 + {
  106 + "node": node,
  107 + "fnLoadComplete": fnLoadComplete
  108 + },
  109 + timeout: 7000
  110 + };
  111 + YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
  112 + }
  113 + //pega os temas que ficam na raiz da árvore
  114 + if(!tree.getNodeByProperty("etiquetaTemasRaiz","menu_"+idmenu))
  115 + montaTemasRaiz(no,dados,true)
  116 + //pega os grupos do menu
  117 + if(!tree.getNodeByProperty("etiquetaGrupo","menu_"+idmenu))
  118 + {
  119 + var conteudo = "<img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"novoGrupo('"+idmenu+"')\" title='adiciona grupo' src=\"../imagens/05.png\" />"
  120 + var temp = "menu_"+idmenu
  121 + var d = {tipo:"etiqueta","etiquetaGrupo":temp,html:conteudo+"<i>Grupos:</i>"}
  122 + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true);
  123 + tempNode.isLeaf = true;
  124 + }
  125 + for (var i=0, j=dados.grupos.length; i<j; i++)
  126 + {
  127 + var conteudo = "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('sobe','grupo','"+dados.grupos[i].id_n1+"')\" title=sobe src=\"../imagens/34.png\" />"
  128 + conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('desce','grupo','"+dados.grupos[i].id_n1+"')\" title=desce src=\"../imagens/33.png\" />"
  129 + conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"excluir('grupo','"+dados.grupos[i].id_n1+"')\" title=excluir width='10px' heigth='10px' src=\"../imagens/01.png\" />"
  130 + conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"editar('grupo','"+dados.grupos[i].id_n1+"')\" title=editar width='10px' heigth='10px' src=\"../imagens/06.png\" />&nbsp;<span>"+dados.grupos[i].nome_grupo+"</span>"
  131 + var d = {html:conteudo,id_n1:dados.grupos[i].id_n1,tipo:"grupo"}
  132 + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true);
  133 + //tempNode.isLeaf = true;
  134 + tempNode.setDynamicLoad(loadSubgruposData, temaIconMode);
100 } 135 }
101 - $i(onde).innerHTML = ins; 136 + if(redesenha){tree.draw();}
102 } 137 }
103 -  
104 -function pegaNosRaiz() 138 +function montaNosSubgrupos(idmenu,no,dados,redesenha)
105 { 139 {
106 - $i("nivel1").innerHTML = $mensagemAguarde  
107 - //monta o primeiro nível  
108 - var retorna = function(retorno)  
109 - {  
110 - var r = retorno.data  
111 - var ins = "";  
112 - var rl = r.length;  
113 - for (i=0;i<rl;i++) 140 + function loadTemasData(node, fnLoadComplete)
  141 + {
  142 + var sUrl = "../php/arvore.php?funcao=pegaTemas&id_n2="+node.data.id_n2;
  143 + var callback =
114 { 144 {
115 - ins += "<div id=n1_"+r[i].id_n1+" ><fieldset style='border:1px solid black;background-color:white' ><legend style='background-color:white;'><b>+- grupo "+r[i].id_n1+"</b></legend>"  
116 - ins += "<div style=display:none >"  
117 - ins += "<table class=lista ><tr><td></td><td></td><td><b>Nome</td><td><b>Perfis (separe com v&iacute;rgula)</b></td><td></td></tr>";  
118 - ins += "<tr>"  
119 - ins += "<td><div class=excluir title='Excluir' onclick='excluir(\"n1\",\""+r[i].id_n1+"\",\"id_n1\",\""+r[i].id_n1+"\")'/></td>"  
120 - ins += "<td><div class=aplicar title='Aplicar alterações' onclick='alterarGrupo(\""+r[i].id_n1+"\")'/></td>"  
121 - ins += "<td><select onchange=this.style.color='blue' id='grupon1_"+r[i].id_n1+"'>"  
122 - ins += comboObjeto($grupos,"id_grupo","nome_grupo",r[i].id_grupo)  
123 - ins += "</select>"  
124 - ins += "</td>"  
125 - ins += "<td><input onchange=this.style.color='blue' id='perfiln1_"+r[i].id_n1+"' type=text size=35 value='"+r[i].n1_perfil+"' /></td>"  
126 - var idtemp = 'perfiln1_'+r[i].id_n1  
127 - ins += "<td><select onchange=\"registraPerfil('"+idtemp+"',this.value);this.style.color='blue'\" >"  
128 - ins += comboObjeto($perfis,"perfil","perfil","")  
129 - ins += "</select></td></tr>"  
130 - ins += "</table>"  
131 - ins += "<table><tr><td><input style=font-size:10px onclick='alterarRaiz(\"\",\"1\",\""+r[i].id_n1+"\",\"raizn1_"+r[i].id_n1+"\")' type=button value='Adicionar tema na raiz desse n&iacute;vel' /></td>"  
132 - ins += "<td><input style=font-size:10px; type=button value='Adicionar sub-grupo' onclick='alterarSubGrupo(\""+r[i].id_n1+"\",\"\")'/></td>"  
133 - ins += "<td><div class=mostrar title='Mostrar sub-grupos' onclick='pegaNosGrupo(\""+r[i].id_n1+"\")'/></td>"  
134 - ins += "</tr></table>"  
135 - ins += "<div id=raizn1_"+r[i].id_n1+"></div>"  
136 - ins += "<div id=n2_"+r[i].id_n1+" style=background-color:beige ></div>"  
137 - ins += "</div></fieldset></div><br>"  
138 - }  
139 - $i("nivel1").innerHTML = ins;  
140 - for (t=0;t<rl;t++)  
141 - {pegaTemasRaiz("1",r[t].id_n1,"raizn1_"+r[t].id_n1)}  
142 - ativaLegenda() 145 + success: function(oResponse)
  146 + {
  147 + var dados = YAHOO.lang.JSON.parse(oResponse.responseText)
  148 + montaTemas(idmenu,node,dados,false)
  149 + oResponse.argument.fnLoadComplete();
  150 + },
  151 + failure: function(oResponse)
  152 + {
  153 + oResponse.argument.fnLoadComplete();
  154 + },
  155 + argument:
  156 + {
  157 + "node": node,
  158 + "fnLoadComplete": fnLoadComplete
  159 + },
  160 + timeout: 7000
  161 + };
  162 + YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
  163 + }
  164 + if(!tree.getNodeByProperty("etiquetaTemasGrupo","grupo_"+no.data.id_n1))
  165 + montaTemasRaizGrupo(idmenu,no,dados,true)
  166 + if(!tree.getNodeByProperty("etiquetaTemasSubGrupo",no.data.id_n1))
  167 + {
  168 + var conteudo = "<img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"novoSubGrupo('"+idmenu+"','"+no.data.id_n1+"')\" title='adiciona sub-grupo' src=\"../imagens/05.png\" />"
  169 + var d = {tipo:"etiqueta",etiquetaTemasSubGrupo:no.data.id_n1,html:conteudo+"<i>Sub-grupos:</i>"}
  170 + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true);
  171 + tempNode.isLeaf = true;
  172 + }
  173 + function temaIconMode()
  174 + {
  175 + var newVal = parseInt(this.value);
  176 + if (newVal != currentIconMode)
  177 + {currentIconMode = newVal;}
  178 + }
  179 + for (var i=0, j=dados.subgrupos.length; i<j; i++)
  180 + {
  181 + var conteudo = "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('sobe','subgrupo','"+dados.subgrupos[i].id_n2+"')\" title=sobe src=\"../imagens/34.png\" />"
  182 + conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('desce','subgrupo','"+dados.subgrupos[i].id_n2+"')\" title=desce src=\"../imagens/33.png\" />"
  183 + conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"excluir('subgrupo','"+dados.subgrupos[i].id_n2+"')\" title=excluir width='10px' heigth='10px' src=\"../imagens/01.png\" />"
  184 + conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"editar('subgrupo','"+dados.subgrupos[i].id_n2+"')\" title=editar width='10px' heigth='10px' src=\"../imagens/06.png\" />&nbsp;<span>"+dados.subgrupos[i].nome_subgrupo+"</span>"
  185 + var d = {html:conteudo,id_n2:dados.subgrupos[i].id_n2,tipo:"subgrupo"}
  186 + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true);
  187 + tempNode.setDynamicLoad(loadTemasData, temaIconMode);
143 } 188 }
144 - var p = "../php/arvore.php?funcao=pegaN1&menu="+$i("menusel").value;  
145 - cPaint.call(p,"",retorna); 189 + if(redesenha){tree.draw();}
146 } 190 }
147 -function pegaNosGrupo(idn1) 191 +function montaTemas(idmenu,no,dados,redesenha)
148 { 192 {
149 - $i("n2_"+idn1).innerHTML = $mensagemAguarde  
150 - var retorna = function(retorno) 193 + if(!tree.getNodeByProperty("etiquetaTemas",no.data.id_n2))
151 { 194 {
152 - var r = retorno.data  
153 - var ins = "";  
154 - for (i=0;i<r.length;i++)  
155 - {  
156 - ins += "<div id=n2x_"+r[i].id_n2+" ><fieldset><legend style='background-color:white;'><b>subgrupo "+r[i].id_n2+"</b></legend>"  
157 - ins += "<table class=lista ><tr><td></td><td></td><td><b>Nome</td><td><b>Perfis (separe com v&iacute;rgula)</b></td><td></td></tr>";  
158 - ins += "<tr>"  
159 - ins += "<td><div class=excluir title='Excluir' onclick='excluir(\"n2\",\""+r[i].id_n2+"\",\"id_n2\",\""+idn1+"\")'/></td>"  
160 - ins += "<td><div class=aplicar title='Aplicar alterações' onclick='alterarSubGrupo(\""+r[i].id_n2+"\",\""+idn1+"\")'/></td>"  
161 - ins += "<td><select onchange=this.style.color='blue' id='subgrupon2_"+r[i].id_n2+"'>"  
162 - ins += comboObjeto($subGrupos,"id_subgrupo","nome_subgrupo",r[i].id_subgrupo)  
163 - ins += "</select>"  
164 - ins += "</td>"  
165 - ins += "<td><input onchange=this.style.color='blue' id='perfiln2_"+r[i].id_n2+"' type=text size=35 value='"+r[i].n2_perfil+"' /></td>"  
166 - var idtemp = 'perfiln2_'+r[i].id_n2  
167 - ins += "<td><select onchange=\"registraPerfil('"+idtemp+"',this.value);this.style.color='blue'\" >"  
168 - ins += comboObjeto($perfis,"perfil","perfil","")  
169 - ins += "</select></td></tr>"  
170 -  
171 - ins += "</table>"  
172 - ins += "<table><tr>"  
173 - ins += "<td></td>"  
174 - ins += "<td><input style=font-size:10px; type=button value='Adicionar tema' onclick='alterarTema(\"\",\""+r[i].id_n2+"\")'/></td>"  
175 - ins += "<td><div class=mostrar title='Mostrar temas' onclick='pegaNosSubGrupo(\""+r[i].id_n2+"\")'/></td>"  
176 - ins += "</tr></table>"  
177 -  
178 - ins += "<div id='raizn2_"+idn1+"' ></div>"  
179 - ins += "<div id=n3_"+r[i].id_n2+" style='background-color:rgb(245,245,245)' ></div>"  
180 - ins += "</fieldset></div>"  
181 - }  
182 - $i("n2_"+idn1).innerHTML = ins;  
183 - ativaLegenda() 195 + var conteudo = "<img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"novoTema('"+idmenu+"','"+no.data.id_n2+"')\" title='adiciona tema' src=\"../imagens/05.png\" />"
  196 + var d = {tipo:"etiqueta",etiquetaTemas:no.data.id_n2,html:conteudo+"<i>Temas:</i>"}
  197 + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true);
  198 + tempNode.isLeaf = true;
184 } 199 }
185 - var p = "../php/arvore.php?funcao=pegaN2&idn1="+idn1;  
186 - cPaint.call(p,"",retorna); 200 + for (var i=0, j=dados.length; i<j; i++)
  201 + {
  202 + var conteudo = "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('sobe','tema','"+dados[i].id_n3+"')\" title=sobe src=\"../imagens/34.png\" />"
  203 + conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('desce','tema','"+dados[i].id_n3+"')\" title=desce src=\"../imagens/33.png\" />"
  204 + conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"excluir('tema','"+dados[i].id_n3+"')\" title=excluir width='10px' heigth='10px' src=\"../imagens/01.png\" />"
  205 + conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"editar('tema','"+dados[i].id_n3+"')\" title=editar width='10px' heigth='10px' src=\"../imagens/06.png\" />&nbsp;<span>"+dados[i].nome_tema+"</span>"
  206 + var d = {html:conteudo,id_n3:dados[i].id_n3,tipo:"tema"}
  207 + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true);
  208 + tempNode.isLeaf = true;
  209 + }
  210 + if(redesenha){tree.draw();}
187 } 211 }
188 -function pegaNosSubGrupo(idn2) 212 +function montaTemasRaiz(no,dados,redesenha)
189 { 213 {
190 - $i("n3_"+idn2).innerHTML = $mensagemAguarde  
191 - var retorna = function(retorno) 214 + if(!tree.getNodeByProperty("etiquetaTemasRaiz","menu_"+no.data.id_menu))
  215 + {
  216 + var temp = "menu_"+no.data.id_menu
  217 + var d = {etiquetaTemasRaiz:temp,tipo:"etiqueta",html:"<img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"novoTemaRaiz('"+no.data.id_menu+"')\" title='adiciona tema' src=\"../imagens/05.png\" /><i>Temas na raiz do menu:</i>"}
  218 + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true);
  219 + tempNode.isLeaf = true;
  220 + }
  221 + var resultado = new Array();
  222 + for (var i=0, j=dados.raiz.length; i<j; i++)
192 { 223 {
193 - var r = retorno.data  
194 - var ins = "";  
195 - for (i=0;i<r.length;i++)  
196 - {  
197 - ins += "<div ><fieldset><legend style='background-color:white;'><b>tema "+r[i].id_n3+"</b></legend>"  
198 - ins += "<table class=lista ><tr><td></td><td></td><td><b>Nome</td><td><b>Perfis (separe com v&iacute;rgula)</b></td><td></td></tr>";  
199 - ins += "<tr>"  
200 - ins += "<td><div class=excluir title='Excluir' onclick='excluir(\"n3\",\""+r[i].id_n3+"\",\"id_n3\",\""+idn2+"\")'/></td>"  
201 - ins += "<td><div class=aplicar title='Aplicar alterações' onclick='alterarTema(\""+r[i].id_n3+"\",\""+idn2+"\")'/></td>"  
202 - ins += "<td><select onchange=this.style.color='blue' id='teman3_"+r[i].id_n3+"'>"  
203 - ins += comboObjeto($temas,"id_tema","nome_tema",r[i].id_tema)  
204 - ins += "</select>"  
205 - ins += "</td>"  
206 - ins += "<td><input onchange=this.style.color='blue' id='perfiln3_"+r[i].id_n3+"' type=text size=35 value='"+r[i].n3_perfil+"' /></td>"  
207 - var idtemp = 'perfiln3_'+r[i].id_n3  
208 - ins += "<td><select onchange=\"registraPerfil('"+idtemp+"',this.value);this.style.color='blue'\" >"  
209 - ins += comboObjeto($perfis,"perfil","perfil","")  
210 - ins += "</select></td></tr>"  
211 -  
212 - ins += "</table>"  
213 - //ins += "<div id=n3_"+r[i].id_n2+" ></div>"  
214 - ins += "</fieldset></div>"  
215 - }  
216 - $i("n3_"+idn2).innerHTML = ins; 224 + var conteudo = "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('sobe','raizmenu','"+dados.raiz[i].id_raiz+"')\" title=sobe src=\"../imagens/34.png\" />"
  225 + conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('desce','raizmenu','"+dados.raiz[i].id_raiz+"')\" title=desce src=\"../imagens/33.png\" />"
  226 + conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"excluir('raizmenu','"+dados.raiz[i].id_raiz+"')\" title=excluir width='10px' heigth='10px' src=\"../imagens/01.png\" />"
  227 + conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"editar('raizmenu','"+dados.raiz[i].id_raiz+"')\" title=editar width='10px' heigth='10px' src=\"../imagens/06.png\" />&nbsp;<span>"+dados.raiz[i].nome_tema+"</span>"
  228 + var d = {html:conteudo,id_raiz:dados.raiz[i].id_raiz,tipo:"raizmenu"}
  229 + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true);
  230 + tempNode.isLeaf = true;
  231 + resultado.push(tempNode)
217 } 232 }
218 - var p = "../php/arvore.php?funcao=pegaN3&idn2="+idn2;  
219 - cPaint.call(p,"",retorna); 233 + return resultado;
220 } 234 }
221 -function alterarRaiz(id_raiz,nivel,id_nivel,onde) 235 +function montaTemasRaizGrupo(idmenu,no,dados,redesenha)
222 { 236 {
223 - //if(confirm("Você realmente quer fazer isso?"))  
224 - //{  
225 - var retorna = function(retorno)  
226 - {  
227 - $temasRaiz = retorno.data;  
228 - pegaTemasRaiz(nivel,id_nivel,onde);  
229 - }  
230 - if (id_raiz != "")  
231 - {  
232 - var id_tema = $i("raizTema_"+id_raiz).value  
233 - var perfil = $i("raizPerfil_"+id_raiz).value  
234 - }  
235 - else  
236 - {  
237 - var id_raiz = "";  
238 - var perfil = "";  
239 - var id_tema = ""  
240 - }  
241 - var p = "../php/arvore.php?funcao=alterarRaiz&id_nivel="+id_nivel+"&nivel="+nivel+"&id_raiz="+id_raiz+"&id_menu="+$i("menusel").value+"&perfil="+perfil+"&id_tema="+id_tema;  
242 - cPaint.call(p,"",retorna);  
243 - //} 237 + if(!tree.getNodeByProperty("etiquetaTemasGrupo","grupo_"+no.data.id_n1))
  238 + {
  239 + var temp = "grupo_"+no.data.id_n1
  240 + var d = {etiquetaTemasGrupo:temp,tipo:"etiqueta",html:"<img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"novoTemaRaizGrupo('"+idmenu+"','"+no.data.id_n1+"')\" title='adiciona tema' src=\"../imagens/05.png\" /><i>Temas na raiz do grupo:</i>"}
  241 + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true);
  242 + tempNode.isLeaf = true;
  243 + }
  244 + var resultado = new Array();
  245 + for (var i=0, j=dados.raiz.length; i<j; i++)
  246 + {
  247 + var conteudo = "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('sobe','raizgrupo','"+dados.raiz[i].id_raiz+"')\" title=sobe src=\"../imagens/34.png\" />"
  248 + conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('desce','raizgrupo','"+dados.raiz[i].id_raiz+"')\" title=desce src=\"../imagens/33.png\" />"
  249 + conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"excluir('raizgrupo','"+dados.raiz[i].id_raiz+"')\" title=excluir width='10px' heigth='10px' src=\"../imagens/01.png\" />"
  250 + conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"editar('raizgrupo','"+dados.raiz[i].id_raiz+"')\" title=editar width='10px' heigth='10px' src=\"../imagens/06.png\" />&nbsp;<span>"+dados.raiz[i].nome_tema+"</span>"
  251 + var d = {html:conteudo,id_raiz:dados.raiz[i].id_raiz,tipo:"raizmenu"}
  252 + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true);
  253 + tempNode.isLeaf = true;
  254 + resultado.push(tempNode)
  255 + }
  256 + return resultado;
244 } 257 }
245 -function alterarTema(id,idsubgrupo) 258 +//
  259 +//adiciona um novo tema na raiz do menu
  260 +//id = id do menu alvo
  261 +//
  262 +function novoTemaRaiz(id)
246 { 263 {
247 - //if(confirm("Você realmente quer fazer isso?"))  
248 - //{  
249 - var retorna = function()  
250 - {pegaNosSubGrupo(idsubgrupo);}  
251 - if (id != "") 264 + core_carregando("ativa");
  265 + var mensagem = " adicionando tema...";
  266 + core_carregando("mensagem");
  267 + var no = tree.getNodeByProperty("id_menu",id)
  268 + var noEtiquetaGrupo = tree.getNodeByProperty("etiquetaGrupo","menu_"+id)
  269 + var sUrl = "../php/arvore.php?funcao=adicionarTemaRaiz&id_menu="+id;
  270 + var callback =
  271 + {
  272 + success: function(oResponse)
252 { 273 {
253 - var perfil = $i("perfiln3_"+id).value  
254 - if(perfil == "null"){var perfil = "";}  
255 - var idtema = $i("teman3_"+id).value  
256 - //var idsubgrupo = ""  
257 - }  
258 - else 274 + var dados = YAHOO.lang.JSON.parse(oResponse.responseText)
  275 + var nos = montaTemasRaiz(no,dados,false)
  276 + tree.popNode(nos[0])
  277 + nos[0].insertBefore(noEtiquetaGrupo)
  278 + tree.draw();
  279 + core_carregando("desativa");
  280 + },
  281 + failure:core_handleFailure,
  282 + argument: { foo:"foo", bar:"bar" }
  283 + };
  284 + core_makeRequest(sUrl,callback)
  285 +}
  286 +function novoTemaRaizGrupo(idmenu,id)
  287 +{
  288 + core_carregando("ativa");
  289 + var mensagem = " adicionando tema...";
  290 + core_carregando("mensagem");
  291 + var no = tree.getNodeByProperty("id_n1",id)
  292 + var noEtiquetaSubGrupo = tree.getNodeByProperty("etiquetaTemasSubGrupo",id)
  293 + var sUrl = "../php/arvore.php?funcao=adicionarTemaRaizGrupo&id_n1="+id+"&id_menu="+idmenu;
  294 + var callback =
  295 + {
  296 + success: function(oResponse)
259 { 297 {
260 - var id = "";  
261 - var perfil = "";  
262 - var idtema = ""  
263 - }  
264 - if($i("n3_"+idtema))  
265 - $i("n3_"+idtema).innerHTML = $mensagemAguarde  
266 - var p = "../php/arvore.php?funcao=alteraN3&id="+id+"&perfil="+perfil+"&idtema="+idtema+"&idsubgrupo="+idsubgrupo;  
267 - cPaint.call(p,"",retorna);  
268 - //}  
269 - 298 + var dados = YAHOO.lang.JSON.parse(oResponse.responseText)
  299 + var nos = montaTemasRaizGrupo(idmenu,no,dados,false)
  300 + tree.popNode(nos[0])
  301 + nos[0].insertBefore(noEtiquetaSubGrupo)
  302 + tree.draw();
  303 + core_carregando("desativa");
  304 + },
  305 + failure:core_handleFailure,
  306 + argument: { foo:"foo", bar:"bar" }
  307 + };
  308 + core_makeRequest(sUrl,callback)
270 } 309 }
271 310
272 -function alterarSubGrupo(idgrupo,id) 311 +//
  312 +//adiciona um novo grupo
  313 +//
  314 +function novoGrupo(id_menu)
273 { 315 {
274 - //if(confirm("Você realmente quer fazer isso?"))  
275 - //{  
276 - var retorna = function()  
277 - {pegaNosGrupo(idgrupo);}  
278 - if (id != "")  
279 - {  
280 - var perfil = $i("perfiln2_"+id).value  
281 - if(perfil == "null"){var perfil = "";}  
282 - var idsubgrupo = $i("subgrupon2_"+id).value  
283 - }  
284 - else 316 + core_carregando("ativa");
  317 + var mensagem = " adicionando grupo...";
  318 + core_carregando("mensagem");
  319 + var sUrl = "../php/arvore.php?funcao=adicionarGrupo&id_menu="+id_menu;
  320 + var callback =
  321 + {
  322 + success: function(oResponse)
285 { 323 {
286 - var id = "";  
287 - var perfil = "";  
288 - var idsubgrupo = ""  
289 - }  
290 - if($i("n2_"+idsubgrupo))  
291 - $i("n2_"+idsubgrupo).innerHTML =$mensagemAguarde  
292 - var p = "../php/arvore.php?funcao=alteraN2&id="+id+"&perfil="+perfil+"&idsubgrupo="+idsubgrupo+"&idgrupo="+idgrupo;  
293 - cPaint.call(p,"",retorna);  
294 - //}  
295 - 324 + var dados = YAHOO.lang.JSON.parse(oResponse.responseText)
  325 + var no = tree.getNodeByProperty("id_menu",id_menu)
  326 + montaNosGrupos(id_menu,no,dados,false)
  327 + tree.draw();
  328 + core_carregando("desativa");
  329 + },
  330 + failure:core_handleFailure,
  331 + argument: { foo:"foo", bar:"bar" }
  332 + };
  333 + core_makeRequest(sUrl,callback)
296 } 334 }
297 -/*  
298 -Function: alterarGrupo  
299 -  
300 -Altera o valor de uma variável  
301 -*/  
302 -function alterarGrupo(id) 335 +//
  336 +//adiciona um novo sub-grupo
  337 +//
  338 +function novoSubGrupo(idmenu,id_n1)
303 { 339 {
304 - //if(confirm("Você realmente quer fazer isso?"))  
305 - //{  
306 - var retorna = function()  
307 - {pegaNosRaiz();}  
308 - if (id != "") 340 + core_carregando("ativa");
  341 + var mensagem = " adicionando Sub-grupo...";
  342 + core_carregando("mensagem");
  343 + var sUrl = "../php/arvore.php?funcao=adicionarSubGrupo&id_n1="+id_n1;
  344 + var callback =
  345 + {
  346 + success: function(oResponse)
309 { 347 {
310 - var n1 = $i("n1_"+id).value  
311 - var perfil = $i("perfiln1_"+id).value  
312 - if(n1 == "null"){var n1 = "";}  
313 - if(perfil == "null"){var perfil = "";}  
314 - var idgrupo = $i("grupon1_"+id).value  
315 - }  
316 - else 348 + var dados = YAHOO.lang.JSON.parse(oResponse.responseText)
  349 + var no = tree.getNodeByProperty("id_n1",id_n1)
  350 + montaNosSubgrupos(idmenu,no,dados,false)
  351 + tree.draw();
  352 + core_carregando("desativa");
  353 + },
  354 + failure:core_handleFailure,
  355 + argument: { foo:"foo", bar:"bar" }
  356 + };
  357 + core_makeRequest(sUrl,callback)
  358 +}
  359 +//
  360 +//adiciona um novo tema em um sub-grupo
  361 +//
  362 +function novoTema(idmenu,id_n2)
  363 +{
  364 + core_carregando("ativa");
  365 + var mensagem = " adicionando tema...";
  366 + core_carregando("mensagem");
  367 + var sUrl = "../php/arvore.php?funcao=adicionarTema&id_n2="+id_n2;
  368 + var callback =
  369 + {
  370 + success: function(oResponse)
317 { 371 {
318 - var id = "";  
319 - var perfil = "";  
320 - var idgrupo = "";  
321 - }  
322 - if($i("n1_"+id))  
323 - $i("n1_"+id).innerHTML =$mensagemAguarde  
324 - var idmenu = $i("menusel").value  
325 - var p = "../php/arvore.php?funcao=alteraN1&id="+id+"&perfil="+perfil+"&idgrupo="+idgrupo+"&idmenu="+idmenu;  
326 - cPaint.call(p,"",retorna);  
327 - //} 372 + var dados = YAHOO.lang.JSON.parse(oResponse.responseText)
  373 + var no = tree.getNodeByProperty("id_n2",id_n2)
  374 + montaTemas(idmenu,no,dados,false)
  375 + tree.draw();
  376 + core_carregando("desativa");
  377 + },
  378 + failure:core_handleFailure,
  379 + argument: { foo:"foo", bar:"bar" }
  380 + };
  381 + core_makeRequest(sUrl,callback)
328 } 382 }
329 -/*  
330 -Function: excluir 383 +function excluir(tipo,id)
  384 +{
  385 + var mensagem = " excluindo o registro do id= "+id;
  386 + if(tipo == "raizgrupo" || tipo == "raizmenu")
  387 + {
  388 + var no = tree.getNodeByProperty("id_raiz",id)
  389 + var sUrl = "../php/arvore.php?funcao=excluir&id="+id+"&tabela=i3geoadmin_raiz";
  390 + }
331 391
332 -Exclui um registro  
333 -*/  
334 -function excluir(prefixo,id,coluna,idnpai) 392 + if(tipo == "grupo")
  393 + {
  394 + var no = tree.getNodeByProperty("id_n1",id)
  395 + var sUrl = "../php/arvore.php?funcao=excluir&id="+id+"&tabela=i3geoadmin_n1";
  396 + }
  397 + if(tipo == "subgrupo")
  398 + {
  399 + var no = tree.getNodeByProperty("id_n2",id)
  400 + var sUrl = "../php/arvore.php?funcao=excluir&id="+id+"&tabela=i3geoadmin_n2";
  401 + }
  402 + if(tipo == "tema")
  403 + {
  404 + var no = tree.getNodeByProperty("id_n3",id)
  405 + var sUrl = "../php/arvore.php?funcao=excluir&id="+id+"&tabela=i3geoadmin_n3";
  406 + }
  407 + core_excluiNoTree(sUrl,no,mensagem)
  408 +}
  409 +function editar(tipo,id)
335 { 410 {
336 - if(confirm("Você realmente quer fazer isso?")) 411 + core_carregando("ativa");
  412 + core_carregando(" buscando dados");
  413 + var callback =
337 { 414 {
338 - var retorna = function(retorno) 415 + success:function(o)
339 { 416 {
340 - if(retorno.data == "erro")  
341 - {alert("Não foi possível excluir. Verifique se ainda existem elementos abaixo desse nível")}  
342 - if(prefixo == "raiz")  
343 - {  
344 - $i(idnpai).innerHTML = "";  
345 - pegaTemasRaiz("0",id_nivel,idnpai)  
346 - }  
347 - if(prefixo == "n1")  
348 - {  
349 - pegaNosRaiz();  
350 - }  
351 - if(prefixo == "n2")  
352 - {  
353 - $i(prefixo+"_"+idnpai).innerHTML = "";  
354 - pegaNosGrupo(idnpai)  
355 - }  
356 - if(prefixo == "n3") 417 + try
357 { 418 {
358 - $i(prefixo+"_"+idnpai).innerHTML = "";  
359 - pegaNosSubGrupo(idnpai) 419 + if(tipo == "grupo")
  420 + {
  421 + var dados = YAHOO.lang.JSON.parse(o.responseText)[0];
  422 + core_montaEditor("gravaDados('grupo','"+id+"')")
  423 + $i("editor_bd").innerHTML = montaDivGrupo(dados)
  424 + core_comboGrupos("comboGrupo","Eid_grupo",dados.id_grupo,"")
  425 + core_comboPerfis("comboPerfil","Eperfil_grupo","","registraPerfil(this.value,\"En1_perfil\")")
  426 + }
  427 + if(tipo == "subgrupo")
  428 + {
  429 + var dados = YAHOO.lang.JSON.parse(o.responseText)[0];
  430 + core_montaEditor("gravaDados('subgrupo','"+id+"')")
  431 + $i("editor_bd").innerHTML = montaDivSubGrupo(dados)
  432 + core_comboSubGrupos("comboSubGrupo","Eid_subgrupo",dados.id_subgrupo,"")
  433 + core_comboPerfis("comboPerfil","Eperfil_subgrupo","","registraPerfil(this.value,\"En2_perfil\")")
  434 + }
  435 + if(tipo == "tema")
  436 + {
  437 + var dados = YAHOO.lang.JSON.parse(o.responseText)[0];
  438 + core_montaEditor("gravaDados('tema','"+id+"')")
  439 + $i("editor_bd").innerHTML = montaDivTema(dados)
  440 + core_comboTemas("comboTema","Eid_tema",dados.id_tema,"")
  441 + core_comboPerfis("comboPerfil","Eperfil_tema","","registraPerfil(this.value,\"En3_perfil\")")
  442 + }
  443 + if(tipo == "raizmenu" || tipo == "raizgrupo")
  444 + {
  445 + var dados = YAHOO.lang.JSON.parse(o.responseText)[0];
  446 + core_montaEditor("gravaDados('"+tipo+"','"+id+"')")
  447 + $i("editor_bd").innerHTML = montaDivRaiz(dados)
  448 + core_comboTemas("comboTema","Eid_tema",dados.id_tema,"")
  449 + core_comboPerfis("comboPerfil","Eperfil","","registraPerfil(this.value,\"Eperfil\")")
  450 + }
  451 + core_carregando("desativa");
360 } 452 }
361 - }  
362 - if($i(prefixo+"_"+idnpai))  
363 - $i(prefixo+"_"+idnpai).innerHTML = $mensagemAguarde  
364 -  
365 - if(prefixo == "raiz")  
366 - var tabela = "i3geoadmin_raiz"  
367 -  
368 - if(prefixo == "n1")  
369 - var tabela = "i3geoadmin_n1"  
370 -  
371 - if(prefixo == "n2")  
372 - var tabela = "i3geoadmin_n2" 453 + catch(e){core_handleFailure(e,o.responseText);}
  454 + },
  455 + failure:core_handleFailure,
  456 + argument: { foo:"foo", bar:"bar" }
  457 + };
  458 + if(tipo == "grupo")
  459 + {var sUrl = "../php/arvore.php?funcao=pegaDadosGrupo&id="+id;}
  460 + if(tipo == "subgrupo")
  461 + {var sUrl = "../php/arvore.php?funcao=pegaDadosSubGrupo&id="+id;}
  462 + if(tipo == "tema")
  463 + {var sUrl = "../php/arvore.php?funcao=pegaDadosTema&id="+id;}
  464 + if(tipo == "raizmenu" || tipo == "raizgrupo")
  465 + {var sUrl = "../php/arvore.php?funcao=pegaDadosRaiz&id="+id;}
  466 + core_makeRequest(sUrl,callback)
  467 +}
  468 +function montaDivGrupo(i)
  469 +{
  470 + var ins = "<br>Grupo:<br><br>"
  471 + ins += "<div id=comboGrupo >Buscando...</div>"
  472 + ins += "<p>Perfis que podem ver: </p>"
  473 + ins += "<input size=50 type=text id='En1_perfil' value='"+i.n1_perfil+"' /></p>"
  474 + ins += "<div id=comboPerfil >Buscando...</div>";
  475 + ins += "<br>Publicado?<br>"
  476 + ins += "<select id='Epublicado' >"
  477 + ins += core_combosimnao(i.publicado)
  478 + ins += "</select>"
  479 + ins += "<br><br>Para criar um novo grupo clique <a href='grupos.html' >aqui</a>."
  480 + ins += "<br><br>Para criar um novo perfil clique <a href='perfis.html' >aqui</a>."
  481 + ins += "<input type=hidden value="+i.ordem+" id='Eordem' />"
  482 + return(ins)
  483 +}
  484 +function montaDivSubGrupo(i)
  485 +{
  486 + var ins = "<br>Sub-Grupo:<br><br>"
  487 + ins += "<div id=comboSubGrupo >Buscando...</div>"
  488 + ins += "<p>Perfis que podem ver: </p>"
  489 + ins += "<input size=50 type=text id='En2_perfil' value='"+i.n2_perfil+"' /></p>"
  490 + ins += "<div id=comboPerfil >Buscando...</div>";
  491 + ins += "<br>Publicado?<br>"
  492 + ins += "<select id='Epublicado' >"
  493 + ins += core_combosimnao(i.publicado)
  494 + ins += "</select>"
  495 + ins += "<br><br>Para criar um novo sub-grupo clique <a href='subgrupos.html' >aqui</a>."
  496 + ins += "<br><br>Para criar um novo perfil clique <a href='perfis.html' >aqui</a>."
  497 + ins += "<input type=hidden value="+i.ordem+" id='Eordem' />"
  498 + return(ins)
  499 +}
  500 +function montaDivTema(i)
  501 +{
  502 + var ins = "<br>Tema:<br><br>"
  503 + ins += "<div id=comboTema >Buscando...</div>"
  504 + ins += "<p>Perfis que podem ver: </p>"
  505 + ins += "<input size=50 type=text id='En3_perfil' value='"+i.n3_perfil+"' /></p>"
  506 + ins += "<div id=comboPerfil >Buscando...</div>";
  507 + ins += "<br>Publicado?<br>"
  508 + ins += "<select id='Epublicado' >"
  509 + ins += core_combosimnao(i.publicado)
  510 + ins += "</select>"
  511 + ins += "<br><br>Para criar um novo tema clique <a href='temas.html' >aqui</a>."
  512 + ins += "<br><br>Para criar um novo perfil clique <a href='perfis.html' >aqui</a>."
  513 + ins += "<input type=hidden value="+i.ordem+" id='Eordem' />"
  514 + return(ins)
  515 +}
  516 +function montaDivRaiz(i)
  517 +{
  518 + var ins = "<br>Tema:<br><br>"
  519 + ins += "<div id=comboTema >Buscando...</div>"
  520 + ins += "<p>Perfis que podem ver: </p>"
  521 + ins += "<input size=50 type=text id='Eperfil' value='"+i.perfil+"' /></p>"
  522 + ins += "<div id=comboPerfil >Buscando...</div>";
  523 + ins += "<br><br>Para criar um novo tema clique <a href='temas.html' >aqui</a>."
  524 + ins += "<br><br>Para criar um novo perfil clique <a href='perfis.html' >aqui</a>."
  525 + ins += "<input type=hidden value="+i.ordem+" id='Eordem' />"
  526 + return(ins)
  527 +}
373 528
374 - if(prefixo == "n3")  
375 - var tabela = "i3geoadmin_n3"  
376 -  
377 - var p = "../php/arvore.php?funcao=excluir&id="+id+"&tabela="+tabela+"&coluna="+coluna;  
378 - cPaint.call(p,"",retorna);  
379 - } 529 +function registraPerfil(valor,id)
  530 +{
  531 + var inp = $i(id)
  532 + var perfis = inp.value
  533 + if(perfis == "")
  534 + inp.value = valor
  535 + else
  536 + inp.value = perfis+" "+valor
380 } 537 }
381 -/*  
382 -Function: excluirRaiz 538 +function gravaDados(tipo,id)
  539 +{
  540 + if(tipo == "grupo")
  541 + {
  542 + var campos = new Array("id_grupo","n1_perfil","publicado","ordem")
  543 + var par = "&id="+id
  544 + var prog = "../php/arvore.php?funcao=alterarGrupo"
  545 + }
  546 + if(tipo == "subgrupo")
  547 + {
  548 + var campos = new Array("id_subgrupo","n2_perfil","publicado","ordem")
  549 + var par = "&id="+id
  550 + var prog = "../php/arvore.php?funcao=alterarSubGrupo"
  551 + }
  552 + if(tipo == "tema")
  553 + {
  554 + var campos = new Array("id_tema","n3_perfil","publicado","ordem")
  555 + var par = "&id="+id
  556 + var prog = "../php/arvore.php?funcao=alterarTema"
  557 + }
  558 + if(tipo == "raizmenu" || tipo == "raizgrupo")
  559 + {
  560 + var campos = new Array("id_tema","perfil","ordem")
  561 + var par = "&id="+id
  562 + var prog = "../php/arvore.php?funcao=alterarRaiz"
  563 + }
383 564
384 -Exclui um registro de um tema no nível raiz  
385 -*/  
386 -function excluirRaiz(nivel,id_nivel,id_raiz,idnpai) 565 + for (i=0;i<campos.length;i++)
  566 + {par += "&"+campos[i]+"="+($i("E"+campos[i]).value)}
  567 + core_carregando("ativa");
  568 + core_carregando(" gravando o registro do id= "+id);
  569 + var sUrl = prog+par;
  570 + var callback =
  571 + {
  572 + success:function(o)
  573 + {
  574 + try
  575 + {
  576 + if(YAHOO.lang.JSON.parse(o.responseText) == "erro")
  577 + {
  578 + core_carregando("<span style=color:red >Não foi possível excluir. Verifique se não existem menus vinculados a este tema</span>");
  579 + setTimeout("core_carregando('desativa')",3000)
  580 + }
  581 + else
  582 + {
  583 + if(tipo == "grupo")
  584 + {
  585 + var obj = document.getElementById("Eid_grupo")
  586 + var texto = obj.options[obj.selectedIndex].text
  587 + var no = tree.getNodeByProperty("id_n1",id)
  588 + no.getContentEl().getElementsByTagName("span")[0].innerHTML = texto
  589 + }
  590 + if(tipo == "subgrupo")
  591 + {
  592 + var obj = document.getElementById("Eid_subgrupo")
  593 + var texto = obj.options[obj.selectedIndex].text
  594 + var no = tree.getNodeByProperty("id_n2",id)
  595 + no.getContentEl().getElementsByTagName("span")[0].innerHTML = texto
  596 + }
  597 + if(tipo == "tema")
  598 + {
  599 + var obj = document.getElementById("Eid_tema")
  600 + var texto = obj.options[obj.selectedIndex].text
  601 + var no = tree.getNodeByProperty("id_n3",id)
  602 + no.getContentEl().getElementsByTagName("span")[0].innerHTML = texto
  603 + }
  604 + if(tipo == "raizmenu" || tipo == "raizgrupo")
  605 + {
  606 + var obj = document.getElementById("Eid_tema")
  607 + var texto = obj.options[obj.selectedIndex].text
  608 + var no = tree.getNodeByProperty("id_raiz",id)
  609 + no.getContentEl().getElementsByTagName("span")[0].innerHTML = texto
  610 + }
  611 + core_carregando("desativa");
  612 + }
  613 + YAHOO.example.container.panelEditor.destroy();
  614 + YAHOO.example.container.panelEditor = null;
  615 + }
  616 + catch(e){core_handleFailure(e,o.responseText);}
  617 + },
  618 + failure:core_handleFailure,
  619 + argument: { foo:"foo", bar:"bar" }
  620 + };
  621 + core_makeRequest(sUrl,callback,'POST')
  622 +}
  623 +function sobeDesce(movimento,tipo,id)
387 { 624 {
388 - if(confirm("Você realmente quer fazer isso?")) 625 + if(tipo == "raizmenu" || tipo == "raizgrupo")
389 { 626 {
390 - $i(idnpai).innerHTML = $mensagemAguarde;  
391 - var retorna = function(retorno)  
392 - {  
393 - $i(idnpai).innerHTML = "";  
394 - $temasRaiz = retorno.data;  
395 - pegaTemasRaiz(nivel,id_nivel,idnpai)  
396 - }  
397 - var tabela = "i3geoadmin_raiz"  
398 - var p = "../php/arvore.php?funcao=excluir&id="+id_raiz+"&tabela="+tabela+"&coluna=id_raiz";  
399 - cPaint.call(p,"",retorna); 627 + var no = tree.getNodeByProperty("id_raiz",id)
  628 + var movimenta = core_movimentaNo(movimento,no)
  629 + }
  630 + if(tipo == "grupo")
  631 + {
  632 + var no = tree.getNodeByProperty("id_n1",id)
  633 + var movimenta = core_movimentaNo(movimento,no)
  634 + }
  635 + if(tipo == "subgrupo")
  636 + {
  637 + var no = tree.getNodeByProperty("id_n2",id)
  638 + var movimenta = core_movimentaNo(movimento,no)
400 } 639 }
401 -}  
402 \ No newline at end of file 640 \ No newline at end of file
  641 + if(tipo == "tema")
  642 + {
  643 + var no = tree.getNodeByProperty("id_n3",id)
  644 + var movimenta = core_movimentaNo(movimento,no)
  645 + }
  646 + var callback =
  647 + {
  648 + success: function(oResponse)
  649 + {core_carregando("desativa");},
  650 + failure:core_handleFailure,
  651 + argument: { foo:"foo", bar:"bar" }
  652 + };
  653 + if(movimenta)
  654 + {
  655 + var sUrl = "../php/arvore.php?funcao=movimentaNo&tipo="+tipo+"&movimento="+movimento+"&id="+id;
  656 + core_carregando("ativa");
  657 + core_carregando(" modificando a ordem no banco de dados");
  658 + core_makeRequest(sUrl,callback)
  659 + }
  660 +}
  661 +
  662 +YAHOO.util.Event.addListener(window, "load", initMenu);
403 \ No newline at end of file 663 \ No newline at end of file
admin/js/atlas.js
1 YAHOO.namespace("example.container"); 1 YAHOO.namespace("example.container");
2 function initMenu() 2 function initMenu()
3 { 3 {
4 - ativaBotaoAdicionaRaiz("../php/atlas.php?funcao=alterarAtlas","adiciona") 4 + ativaBotaoAdicionaAtlas("../php/atlas.php?funcao=alterarAtlas","adiciona")
5 core_carregando("ativa"); 5 core_carregando("ativa");
6 core_ativaPainelAjuda("ajuda","botaoAjuda"); 6 core_ativaPainelAjuda("ajuda","botaoAjuda");
7 core_pegaPerfis("pegaAtlas()"); 7 core_pegaPerfis("pegaAtlas()");
8 } 8 }
9 -function ativaBotaoAdicionaRaiz(sUrl,idBotao) 9 +function ativaBotaoAdicionaAtlas(sUrl,idBotao)
10 { 10 {
11 var adiciona = function() 11 var adiciona = function()
12 { 12 {
@@ -18,7 +18,7 @@ function ativaBotaoAdicionaRaiz(sUrl,idBotao) @@ -18,7 +18,7 @@ function ativaBotaoAdicionaRaiz(sUrl,idBotao)
18 { 18 {
19 try 19 try
20 { 20 {
21 - adicionaNosRaiz(YAHOO.lang.JSON.parse(o.responseText),true); 21 + adicionaNosAtlas(YAHOO.lang.JSON.parse(o.responseText),true);
22 core_carregando("desativa"); 22 core_carregando("desativa");
23 } 23 }
24 catch(e){core_handleFailure(e,o.responseText);} 24 catch(e){core_handleFailure(e,o.responseText);}
@@ -56,7 +56,7 @@ function montaArvore(dados) @@ -56,7 +56,7 @@ function montaArvore(dados)
56 success: function(oResponse) 56 success: function(oResponse)
57 { 57 {
58 var dados = YAHOO.lang.JSON.parse(oResponse.responseText) 58 var dados = YAHOO.lang.JSON.parse(oResponse.responseText)
59 - adicionaNos(node,dados,false) 59 + adicionaNosPranchas(node,dados,false)
60 oResponse.argument.fnLoadComplete(); 60 oResponse.argument.fnLoadComplete();
61 }, 61 },
62 failure: function(oResponse) 62 failure: function(oResponse)
@@ -83,14 +83,15 @@ function montaArvore(dados) @@ -83,14 +83,15 @@ function montaArvore(dados)
83 } 83 }
84 buildTree(); 84 buildTree();
85 }(); 85 }();
86 - adicionaNosRaiz(dados) 86 + adicionaNosAtlas(dados)
87 tree.draw(); 87 tree.draw();
88 } 88 }
89 function adicionaNosTemas(no,dados,redesenha) 89 function adicionaNosTemas(no,dados,redesenha)
90 { 90 {
91 if(!redesenha) 91 if(!redesenha)
92 { 92 {
93 - var d = {html:"<i>Temas:</i>"} 93 + var conteudo = "<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"adicionarTema('"+no.data.id_prancha+"')\" title='adiciona tema' width='10px' heigth='10px' src=\"../imagens/05.png\" />"
  94 + var d = {html:conteudo+"<i>Temas:</i>"}
94 var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true); 95 var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true);
95 tempNode.isLeaf = true; 96 tempNode.isLeaf = true;
96 } 97 }
@@ -106,7 +107,7 @@ function adicionaNosTemas(no,dados,redesenha) @@ -106,7 +107,7 @@ function adicionaNosTemas(no,dados,redesenha)
106 } 107 }
107 if(redesenha){tree.draw();} 108 if(redesenha){tree.draw();}
108 } 109 }
109 -function adicionaNos(no,dados,redesenha) 110 +function adicionaNosPranchas(no,dados,redesenha)
110 { 111 {
111 function temaIconMode() 112 function temaIconMode()
112 { 113 {
@@ -140,7 +141,8 @@ function adicionaNos(no,dados,redesenha) @@ -140,7 +141,8 @@ function adicionaNos(no,dados,redesenha)
140 } 141 }
141 if(!redesenha) 142 if(!redesenha)
142 { 143 {
143 - var d = {html:"<i>Pranchas:</i>"} 144 + var conteudo = "<img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"adicionarPrancha('"+no.data.id_atlas+"')\" title='adiciona prancha' src=\"../imagens/05.png\" />"
  145 + var d = {html:conteudo+"<i>Pranchas:</i>"}
144 var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true); 146 var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true);
145 tempNode.isLeaf = true; 147 tempNode.isLeaf = true;
146 } 148 }
@@ -149,7 +151,6 @@ function adicionaNos(no,dados,redesenha) @@ -149,7 +151,6 @@ function adicionaNos(no,dados,redesenha)
149 var conteudo = "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('sobe','prancha','"+dados[i].id_prancha+"')\" title=sobe src=\"../imagens/34.png\" />" 151 var conteudo = "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('sobe','prancha','"+dados[i].id_prancha+"')\" title=sobe src=\"../imagens/34.png\" />"
150 conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('desce','prancha','"+dados[i].id_prancha+"')\" title=desce src=\"../imagens/33.png\" />" 152 conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('desce','prancha','"+dados[i].id_prancha+"')\" title=desce src=\"../imagens/33.png\" />"
151 conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"excluir('prancha','"+dados[i].id_prancha+"')\" title=excluir width='10px' heigth='10px' src=\"../imagens/01.png\" />" 153 conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"excluir('prancha','"+dados[i].id_prancha+"')\" title=excluir width='10px' heigth='10px' src=\"../imagens/01.png\" />"
152 - conteudo += "<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"adicionarTema('"+dados[i].id_prancha+"')\" title='adiciona tema' width='10px' heigth='10px' src=\"../imagens/05.png\" />"  
153 conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"editar('prancha','"+dados[i].id_prancha+"')\" title=editar width='10px' heigth='10px' src=\"../imagens/06.png\" />&nbsp;<span>"+dados[i].titulo_prancha+"</span>" 154 conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"editar('prancha','"+dados[i].id_prancha+"')\" title=editar width='10px' heigth='10px' src=\"../imagens/06.png\" />&nbsp;<span>"+dados[i].titulo_prancha+"</span>"
154 var d = {html:conteudo,id_prancha:dados[i].id_prancha,tipo:"prancha"} 155 var d = {html:conteudo,id_prancha:dados[i].id_prancha,tipo:"prancha"}
155 var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true); 156 var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true);
@@ -159,7 +160,7 @@ function adicionaNos(no,dados,redesenha) @@ -159,7 +160,7 @@ function adicionaNos(no,dados,redesenha)
159 if(redesenha){tree.draw();} 160 if(redesenha){tree.draw();}
160 } 161 }
161 162
162 -function adicionaNosRaiz(dados,redesenha) 163 +function adicionaNosAtlas(dados,redesenha)
163 { 164 {
164 var root = tree.getRoot(); 165 var root = tree.getRoot();
165 for (var i=0, j=dados.length; i<j; i++) 166 for (var i=0, j=dados.length; i<j; i++)
@@ -167,7 +168,6 @@ function adicionaNosRaiz(dados,redesenha) @@ -167,7 +168,6 @@ function adicionaNosRaiz(dados,redesenha)
167 var conteudo = "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('sobe','atlas','"+dados[i].id_atlas+"')\" title=sobe src=\"../imagens/34.png\" />" 168 var conteudo = "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('sobe','atlas','"+dados[i].id_atlas+"')\" title=sobe src=\"../imagens/34.png\" />"
168 conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('desce','atlas','"+dados[i].id_atlas+"')\" title=desce src=\"../imagens/33.png\" />" 169 conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:0px\" onclick=\"sobeDesce('desce','atlas','"+dados[i].id_atlas+"')\" title=desce src=\"../imagens/33.png\" />"
169 conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"excluir('atlas','"+dados[i].id_atlas+"')\" title=excluir src=\"../imagens/01.png\" />" 170 conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"excluir('atlas','"+dados[i].id_atlas+"')\" title=excluir src=\"../imagens/01.png\" />"
170 - conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"adicionarPrancha('"+dados[i].id_atlas+"')\" title='adiciona prancha' src=\"../imagens/05.png\" />"  
171 conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"editar('atlas','"+dados[i].id_atlas+"')\" title=editar src=\"../imagens/06.png\" /><b>&nbsp;<span>"+dados[i].titulo_atlas+"</span>" 171 conteudo += "&nbsp;<img style=\"position:relative;cursor:pointer;top:2px\" onclick=\"editar('atlas','"+dados[i].id_atlas+"')\" title=editar src=\"../imagens/06.png\" /><b>&nbsp;<span>"+dados[i].titulo_atlas+"</span>"
172 var d = {html:conteudo,id_atlas:dados[i].id_atlas,tipo:"atlas"}; 172 var d = {html:conteudo,id_atlas:dados[i].id_atlas,tipo:"atlas"};
173 var tempNode = new YAHOO.widget.HTMLNode(d, root, false,true); 173 var tempNode = new YAHOO.widget.HTMLNode(d, root, false,true);
@@ -224,21 +224,15 @@ function editar(tipo,id) @@ -224,21 +224,15 @@ function editar(tipo,id)
224 } 224 }
225 function montaDivTema(i) 225 function montaDivTema(i)
226 { 226 {
227 - var param =  
228 - {  
229 - "linhas":[  
230 - {titulo:"Ordem de desenho:",id:"Eordem_tema",size:"5",value:i.ordem_tema,tipo:"text",div:""}  
231 - ]  
232 - }  
233 var ins = "" 227 var ins = ""
234 ins += "<br>Código do tema:<br>" 228 ins += "<br>Código do tema:<br>"
235 ins += "<div id=comboTemaIni ></div>" 229 ins += "<div id=comboTemaIni ></div>"
236 230
237 - ins += core_geraLinhas(param)  
238 ins += "Ligado (ao abrir a prancha, esse tema estará visível)?<br>" 231 ins += "Ligado (ao abrir a prancha, esse tema estará visível)?<br>"
239 ins += "<select id='Eligado_tema' >" 232 ins += "<select id='Eligado_tema' >"
240 ins += core_combosimnao(i.ligado_tema) 233 ins += core_combosimnao(i.ligado_tema)
241 ins += "</select>" 234 ins += "</select>"
  235 + ins += "<input type=hidden value='"+i.ordem_tema+"' id='Eordem_tema' />"
242 return(ins) 236 return(ins)
243 } 237 }
244 function montaDivPrancha(i) 238 function montaDivPrancha(i)
@@ -252,12 +246,13 @@ function montaDivPrancha(i) @@ -252,12 +246,13 @@ function montaDivPrancha(i)
252 {titulo:"Largura da janela do texto inicial:",id:"Ew_prancha",size:"5",value:i.w_prancha,tipo:"text",div:""}, 246 {titulo:"Largura da janela do texto inicial:",id:"Ew_prancha",size:"5",value:i.w_prancha,tipo:"text",div:""},
253 {titulo:"Altura:",id:"Eh_prancha",size:"5",value:i.h_prancha,tipo:"text",div:""}, 247 {titulo:"Altura:",id:"Eh_prancha",size:"5",value:i.h_prancha,tipo:"text",div:""},
254 {titulo:"(opcional) Ícone que será utilizado na apresentação da prancha:",id:"Eicone_prancha",size:"50",value:i.icone_prancha,tipo:"text",div:""}, 248 {titulo:"(opcional) Ícone que será utilizado na apresentação da prancha:",id:"Eicone_prancha",size:"50",value:i.icone_prancha,tipo:"text",div:""},
255 - {titulo:"Extensão geográfica:",id:"Emapext_prancha",size:"30",value:i.mapext_prancha,tipo:"text",div:""},  
256 - {titulo:"Ordem de apresentação na lista de pranchas:",id:"Eordem_prancha",size:"5",value:i.ordem_prancha,tipo:"text",div:""} 249 + {titulo:"Extensão geográfica:",id:"Emapext_prancha",size:"30",value:i.mapext_prancha,tipo:"text",div:""}
257 ] 250 ]
258 } 251 }
259 var ins = "" 252 var ins = ""
260 ins += core_geraLinhas(param) 253 ins += core_geraLinhas(param)
  254 + ins += "<input type=hidden value='"+i.ordem_prancha+"' id='Eordem_prancha' />"
  255 +
261 return(ins) 256 return(ins)
262 } 257 }
263 function montaDivAtlas(i) 258 function montaDivAtlas(i)
@@ -272,8 +267,7 @@ function montaDivAtlas(i) @@ -272,8 +267,7 @@ function montaDivAtlas(i)
272 {titulo:"Altura:",id:"Eh_atlas",size:"5",value:i.h_atlas,tipo:"text",div:""}, 267 {titulo:"Altura:",id:"Eh_atlas",size:"5",value:i.h_atlas,tipo:"text",div:""},
273 {titulo:"(opcional) Mapfile inicial (mapfile que será usado como base para montagem do mapa inicial. Se não for definido, será usado o default do i3geo. Utilize o endereço completo do aquivo mapfile no servidor.):",id:"Ebasemapfile_atlas",size:"50",value:i.basemapfile_atlas,tipo:"text",div:""}, 268 {titulo:"(opcional) Mapfile inicial (mapfile que será usado como base para montagem do mapa inicial. Se não for definido, será usado o default do i3geo. Utilize o endereço completo do aquivo mapfile no servidor.):",id:"Ebasemapfile_atlas",size:"50",value:i.basemapfile_atlas,tipo:"text",div:""},
274 {titulo:"(opcional) Ícone que será utilizado na montagem da lista de todos os Atlas:",id:"Eicone_atlas",size:"50",value:i.icone_atlas,tipo:"text",div:""}, 269 {titulo:"(opcional) Ícone que será utilizado na montagem da lista de todos os Atlas:",id:"Eicone_atlas",size:"50",value:i.icone_atlas,tipo:"text",div:""},
275 - {titulo:"(opcional) Template HTML (se não for especificado, será usado o default do i3geo. Utilize o caminho completo do arquivo html no servidor):",id:"Etemplate_atlas",size:"50",value:i.template_atlas,tipo:"text",div:""},  
276 - {titulo:"Ordem de apresentação na lista de atlas:",id:"Eordem_atlas",size:"5",value:i.ordem_atlas,tipo:"text",div:""} 270 + {titulo:"(opcional) Template HTML (se não for especificado, será usado o default do i3geo. Utilize o caminho completo do arquivo html no servidor):",id:"Etemplate_atlas",size:"50",value:i.template_atlas,tipo:"text",div:""}
277 ] 271 ]
278 } 272 }
279 var ins = "" 273 var ins = ""
@@ -293,6 +287,8 @@ function montaDivAtlas(i) @@ -293,6 +287,8 @@ function montaDivAtlas(i)
293 ins += "<select id='Epublicado_atlas' >" 287 ins += "<select id='Epublicado_atlas' >"
294 ins += core_combosimnao(i.publicado_atlas) 288 ins += core_combosimnao(i.publicado_atlas)
295 ins += "</select>" 289 ins += "</select>"
  290 + ins += "<input type=hidden value='"+i.ordem_atlas+"' id='Eordem_atlas' />"
  291 +
296 return(ins) 292 return(ins)
297 } 293 }
298 function sobeDesce(movimento,tipo,id) 294 function sobeDesce(movimento,tipo,id)
@@ -374,7 +370,7 @@ function adicionarPrancha(id) @@ -374,7 +370,7 @@ function adicionarPrancha(id)
374 success: function(oResponse) 370 success: function(oResponse)
375 { 371 {
376 var dados = YAHOO.lang.JSON.parse(oResponse.responseText) 372 var dados = YAHOO.lang.JSON.parse(oResponse.responseText)
377 - adicionaNos(no,dados,true) 373 + adicionaNosPranchas(no,dados,true)
378 }, 374 },
379 failure:core_handleFailure, 375 failure:core_handleFailure,
380 argument: { foo:"foo", bar:"bar" } 376 argument: { foo:"foo", bar:"bar" }
admin/js/core.js
@@ -85,7 +85,7 @@ function core_movimentaNo(tipo,no) @@ -85,7 +85,7 @@ function core_movimentaNo(tipo,no)
85 var noanterior = no.previousSibling 85 var noanterior = no.previousSibling
86 if(noanterior) 86 if(noanterior)
87 { 87 {
88 - if(noanterior.previousSibling) 88 + if(noanterior.previousSibling && noanterior.data.tipo != "etiqueta")
89 { 89 {
90 tree.popNode(no) 90 tree.popNode(no)
91 no.insertBefore(noanterior) 91 no.insertBefore(noanterior)
@@ -445,6 +445,129 @@ function core_comboPranchas(onde,id,marcar,funcao,id_atlas) @@ -445,6 +445,129 @@ function core_comboPranchas(onde,id,marcar,funcao,id_atlas)
445 }; 445 };
446 core_makeRequest(sUrl,callback) 446 core_makeRequest(sUrl,callback)
447 } 447 }
  448 +/*
  449 +Function: core_comboGrupos
  450 +
  451 +Cria um combo para escolha de um grupo
  452 +
  453 +Parameters:
  454 +
  455 +onde - id do elemento que receberá o combo
  456 +
  457 +id - id do combo que será criado
  458 +
  459 +marcar - valor que será marcado como selecionado
  460 +
  461 +funcao - string com o nome da função que será executada no evento onchange
  462 +*/
  463 +function core_comboGrupos(onde,id,marcar,funcao)
  464 +{
  465 + var sUrl = "../php/menutemas.php?funcao=pegaGrupos";
  466 + var callback =
  467 + {
  468 + success:function(o)
  469 + {
  470 + try
  471 + {
  472 + var valores = YAHOO.lang.JSON.parse(o.responseText);
  473 + if(arguments.length == 3)
  474 + {var funcao = "";}
  475 + if (funcao != "")
  476 + {var funcao = "onchange='"+funcao+"'";}
  477 + ins = "<select id='"+id+"' "+funcao+" >"
  478 + ins += core_comboObjeto(valores,"id_grupo","nome_grupo",marcar)
  479 + ins += "</select></p>"
  480 + $i(onde).innerHTML = ins;
  481 + }
  482 + catch(e){core_handleFailure(e,o.responseText);}
  483 + },
  484 + failure:core_handleFailure,
  485 + argument: { foo:"foo", bar:"bar" }
  486 + };
  487 + core_makeRequest(sUrl,callback)
  488 +}
  489 +/*
  490 +Function: core_comboSubGrupos
  491 +
  492 +Cria um combo para escolha de um sub-grupo
  493 +
  494 +Parameters:
  495 +
  496 +onde - id do elemento que receberá o combo
  497 +
  498 +id - id do combo que será criado
  499 +
  500 +marcar - valor que será marcado como selecionado
  501 +
  502 +funcao - string com o nome da função que será executada no evento onchange
  503 +*/
  504 +function core_comboSubGrupos(onde,id,marcar,funcao)
  505 +{
  506 + var sUrl = "../php/menutemas.php?funcao=pegaSubGrupos";
  507 + var callback =
  508 + {
  509 + success:function(o)
  510 + {
  511 + try
  512 + {
  513 + var valores = YAHOO.lang.JSON.parse(o.responseText);
  514 + if(arguments.length == 3)
  515 + {var funcao = "";}
  516 + if (funcao != "")
  517 + {var funcao = "onchange='"+funcao+"'";}
  518 + ins = "<select id='"+id+"' "+funcao+" >"
  519 + ins += core_comboObjeto(valores,"id_subgrupo","nome_subgrupo",marcar)
  520 + ins += "</select></p>"
  521 + $i(onde).innerHTML = ins;
  522 + }
  523 + catch(e){core_handleFailure(e,o.responseText);}
  524 + },
  525 + failure:core_handleFailure,
  526 + argument: { foo:"foo", bar:"bar" }
  527 + };
  528 + core_makeRequest(sUrl,callback)
  529 +}
  530 +/*
  531 +Function: core_comboTemas
  532 +
  533 +Cria um combo para escolha de um tema
  534 +
  535 +Parameters:
  536 +
  537 +onde - id do elemento que receberá o combo
  538 +
  539 +id - id do combo que será criado
  540 +
  541 +marcar - valor que será marcado como selecionado
  542 +
  543 +funcao - string com o nome da função que será executada no evento onchange
  544 +*/
  545 +function core_comboTemas(onde,id,marcar,funcao)
  546 +{
  547 + var sUrl = "../php/menutemas.php?funcao=pegaTemas2";
  548 + var callback =
  549 + {
  550 + success:function(o)
  551 + {
  552 + try
  553 + {
  554 + var valores = YAHOO.lang.JSON.parse(o.responseText);
  555 + if(arguments.length == 3)
  556 + {var funcao = "";}
  557 + if (funcao != "")
  558 + {var funcao = "onchange='"+funcao+"'";}
  559 + ins = "<select id='"+id+"' "+funcao+" >"
  560 + ins += core_comboObjeto(valores,"id_tema","nome_tema",marcar)
  561 + ins += "</select></p>"
  562 + $i(onde).innerHTML = ins;
  563 + }
  564 + catch(e){core_handleFailure(e,o.responseText);}
  565 + },
  566 + failure:core_handleFailure,
  567 + argument: { foo:"foo", bar:"bar" }
  568 + };
  569 + core_makeRequest(sUrl,callback)
  570 +}
448 571
449 /* 572 /*
450 function: core_pegaTags 573 function: core_pegaTags
admin/php/admin.php
@@ -84,7 +84,7 @@ function retornaJSON($obj) @@ -84,7 +84,7 @@ function retornaJSON($obj)
84 if(extension_loaded('zlib')){ob_start('ob_gzhandler');} 84 if(extension_loaded('zlib')){ob_start('ob_gzhandler');}
85 echo json_encode($obj); 85 echo json_encode($obj);
86 if(extension_loaded('zlib')){ob_end_flush();} 86 if(extension_loaded('zlib')){ob_end_flush();}
87 - exit; 87 + exit;
88 } 88 }
89 function verificaDuplicados($sql,$dbh) 89 function verificaDuplicados($sql,$dbh)
90 { 90 {
@@ -228,6 +228,21 @@ function verificaFilhos() @@ -228,6 +228,21 @@ function verificaFilhos()
228 if(count($r) > 0) 228 if(count($r) > 0)
229 $res = true; 229 $res = true;
230 } 230 }
  231 + if($tabela == "i3geoadmin_n2")
  232 + {
  233 + $r = pegaDados("SELECT id_n3 from i3geoadmin_n3 where id_n2 ='$id'");
  234 + if(count($r) > 0)
  235 + $res = true;
  236 + }
  237 + if($tabela == "i3geoadmin_n1")
  238 + {
  239 + $r = pegaDados("SELECT id_n2 from i3geoadmin_n2 where id_n1 ='$id'");
  240 + if(count($r) > 0)
  241 + $res = true;
  242 + $r = pegaDados("SELECT id_raiz from i3geoadmin_raiz where nivel='1' and id_nivel ='$id'");
  243 + if(count($r) > 0)
  244 + $res = true;
  245 + }
231 return $res; 246 return $res;
232 } 247 }
233 catch (PDOException $e) 248 catch (PDOException $e)
admin/php/arvore.php
@@ -32,60 +32,127 @@ $cp = new cpaint(); @@ -32,60 +32,127 @@ $cp = new cpaint();
32 //faz a busca da função que deve ser executada 32 //faz a busca da função que deve ser executada
33 switch ($funcao) 33 switch ($funcao)
34 { 34 {
35 - //verifica os editores  
36 - case "verificaEditores":  
37 - $cp->set_data(verificaEditores($editores));  
38 - $cp->return_data(); 35 + case "pegaGrupos":
  36 + $grupos = pegaDados("select i3geoadmin_grupos.nome_grupo,id_n1,id_menu from i3geoadmin_n1 LEFT JOIN i3geoadmin_grupos ON i3geoadmin_n1.id_grupo = i3geoadmin_grupos.id_grupo where id_menu='$id_menu' order by ordem");
  37 + $raiz = pegaDados("select id_raiz,i3geoadmin_raiz.id_tema,nome_tema FROM i3geoadmin_raiz LEFT JOIN i3geoadmin_temas ON i3geoadmin_temas.id_tema = i3geoadmin_raiz.id_tema where i3geoadmin_raiz.id_menu='$id_menu' and i3geoadmin_raiz.nivel = 0 order by ordem");
  38 + retornaJSON(array("raiz"=>$raiz,"grupos"=>$grupos));
  39 + exit;
39 break; 40 break;
40 - case "pegaTemasRaiz":  
41 - $cp->set_data(pegaDados("select * from i3geoadmin_raiz LEFT JOIN i3geoadmin_temas ON i3geoadmin_raiz.id_tema = i3geoadmin_temas.id_tema"));  
42 - $cp->return_data(); 41 + case "pegaSubGrupos":
  42 + $subgrupos = pegaDados("select i3geoadmin_subgrupos.nome_subgrupo,i3geoadmin_n2.id_n2 from i3geoadmin_n2 LEFT JOIN i3geoadmin_subgrupos ON i3geoadmin_n2.id_subgrupo = i3geoadmin_subgrupos.id_subgrupo where i3geoadmin_n2.id_n1='$id_n1' order by ordem");
  43 + $raiz = pegaDados("select id_raiz,i3geoadmin_raiz.id_tema,nome_tema from i3geoadmin_raiz LEFT JOIN i3geoadmin_temas ON i3geoadmin_temas.id_tema = i3geoadmin_raiz.id_tema where i3geoadmin_raiz.id_menu='$id_menu' and i3geoadmin_raiz.nivel = 1 and i3geoadmin_raiz.id_nivel = $id_n1 order by ordem");
  44 + retornaJSON(array("raiz"=>$raiz,"subgrupos"=>$subgrupos));
  45 + exit;
  46 + case "pegaTemas":
  47 + retornaJSON(pegaDados("select i3geoadmin_temas.nome_tema,i3geoadmin_n3.id_n3 from i3geoadmin_n3 LEFT JOIN i3geoadmin_temas ON i3geoadmin_n3.id_tema = i3geoadmin_temas.id_tema where i3geoadmin_n3.id_n2='$id_n2' order by ordem"));
  48 + exit;
43 break; 49 break;
44 - case "pegaN1":  
45 - $cp->set_data(pegaDados("select * from i3geoadmin_n1 where id_menu=$menu"));  
46 - $cp->return_data(); 50 + case "adicionarTemaRaiz":
  51 + $id_nivel = 0;
  52 + $nivel = 0;
  53 + $id_raiz = alterarRaiz();
  54 + $raiz = pegaDados("select i3geoadmin_raiz.id_raiz,nome_tema from i3geoadmin_raiz LEFT JOIN i3geoadmin_temas ON i3geoadmin_temas.id_tema = i3geoadmin_raiz.id_tema where i3geoadmin_raiz.id_raiz = '$id_raiz'");
  55 + retornaJSON(array("raiz"=>$raiz,"grupos"=>array()));
  56 + exit;
47 break; 57 break;
48 - case "alterarRaiz":  
49 - alterarRaiz();  
50 - $cp->set_data(pegaDados("select * from i3geoadmin_raiz LEFT JOIN i3geoadmin_temas ON i3geoadmin_raiz.id_tema = i3geoadmin_temas.id_tema"));  
51 - $cp->return_data(); 58 + case "adicionarTemaRaizGrupo":
  59 + $id_nivel = $id_n1;
  60 + $nivel = 1;
  61 + $id_raiz = alterarRaiz();
  62 + $raiz = pegaDados("select i3geoadmin_raiz.id_raiz,nome_tema from i3geoadmin_raiz LEFT JOIN i3geoadmin_temas ON i3geoadmin_temas.id_tema = i3geoadmin_raiz.id_tema where i3geoadmin_raiz.id_raiz = '$id_raiz'");
  63 + retornaJSON(array("raiz"=>$raiz,"grupos"=>array()));
  64 + exit;
  65 + break;
  66 + case "adicionarGrupo":
  67 + $id_n1 = alteraN1();
  68 + $grupos = pegaDados("select i3geoadmin_grupos.nome_grupo,id_n1 from i3geoadmin_n1 LEFT JOIN i3geoadmin_grupos ON i3geoadmin_n1.id_grupo = i3geoadmin_grupos.id_grupo where id_menu='$id_menu' and id_n1 = '$id_n1'");
  69 + $raiz = array();
  70 + retornaJSON(array("raiz"=>$raiz,"grupos"=>$grupos));
  71 + exit;
  72 + break;
  73 + case "adicionarSubGrupo":
  74 + $id_n2 = alteraN2();
  75 + $subgrupos = pegaDados("select i3geoadmin_subgrupos.nome_subgrupo,i3geoadmin_n2.id_n2 from i3geoadmin_n2 LEFT JOIN i3geoadmin_subgrupos ON i3geoadmin_n2.id_subgrupo = i3geoadmin_subgrupos.id_subgrupo where i3geoadmin_n2.id_n2='$id_n2'");
  76 + $raiz = array();
  77 + retornaJSON(array("raiz"=>$raiz,"subgrupos"=>$subgrupos));
  78 + exit;
  79 + break;
  80 + case "adicionarTema":
  81 + $id_n3 = alteraN3();
  82 + $temas = pegaDados("select i3geoadmin_temas.nome_tema,i3geoadmin_n3.id_n3 from i3geoadmin_n3 LEFT JOIN i3geoadmin_temas ON i3geoadmin_n3.id_tema = i3geoadmin_temas.id_tema where i3geoadmin_n3.id_n3='$id_n3'");
  83 + $raiz = array();
  84 + retornaJSON($temas);
  85 + exit;
52 break; 86 break;
53 - case "alteraN1":  
54 - $cp->set_data(alteraN1());  
55 - $cp->return_data(); 87 + case "pegaDadosGrupo":
  88 + retornaJSON(pegaDados("select * from i3geoadmin_n1 LEFT JOIN i3geoadmin_grupos ON i3geoadmin_n1.id_grupo = i3geoadmin_grupos.id_grupo where id_n1 = $id"));
  89 + exit;
56 break; 90 break;
57 - case "alteraN2":  
58 - $cp->set_data(alteraN2());  
59 - $cp->return_data(); 91 + case "pegaDadosSubGrupo":
  92 + retornaJSON(pegaDados("select * from i3geoadmin_n2 LEFT JOIN i3geoadmin_subgrupos ON i3geoadmin_n2.id_subgrupo = i3geoadmin_subgrupos.id_subgrupo where id_n2 = $id"));
  93 + exit;
60 break; 94 break;
61 - case "alteraN3":  
62 - $cp->set_data(alteraN3());  
63 - $cp->return_data(); 95 + case "pegaDadosTema":
  96 + retornaJSON(pegaDados("select * from i3geoadmin_n3 LEFT JOIN i3geoadmin_temas ON i3geoadmin_n3.id_tema = i3geoadmin_temas.id_tema where id_n3 = $id"));
  97 + exit;
64 break; 98 break;
65 - case "pegaN2":  
66 - $cp->set_data(pegaDados("select * from i3geoadmin_n2 where id_n1=$idn1"));  
67 - $cp->return_data(); 99 + case "pegaDadosRaiz":
  100 + retornaJSON(pegaDados("select * from i3geoadmin_raiz LEFT JOIN i3geoadmin_temas ON i3geoadmin_raiz.id_tema = i3geoadmin_temas.id_tema where id_raiz = $id"));
  101 + exit;
68 break; 102 break;
69 - case "pegaN3":  
70 - $cp->set_data(pegaDados("select * from i3geoadmin_n3 where id_n2=$idn2"));  
71 - $cp->return_data(); 103 + case "alterarGrupo":
  104 + retornaJSON(alteraN1());
  105 + exit;
72 break; 106 break;
73 - case "excluir";  
74 - if($tabela != "i3geoadmin_raiz")  
75 - {  
76 - $f = verificaFilhos();  
77 - if(!$f)  
78 - $cp->set_data(exclui());  
79 - else  
80 - $cp->set_data("erro");  
81 - }  
82 - else  
83 - {  
84 - exclui();  
85 - $cp->set_data(pegaDados("select * from i3geoadmin_raiz LEFT JOIN i3geoadmin_temas ON i3geoadmin_raiz.id_tema = i3geoadmin_temas.id_tema"));  
86 - }  
87 - $cp->return_data(); 107 + case "alterarSubGrupo":
  108 + retornaJSON(alteraN2());
  109 + exit;
  110 + break;
  111 + case "alterarTema":
  112 + retornaJSON(alteraN3());
  113 + exit;
  114 + break;
  115 + case "alterarRaiz":
  116 + retornaJSON(alterarRaiz());
  117 + exit;
88 break; 118 break;
  119 + case "movimentaNo":
  120 + movimentaNo();
  121 + retornaJSON("ok");
  122 + exit;
  123 + break;
  124 + case "excluir";
  125 + if($tabela == "i3geoadmin_raiz")
  126 + {
  127 + $coluna = "id_raiz";
  128 + }
  129 + if($tabela == "i3geoadmin_n3")
  130 + {
  131 + $coluna = "id_n3";
  132 + }
  133 + if($tabela == "i3geoadmin_n2")
  134 + {
  135 + $coluna = "id_n2";
  136 + $f = verificaFilhos();
  137 + if($f)
  138 + {
  139 + retornaJSON("erro");
  140 + exit;
  141 + }
  142 + }
  143 + if($tabela == "i3geoadmin_n1")
  144 + {
  145 + $coluna = "id_n1";
  146 + $f = verificaFilhos();
  147 + if($f)
  148 + {
  149 + retornaJSON("erro");
  150 + exit;
  151 + }
  152 + }
  153 + retornaJSON(exclui());
  154 + exit;
  155 + break;
89 } 156 }
90 /* 157 /*
91 Function: alteraN3 158 Function: alteraN3
@@ -94,22 +161,32 @@ Altera o registro de um nível 3 (temas) @@ -94,22 +161,32 @@ Altera o registro de um nível 3 (temas)
94 */ 161 */
95 function alteraN3() 162 function alteraN3()
96 { 163 {
97 - global $perfil,$id,$idtema,$idsubgrupo; 164 + global $publicado,$n3_perfil,$id,$id_n2,$id_tema,$ordem;
98 try 165 try
99 { 166 {
100 require_once("conexao.php"); 167 require_once("conexao.php");
101 if($id != "") 168 if($id != "")
102 - $dbhw->query("UPDATE i3geoadmin_n3 SET id_tema = '$idtema', n3_perfil = '$perfil' WHERE id_n3 = $id"); 169 + {
  170 + $dbhw->query("UPDATE i3geoadmin_n3 SET publicado = '$publicado',ordem = '$ordem',id_tema = '$id_tema', n3_perfil = '$perfil' WHERE id_n3 = $id");
  171 + $retorna = $id;
  172 + }
103 else 173 else
104 - $dbhw->query("INSERT INTO i3geoadmin_n3 (id_n2,id_tema,n3_perfil) VALUES ($idsubgrupo,'', '')"); 174 + {
  175 + $o = $dbhw->query("SELECT MAX(ordem) as o FROM i3geoadmin_n3 where id_n2 = '$id_n2'");
  176 + $o = $o->fetchAll();
  177 + $o = $o[0]['o'] + 1;
  178 + $dbhw->query("INSERT INTO i3geoadmin_n3 (id_n2,id_tema,n3_perfil,ordem) VALUES ($id_n2,'', '',$o)");
  179 + $id = $dbhw->query("SELECT id_n3 FROM i3geoadmin_n3");
  180 + $id = $id->fetchAll();
  181 + $id = intval($id[count($id)-1]['id_n3']);
  182 + $retorna = $id;
  183 + }
105 $dbhw = null; 184 $dbhw = null;
106 $dbh = null; 185 $dbh = null;
107 - return "ok"; 186 + return $retorna;
108 } 187 }
109 catch (PDOException $e) 188 catch (PDOException $e)
110 - {  
111 - return "Error!: " . $e->getMessage();  
112 - } 189 + {return "Error!: " . $e->getMessage();}
113 } 190 }
114 /* 191 /*
115 Function: alteraN2 192 Function: alteraN2
@@ -118,17 +195,29 @@ Altera o registro de um nível 2 @@ -118,17 +195,29 @@ Altera o registro de um nível 2
118 */ 195 */
119 function alteraN2() 196 function alteraN2()
120 { 197 {
121 - global $perfil,$id,$idsubgrupo,$idgrupo; 198 + global $publicado,$n2_perfil,$id,$id_subgrupo,$id_n1,$ordem;
122 try 199 try
123 { 200 {
124 require_once("conexao.php"); 201 require_once("conexao.php");
125 if($id != "") 202 if($id != "")
126 - $dbhw->query("UPDATE i3geoadmin_n2 SET id_subgrupo = '$idsubgrupo', n2_perfil = '$perfil' WHERE id_n2 = $id"); 203 + {
  204 + $dbhw->query("UPDATE i3geoadmin_n2 SET publicado='$publicado', ordem = '$ordem',id_subgrupo = '$id_subgrupo', n2_perfil = '$n2_perfil' WHERE id_n2 = $id");
  205 + $retorna = $id;
  206 + }
127 else 207 else
128 - $dbhw->query("INSERT INTO i3geoadmin_n2 (id_n1,id_subgrupo,n2_perfil) VALUES ($idgrupo,'', '')"); 208 + {
  209 + $o = $dbhw->query("SELECT MAX(ordem) as o FROM i3geoadmin_n2 where id_n1 = '$id_1'");
  210 + $o = $o->fetchAll();
  211 + $o = $o[0]['o'] + 1;
  212 + $dbhw->query("INSERT INTO i3geoadmin_n2 (id_n1,id_subgrupo,n2_perfil,ordem) VALUES ($id_n1,'', '',$o)");
  213 + $id = $dbhw->query("SELECT id_n2 FROM i3geoadmin_n2");
  214 + $id = $id->fetchAll();
  215 + $id = intval($id[count($id)-1]['id_n2']);
  216 + $retorna = $id;
  217 + }
129 $dbhw = null; 218 $dbhw = null;
130 $dbh = null; 219 $dbh = null;
131 - return "ok"; 220 + return $retorna;
132 } 221 }
133 catch (PDOException $e) 222 catch (PDOException $e)
134 { 223 {
@@ -138,21 +227,33 @@ function alteraN2() @@ -138,21 +227,33 @@ function alteraN2()
138 /* 227 /*
139 Function: alteraN1 228 Function: alteraN1
140 229
141 -Altera o registro de um nível 1 230 +Altera o registro de um nível 1 (grupos)
142 */ 231 */
143 function alteraN1() 232 function alteraN1()
144 { 233 {
145 - global $perfil,$idgrupo,$id,$idmenu; 234 + global $publicado,$n1_perfil,$id_grupo,$id,$id_menu,$ordem;
146 try 235 try
147 { 236 {
148 require_once("conexao.php"); 237 require_once("conexao.php");
149 if($id != "") 238 if($id != "")
150 - $dbhw->query("UPDATE i3geoadmin_n1 SET id_grupo = '$idgrupo', n1_perfil = '$perfil' WHERE id_menu = $idmenu and id_n1 = $id"); 239 + {
  240 + $dbhw->query("UPDATE i3geoadmin_n1 SET publicado = '$publicado', ordem = '$ordem', id_grupo = '$id_grupo', n1_perfil = '$n1_perfil' WHERE id_n1 = $id");
  241 + $retorna = $id;
  242 + }
151 else 243 else
152 - $dbhw->query("INSERT INTO i3geoadmin_n1 (id_menu,id_grupo,n1_perfil) VALUES ($idmenu,'', '')"); 244 + {
  245 + $o = $dbhw->query("SELECT MAX(ordem) as o FROM i3geoadmin_n1 where id_menu = '$id_menu'");
  246 + $o = $o->fetchAll();
  247 + $o = $o[0]['o'] + 1;
  248 + $dbhw->query("INSERT INTO i3geoadmin_n1 (publicado,id_menu,id_grupo,n1_perfil,ordem) VALUES ('',$id_menu,'', '',$o)");
  249 + $id = $dbhw->query("SELECT id_n1 FROM i3geoadmin_n1");
  250 + $id = $id->fetchAll();
  251 + $id = intval($id[count($id)-1]['id_n1']);
  252 + $retorna = $id;
  253 + }
153 $dbhw = null; 254 $dbhw = null;
154 $dbh = null; 255 $dbh = null;
155 - return "ok"; 256 + return $retorna;
156 } 257 }
157 catch (PDOException $e) 258 catch (PDOException $e)
158 { 259 {
@@ -166,22 +267,103 @@ Altera o registro na raiz de um nível @@ -166,22 +267,103 @@ Altera o registro na raiz de um nível
166 */ 267 */
167 function alterarRaiz() 268 function alterarRaiz()
168 { 269 {
169 - global $id_nivel,$nivel,$id_raiz,$id_menu,$perfil,$id_tema; 270 + global $id_nivel,$nivel,$id,$id_menu,$perfil,$id_tema,$ordem;
170 try 271 try
171 { 272 {
172 include("conexao.php"); 273 include("conexao.php");
173 - if($id_raiz != "")  
174 - $dbhw->query("UPDATE i3geoadmin_raiz SET id_nivel = '$nivel', nivel = '$nivel', perfil = '$perfil', id_menu = '$id_menu', id_tema = '$id_tema' WHERE id_raiz = $id_raiz"); 274 + if($id != "")
  275 + {
  276 + $dbhw->query("UPDATE i3geoadmin_raiz SET ordem = '$ordem', perfil = '$perfil', id_tema = '$id_tema' WHERE id_raiz = $id");
  277 + $retorna = $id;
  278 + }
175 else 279 else
176 - $dbhw->query("INSERT INTO i3geoadmin_raiz (id_nivel,nivel,id_menu,perfil,id_tema) VALUES ($id_nivel,$nivel,$id_menu,'','')"); 280 + {
  281 + $o = $dbhw->query("SELECT MAX(ordem) as o FROM i3geoadmin_raiz where id_menu = '$id_menu' and nivel = '$nivel' and id_nivel = '$id_nivel'");
  282 + $o = $o->fetchAll();
  283 + $o = $o[0]['o'] + 1;
  284 + $dbhw->query("INSERT INTO i3geoadmin_raiz (id_nivel,nivel,id_menu,perfil,id_tema,ordem) VALUES ($id_nivel,$nivel,$id_menu,'','',$o)");
  285 + $id = $dbhw->query("SELECT id_raiz FROM i3geoadmin_raiz");
  286 + $id = $id->fetchAll();
  287 + $id = intval($id[count($id)-1]['id_raiz']);
  288 + $retorna = $id;
  289 + }
177 $dbhw = null; 290 $dbhw = null;
178 $dbh = null; 291 $dbh = null;
179 - return "ok"; 292 + return $retorna;
180 } 293 }
181 catch (PDOException $e) 294 catch (PDOException $e)
182 { 295 {
183 return "Error!: " . $e->getMessage(); 296 return "Error!: " . $e->getMessage();
184 } 297 }
185 } 298 }
  299 +function movimentaNo()
  300 +{
  301 + global $tipo,$movimento,$id;
  302 + if($tipo == "raizmenu" || $tipo == "raizgrupo")
  303 + {
  304 + //pega a ordem atual
  305 + $reg = pegaDados("SELECT * from i3geoadmin_raiz where id_raiz = '$id'");
  306 + $ordematual = $reg[0]["ordem"];
  307 + $idmenu = $reg[0]["id_menu"];
  308 + $nivel = $reg[0]["nivel"];
  309 + $idnivel = $reg[0]["id_nivel"];
  310 + $where = "id_menu = '$idmenu' and nivel = '$nivel' and id_nivel = '$idnivel' ";
  311 + $posfixo = "raiz";
  312 + $tabela = "raiz";
  313 + }
  314 +
  315 + if($tipo == "grupo")
  316 + {
  317 + //pega a ordem atual
  318 + $reg = pegaDados("SELECT ordem,id_menu from i3geoadmin_n1 where id_n1 = '$id'");
  319 + $ordematual = $reg[0]["ordem"];
  320 + $idbate = $reg[0]["id_menu"];
  321 + $colunaBate = "id_menu";
  322 + $where = "$colunaBate = '$idbase' ";
  323 + $posfixo = "n1";
  324 + $tabela = "n1";
  325 + }
  326 + if($tipo == "subgrupo")
  327 + {
  328 + //pega a ordem atual
  329 + $reg = pegaDados("SELECT ordem,id_n1 from i3geoadmin_n2 where id_n2 = '$id'");
  330 + $ordematual = $reg[0]["ordem"];
  331 + $idbate = $reg[0]["id_n1"];
  332 + $colunaBate = "id_n1";
  333 + $where = "$colunaBate = '$idbase' ";
  334 + $posfixo = "n2";
  335 + $tabela = "n2";
  336 + }
  337 + if($tipo == "tema")
  338 + {
  339 + //pega a ordem atual
  340 + $reg = pegaDados("SELECT ordem,id_n2 from i3geoadmin_n3 where id_n3 = '$id'");
  341 + $ordematual = $reg[0]["ordem"];
  342 + $idbate = $reg[0]["id_n2"];
  343 + $colunaBate = "id_n2";
  344 + $where = "$colunaBate = '$idbase' ";
  345 + $posfixo = "n3";
  346 + $tabela = "n3";
  347 + }
  348 + include("conexao.php");
  349 + if($movimento == "sobe")
  350 + {
  351 + if ($ordematual > 1)
  352 + {
  353 + $menos = $ordematual - 1;
  354 + $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem' = $ordematual where $where and ordem = '$menos'");
  355 + $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem' = $menos where id_$posfixo = '$id'");
  356 + }
  357 + }
  358 + if($movimento == "desce")
  359 + {
  360 + $mais = $ordematual + 1;
  361 + $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem' = $ordematual where $where and ordem = '$mais'");
  362 + $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem' = $mais where id_$posfixo = '$id'");
  363 + }
  364 + $dbhw = null;
  365 + $dbh = null;
  366 + return "ok";
  367 +}
186 368
187 ?> 369 ?>
188 \ No newline at end of file 370 \ No newline at end of file
admin/php/atlas.php
@@ -113,16 +113,20 @@ function movimentaNo() @@ -113,16 +113,20 @@ function movimentaNo()
113 if($tipo == "tema") 113 if($tipo == "tema")
114 { 114 {
115 //pega a ordem atual 115 //pega a ordem atual
116 - $ordematual = pegaDados("SELECT ordem_tema from i3geoadmin_atlast where id_tema = '$id'");  
117 - $ordematual = $ordematual[0]["ordem_tema"]; 116 + $reg = pegaDados("SELECT ordem_tema,id_prancha from i3geoadmin_atlast where id_tema = '$id'");
  117 + $ordematual = $reg[0]["ordem_tema"];
  118 + $prancha = $reg[0]["id_prancha"];
  119 + $where = " id_prancha = '$prancha' and";
118 $posfixo = "tema"; 120 $posfixo = "tema";
119 $tabela = "atlast"; 121 $tabela = "atlast";
120 } 122 }
121 if($tipo == "prancha") 123 if($tipo == "prancha")
122 { 124 {
123 //pega a ordem atual 125 //pega a ordem atual
124 - $ordematual = pegaDados("SELECT ordem_prancha from i3geoadmin_atlasp where id_prancha = '$id'");  
125 - $ordematual = $ordematual[0]["ordem_prancha"]; 126 + $reg = pegaDados("SELECT ordem_prancha,id_atlas from i3geoadmin_atlasp where id_prancha = '$id'");
  127 + $ordematual = $reg[0]["ordem_prancha"];
  128 + $atlas = $reg[0]["id_atlas"];
  129 + $where = "id_atlas = '$atlas' and ";
126 $posfixo = "prancha"; 130 $posfixo = "prancha";
127 $tabela = "atlasp"; 131 $tabela = "atlasp";
128 } 132 }
@@ -131,6 +135,7 @@ function movimentaNo() @@ -131,6 +135,7 @@ function movimentaNo()
131 //pega a ordem atual 135 //pega a ordem atual
132 $ordematual = pegaDados("SELECT ordem_atlas from i3geoadmin_atlas where id_atlas = '$id'"); 136 $ordematual = pegaDados("SELECT ordem_atlas from i3geoadmin_atlas where id_atlas = '$id'");
133 $ordematual = $ordematual[0]["ordem_atlas"]; 137 $ordematual = $ordematual[0]["ordem_atlas"];
  138 + $where = "";
134 $posfixo = "atlas"; 139 $posfixo = "atlas";
135 $tabela = "atlas"; 140 $tabela = "atlas";
136 } 141 }
@@ -138,16 +143,14 @@ function movimentaNo() @@ -138,16 +143,14 @@ function movimentaNo()
138 if($movimento == "sobe") 143 if($movimento == "sobe")
139 { 144 {
140 $menos = $ordematual - 1; 145 $menos = $ordematual - 1;
141 - $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem_$posfixo' = $ordematual where ordem_$posfixo = '$menos'"); 146 + $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem_$posfixo' = $ordematual where $where ordem_$posfixo = '$menos'");
142 $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem_$posfixo' = $menos where id_$posfixo = '$id'"); 147 $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem_$posfixo' = $menos where id_$posfixo = '$id'");
143 - $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem_$posfixo' = (ordem_$posfixo - 1) where ordem_$posfixo < $menos and ordem_$posfixo > 1");  
144 } 148 }
145 if($movimento == "desce") 149 if($movimento == "desce")
146 { 150 {
147 $mais = $ordematual + 1; 151 $mais = $ordematual + 1;
148 - $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem_$posfixo' = $ordematual where ordem_$posfixo = '$mais'"); 152 + $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem_$posfixo' = $ordematual where $where ordem_$posfixo = '$mais'");
149 $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem_$posfixo' = $mais where id_$posfixo = '$id'"); 153 $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem_$posfixo' = $mais where id_$posfixo = '$id'");
150 - $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem_$posfixo' = (ordem_$posfixo + 1) where ordem_$posfixo > $mais and ordem_$posfixo > 1");  
151 } 154 }
152 $dbhw = null; 155 $dbhw = null;
153 $dbh = null; 156 $dbh = null;
@@ -193,7 +196,10 @@ function alterarAtlas() @@ -193,7 +196,10 @@ function alterarAtlas()
193 } 196 }
194 else 197 else
195 { 198 {
196 - $dbhw->query("INSERT INTO i3geoadmin_atlas (publicado_atlas,ordem_atlas,basemapfile_atlas,desc_atlas,h_atlas,w_atlas,icone_atlas,link_atlas,pranchadefault_atlas,template_atlas,tipoguias_atlas,titulo_atlas) VALUES ('',1,'','',null,null,'','','','','','')"); 199 + $o = $dbhw->query("SELECT MAX(ordem_atlas) as o FROM i3geoadmin_atlas");
  200 + $o = $o->fetchAll();
  201 + $o = $o[0]['o'] + 1;
  202 + $dbhw->query("INSERT INTO i3geoadmin_atlas (publicado_atlas,ordem_atlas,basemapfile_atlas,desc_atlas,h_atlas,w_atlas,icone_atlas,link_atlas,pranchadefault_atlas,template_atlas,tipoguias_atlas,titulo_atlas) VALUES ('',$o,'','',null,null,'','','','','','')");
197 $id = $dbhw->query("SELECT id_atlas FROM i3geoadmin_atlas"); 203 $id = $dbhw->query("SELECT id_atlas FROM i3geoadmin_atlas");
198 $id = $id->fetchAll(); 204 $id = $id->fetchAll();
199 $id = intval($id[count($id)-1]['id_atlas']); 205 $id = intval($id[count($id)-1]['id_atlas']);
@@ -223,7 +229,11 @@ function alterarPrancha() @@ -223,7 +229,11 @@ function alterarPrancha()
223 } 229 }
224 else 230 else
225 { 231 {
226 - $dbhw->query("INSERT INTO i3geoadmin_atlasp (ordem_prancha,mapext_prancha,desc_prancha,h_prancha,w_prancha,icone_prancha,link_prancha,titulo_prancha,id_atlas) VALUES (1,'','','$h_prancha','$w_prancha','','','$titulo_prancha','$id_atlas')"); 232 + $o = $dbhw->query("SELECT MAX(ordem_prancha) as o FROM i3geoadmin_atlasp WHERE id_atlas = '$id_atlas'");
  233 + $o = $o->fetchAll();
  234 + $o = $o[0]['o'] + 1;
  235 +
  236 + $dbhw->query("INSERT INTO i3geoadmin_atlasp (ordem_prancha,mapext_prancha,desc_prancha,h_prancha,w_prancha,icone_prancha,link_prancha,titulo_prancha,id_atlas) VALUES ($o,'','','$h_prancha','$w_prancha','','','$titulo_prancha','$id_atlas')");
227 $id = $dbhw->query("SELECT id_prancha FROM i3geoadmin_atlasp"); 237 $id = $dbhw->query("SELECT id_prancha FROM i3geoadmin_atlasp");
228 $id = $id->fetchAll(); 238 $id = $id->fetchAll();
229 $id = intval($id[count($id)-1]['id_prancha']); 239 $id = intval($id[count($id)-1]['id_prancha']);
@@ -251,7 +261,11 @@ function alterarTema() @@ -251,7 +261,11 @@ function alterarTema()
251 } 261 }
252 else 262 else
253 { 263 {
254 - $dbhw->query("INSERT INTO i3geoadmin_atlast (ordem_tema,codigo_tema,ligado_tema,id_prancha) VALUES (1,'','','$id_prancha')"); 264 + $o = $dbhw->query("SELECT MAX(ordem_tema) as o FROM i3geoadmin_atlast where id_prancha = '$id_prancha'");
  265 + $o = $o->fetchAll();
  266 + $o = $o[0]['o'] + 1;
  267 +
  268 + $dbhw->query("INSERT INTO i3geoadmin_atlast (ordem_tema,codigo_tema,ligado_tema,id_prancha) VALUES ($o,'','','$id_prancha')");
255 $id = $dbhw->query("SELECT id_tema FROM i3geoadmin_atlast"); 269 $id = $dbhw->query("SELECT id_tema FROM i3geoadmin_atlast");
256 $id = $id->fetchAll(); 270 $id = $id->fetchAll();
257 $id = intval($id[count($id)-1]['id_tema']); 271 $id = intval($id[count($id)-1]['id_tema']);
admin/php/menutemas.php
@@ -27,7 +27,7 @@ File: i3geo/admin/mapfiles.php @@ -27,7 +27,7 @@ File: i3geo/admin/mapfiles.php
27 19/6/2007 27 19/6/2007
28 28
29 */ 29 */
30 -error_reporting(E_ALL); 30 +error_reporting(0);
31 include_once("admin.php"); 31 include_once("admin.php");
32 $cp = new cpaint(); 32 $cp = new cpaint();
33 //faz a busca da função que deve ser executada 33 //faz a busca da função que deve ser executada
admin/php/parsemapfile.php
@@ -104,6 +104,7 @@ function legendaSimples($layername) @@ -104,6 +104,7 @@ function legendaSimples($layername)
104 $xml .= "<property key='m_symbolType' value='4'/>\n"; 104 $xml .= "<property key='m_symbolType' value='4'/>\n";
105 $xml .= "<property key='m_Style' value='1'/>\n"; 105 $xml .= "<property key='m_Style' value='1'/>\n";
106 $xml .= "<property key='m_useOutline' value='true'/>\n"; 106 $xml .= "<property key='m_useOutline' value='true'/>\n";
  107 + if($cor->red != -1)
107 $xml .= "<property key='m_Color' value='".$cor->red.",".$cor->green.",".$cor->blue.",255'/>\n"; 108 $xml .= "<property key='m_Color' value='".$cor->red.",".$cor->green.",".$cor->blue.",255'/>\n";
108 if($outcor->red != -1) 109 if($outcor->red != -1)
109 $xml .= "<property key='m_outlineColor' value='".$outcor->red.",".$outcor->green.",".$outcor->blue.",255'/>\n"; 110 $xml .= "<property key='m_outlineColor' value='".$outcor->red.",".$outcor->green.",".$outcor->blue.",255'/>\n";