Commit ecbcffdba9ed477f775cd423b6e7e2341b181614

Authored by Edmar Moretti
1 parent eec120c0

--no commit message

admin/html/i3geoadmin_tags.html
@@ -1,35 +0,0 @@ @@ -1,35 +0,0 @@
1 -<html>  
2 -<head>  
3 -<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">  
4 -<link rel="stylesheet" type="text/css" href="admin.css">  
5 -<script src="../../pacotes/cpaint/cpaint2.inc.compressed.js" type="text/javascript"></script>  
6 -<script src="../js/admin.js" type="text/javascript"></script>  
7 -<script src="../js/menutemas.js" type="text/javascript"></script>  
8 -  
9 -</head>  
10 -<body>  
11 -<div style=width:80%;text-align:center;>  
12 -<h1>Administração do i3geo - menu de temas <img src="../imagens/04.png" style="cursor:pointer" onclick="$i('ajuda').style.display='block'"/></h1>  
13 -<p><a href="../index.html">Voltar</a></p>  
14 -<div id=ajuda style="display:none">  
15 -<p>Este programa permite editar a lista de tags (palavras-chave)</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 -</div></div>  
20 -<div id=aguarde style="color:red" ><img src="../../imagens/aguarde.gif" /></div>  
21 -</body>  
22 -<script>  
23 -/*  
24 -Title: Administração da lista de menus do menu de temas  
25 -  
26 -File: i3geo/admin/i3geoadmin_tags.htm  
27 -*/  
28 -$parametros = {  
29 - "simples": [  
30 - { mensagem: "Adicione, altere ou elimine tags cadastrados",cabeca: "Tags",variavel:"tags"}  
31 - ]};  
32 -iniciaAdmin()  
33 -document.getElementById("aguarde").style.display="none"  
34 -</script>  
35 -</html>  
36 \ No newline at end of file 0 \ No newline at end of file
admin/html/mapas.html
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
1 <html> 2 <html>
2 <head> 3 <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/mapas.js" type="text/javascript"></script> 4 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  5 + <title>Mapas</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/mapas.js"></script>
8 </head> 19 </head>
9 -<body> 20 +<body class=" yui-skin-sam">
  21 +<div style="margin:20px">
10 <div style=width:80%;text-align:center;> 22 <div style=width:80%;text-align:center;>
11 -<h1>Administração do i3geo - mapas <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 a lista de mapas</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>Parâmetros:</p>  
20 -<p>Extensão: extensão geográfica no formato xmin ymin xmax ymax</p>  
21 -<p>Imagem: link para a imagem miniatura</p>  
22 -<p>Direto: link direto com todos os parâmetros de abertura do mapa. Se for usado, os outros parâmetros são desconsiderados</p>  
23 -<p>Outros: outros parâmetros que podem ser utilizados pelo ms_criamapa.php. São encadeados no final da URL de montagem do mapa.</p>  
24 -<p>Temas: códigos dos temas que serão mostrados no mapa</p>  
25 -<p>Ligados: códigos dos temas que estarão ligados no mapa (visíveis). Os códigos devem constar no item Temas</p>  
26 -<p>Perfil: lista de perfis de usuários que podem ver o mapa. Separe com vírgulas</p>  
27 -</div></div>  
28 -<div id=aguarde style="color:red" ><img src="../../imagens/aguarde.gif" /></div>  
29 -</body>  
30 -<script>  
31 -/*  
32 -Title: Administração da lista de mapas  
33 -  
34 -File: i3geo/admin/mapas.htm  
35 -*/  
36 -function iniciaM(retorno)  
37 -{  
38 - iniciaAdmin()  
39 - document.getElementById("aguarde").style.display="none"  
40 -}  
41 -temas = function(retorno){$temas = retorno.data;pegaPerfis()}  
42 -listaPerfis = function(retorno){$perfis = retorno.data;iniciaM()}  
43 -function pegaTemas()  
44 -{  
45 - var cp = new cpaint();  
46 - //cp.set_async("false");  
47 - cp.set_response_type("JSON");  
48 - var p = "../php/menutemas.php?funcao=pegaTemas";  
49 - cp.call(p,"pegaTemas",temas);  
50 -}  
51 -function pegaPerfis()  
52 -{  
53 - var cp = new cpaint();  
54 - //cp.set_async("false");  
55 - cp.set_response_type("JSON");  
56 - var p = "../php/menutemas.php?funcao=pegaPerfis";  
57 - cp.call(p,"pegaPerfis",listaPerfis);  
58 -}  
59 -pegaTemas() 23 +<h1>Administração do i3geo - mapas <img src="../imagens/04.png" style="cursor:pointer" id=botaoAjuda /></h1>
60 24
61 -</script>  
62 -</html>  
63 \ No newline at end of file 25 \ No newline at end of file
  26 +</div>
  27 +<div id="ajuda">
  28 + <div class="hd">Ajuda</div>
  29 + <div class="bd" style="height:144px;overflow:auto">
  30 + Este programa permite editar a lista de mapas.<br><br>
  31 + Os mapas nada mais são que links especiais com definições de parâmetros
  32 + para a abertura do i3geo. Os links permitem definir os temas que serão mostrados,
  33 + a extensão geográfica, interface, etc. Normalmente, a lista de mapas é mostrada
  34 + na guia "mapas" do i3geo.<br><br>
  35 + A lista de mapas é baseada no banco admin.db.<br><br>
  36 + A lista de IPs dos usuários que podem administrar o i3geo é definida no
  37 + arquivo i3geo/ms_configura.php
  38 + </div>
  39 + <div class="ft"></div>
  40 +</div>
  41 +<input onclick="adicionaLinha()" type=button id=adiciona value="Adicionar um novo mapa" />
  42 +<br>
  43 +<p>Mapas existentes:</p>
  44 +<div id="tabela" style="left:-5px;"></div>
  45 +</div>
  46 +<div id=logajax style="display:block" ></div>
  47 +</body>
admin/html/tags.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>Tags</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/tags.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 - tags <img src="../imagens/04.png" style="cursor:pointer" id=botaoAjuda /></h1>
  24 +
  25 +</div>
  26 +<div id="ajuda">
  27 + <div class="hd">Ajuda</div>
  28 + <div class="bd" style="height:144px;overflow:auto">
  29 + Este programa permite editar a lista de tags.<br><br>
  30 + Tags são como palavras-chave que podem ser adicionadas aos temas para a realização de buscas.<br><br>
  31 + A lista de tags é baseada no banco admin.db.<br><br>
  32 + A lista de IPs dos usuários que podem administrar o i3geo é definida no
  33 + arquivo i3geo/ms_configura.php
  34 + </div>
  35 + <div class="ft"></div>
  36 +</div>
  37 +<input onclick="adicionaLinha()" type=button id=adiciona value="Adicionar um novo tag" />
  38 +<br>
  39 +<p>Tags existentes: (clique na célula para editar e salve a linha editada)</p>
  40 +<div id="tabela" style="left:-5px;"></div>
  41 +</div>
  42 +<div id=logajax style="display:block" ></div>
  43 +</body>
admin/index.html
@@ -84,7 +84,7 @@ que por sua vez contém temas.&lt;/p&gt; @@ -84,7 +84,7 @@ que por sua vez contém temas.&lt;/p&gt;
84 <table class=lista1 > 84 <table class=lista1 >
85 <tr onclick="ajuda('a2',this)"><td><div class=ajuda ></div></td><td>Ajuda</td></tr> 85 <tr onclick="ajuda('a2',this)"><td><div class=ajuda ></div></td><td>Ajuda</td></tr>
86 <tr onclick="abre('html/perfis.html')"><td><div class=aplicar ></div></td><td>Editar a lista de perfis</td></tr> 86 <tr onclick="abre('html/perfis.html')"><td><div class=aplicar ></div></td><td>Editar a lista de perfis</td></tr>
87 -<tr onclick="abre('html/i3geoadmin_tags.html')"><td><div class=aplicar ></div></td><td>Editar a lista de tags (palavras-chave)</td></tr> 87 +<tr onclick="abre('html/tags.html')"><td><div class=aplicar ></div></td><td>Editar a lista de tags (palavras-chave)</td></tr>
88 <tr onclick="abre('html/menus.html')"><td><div class=aplicar ></div></td><td>Editar a lista de menus</td></tr> 88 <tr onclick="abre('html/menus.html')"><td><div class=aplicar ></div></td><td>Editar a lista de menus</td></tr>
89 <tr onclick="abre('html/grupos.html')"><td><div class=aplicar ></div></td><td>Editar a lista de grupos</td></tr> 89 <tr onclick="abre('html/grupos.html')"><td><div class=aplicar ></div></td><td>Editar a lista de grupos</td></tr>
90 <tr onclick="abre('html/subgrupos.html')"><td><div class=aplicar ></div></td><td>Editar a lista de sub-grupos</td></tr> 90 <tr onclick="abre('html/subgrupos.html')"><td><div class=aplicar ></div></td><td>Editar a lista de sub-grupos</td></tr>
admin/js/core.js
@@ -54,7 +54,12 @@ Variable: $tags @@ -54,7 +54,12 @@ Variable: $tags
54 Armazena o objeto com a lista de tags 54 Armazena o objeto com a lista de tags
55 */ 55 */
56 var $tags = ""; 56 var $tags = "";
  57 +/*
  58 +Variable: $perfis
57 59
  60 +Armazena o objeto com a lista de perfis
  61 +*/
  62 +var $perfis = "";
58 /* 63 /*
59 Function: core_handleSuccess 64 Function: core_handleSuccess
60 65
@@ -296,22 +301,62 @@ onde - id do elemento que receberá o combo @@ -296,22 +301,62 @@ onde - id do elemento que receberá o combo
296 id - id do combo que será criado 301 id - id do combo que será criado
297 302
298 marcar - valor que será marcado como selecionado 303 marcar - valor que será marcado como selecionado
  304 +
  305 +funcao - string com o nome da função que será executada no evento onchange
299 */ 306 */
300 -function core_comboMapfiles(onde,id,marcar) 307 +function core_comboMapfiles(onde,id,marcar,funcao)
301 { 308 {
  309 + if(arguments.length == 3)
  310 + {var funcao = "";}
302 if($mapfiles == "") 311 if($mapfiles == "")
303 { 312 {
304 - core_pegaMapfiles("core_comboMapfiles('"+onde+"','"+id+"','"+marcar+"')") 313 + core_pegaMapfiles("core_comboMapfiles('"+onde+"','"+id+"','"+marcar+"','"+funcao+"')")
305 } 314 }
306 else 315 else
307 { 316 {
308 - ins = "<select id='"+id+"' >" 317 + if (funcao != "")
  318 + {var funcao = "onchange='"+funcao+"'";}
  319 + ins = "<select id='"+id+"' "+funcao+" >"
309 ins += core_comboObjeto($mapfiles,"","",marcar) 320 ins += core_comboObjeto($mapfiles,"","",marcar)
310 ins += "</select></p>" 321 ins += "</select></p>"
311 $i(onde).innerHTML = ins; 322 $i(onde).innerHTML = ins;
312 } 323 }
313 } 324 }
314 /* 325 /*
  326 +Function: core_comboPerfis
  327 +
  328 +Cria um combo para escolha de perfil
  329 +
  330 +Parameters:
  331 +
  332 +onde - id do elemento que receberá o combo
  333 +
  334 +id - id do combo que será criado
  335 +
  336 +marcar - valor que será marcado como selecionado
  337 +
  338 +funcao - string com o nome da função que será executada no evento onchange
  339 +*/
  340 +function core_comboPerfis(onde,id,marcar,funcao)
  341 +{
  342 + if(arguments.length == 3)
  343 + {var funcao = "";}
  344 + if($perfis == "")
  345 + {
  346 + core_pegaPerfis("core_comboPerfis('"+onde+"','"+id+"','"+marcar+"','"+funcao+"')")
  347 + }
  348 + else
  349 + {
  350 + if (funcao != "")
  351 + {var funcao = "onchange='"+funcao+"'";}
  352 + ins = "<select id='"+id+"' "+funcao+" >"
  353 + ins += core_comboObjeto($perfis,"perfil","perfil",marcar)
  354 + ins += "</select></p>"
  355 + $i(onde).innerHTML = ins;
  356 + }
  357 +}
  358 +
  359 +/*
315 function: core_pegaTags 360 function: core_pegaTags
316 361
317 Pega a lista de tags 362 Pega a lista de tags
admin/js/grupos.js
@@ -152,6 +152,8 @@ function gravaLinha(row) @@ -152,6 +152,8 @@ function gravaLinha(row)
152 { 152 {
153 success:function(o) 153 success:function(o)
154 { 154 {
  155 + var rec = myDataTable.getRecordSet().getRecord(row);
  156 + myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0])
155 core_carregando("desativa"); 157 core_carregando("desativa");
156 }, 158 },
157 failure:core_handleFailure, 159 failure:core_handleFailure,
admin/js/mapas.js
1 -/*  
2 -Title: Arvore  
3 -  
4 -Funções javascript utilizadas no sistema de administração do menu de mapas  
5 -  
6 -File: i3geo/admin/mapas.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 + ativaBotaoAdicionaMapa()
  5 + core_carregando("ativa");
  6 + core_ativaPainelAjuda("ajuda","botaoAjuda");
  7 + //core_pegaPerfis("pegaMapas()");
  8 + pegaMapas();
38 } 9 }
39 -function montaParametros() 10 +function ativaBotaoAdicionaMapa()
40 { 11 {
41 - if(!$i("resultado"))  
42 - {document.body.innerHTML += "<div id=resultado ></div>"}  
43 - listaMapas() 12 + var adicionalinha = function()
  13 + {
  14 + core_carregando("ativa");
  15 + core_carregando(" adicionando um novo registro");
  16 + var sUrl = "../php/mapas.php?funcao=alterarMapa";
  17 + var callback =
  18 + {
  19 + success:function(o)
  20 + {
  21 + try
  22 + {
  23 + myDataTable.addRow(YAHOO.lang.JSON.parse(o.responseText)[0],0);
  24 + core_carregando("desativa");
  25 + }
  26 + catch(e){core_handleFailure(e,o.responseText);}
  27 + },
  28 + failure:core_handleFailure,
  29 + argument: { foo:"foo", bar:"bar" }
  30 + };
  31 + core_makeRequest(sUrl,callback)
  32 + };
  33 + //cria o botão de adição de um novo menu
  34 + var adiciona = new YAHOO.widget.Button("adiciona",{ onclick: { fn: adicionalinha } });
44 } 35 }
45 -/*  
46 -Function: listaMapas  
47 -  
48 -Monta o html com os parametros e os divs que receberão os dados dos formulários.  
49 -  
50 -Para cada registro na variável $parameters, é montado um formulário.  
51 -*/  
52 -function listaMapas() 36 +function pegaMapas()
53 { 37 {
54 - $i("resultado").innerHTML = $mensagemAguarde  
55 - var ins = "<fieldset><legend>Mapas</legend>"  
56 - var comboMapas = function(retorno) 38 + core_carregando("buscando mapas...");
  39 + var sUrl = "../php/mapas.php?funcao=pegaMapas";
  40 + var callback =
57 { 41 {
58 - var d = retorno.data;  
59 - var nm = retorno.data.length  
60 - ins += "<p><table><tr><td><b>Selecione o mapa:</b></td><td></td></tr>"  
61 - ins += "<tr><td><input style=font-size:10px onclick='alterarMapa(\"\")' type=button value='Adicionar um novo mapa' /></td><td><select onchange='pegaDadosMapa(this.value)'>"  
62 - ins += "<option>---</option>"  
63 - for (i=0;i<nm;i++) 42 + success:function(o)
  43 + {
  44 + try
  45 + {montaTabela(YAHOO.lang.JSON.parse(o.responseText));}
  46 + catch(e){core_handleFailure(e,o.responseText);}
  47 + },
  48 + failure:core_handleFailure,
  49 + argument: { foo:"foo", bar:"bar" }
  50 + };
  51 + core_makeRequest(sUrl,callback)
  52 +}
  53 +function montaTabela(dados)
  54 +{
  55 + YAHOO.example.InlineCellEditing = new function()
  56 + {
  57 + // Custom formatter for "address" column to preserve line breaks
  58 + var formatTextoId = function(elCell, oRecord, oColumn, oData)
  59 + {
  60 + elCell.innerHTML = "<p>" + oData + "</p>";
  61 + };
  62 +
  63 + var formatMais = function(elCell, oRecord, oColumn)
  64 + {
  65 + elCell.innerHTML = "<div class=mais style='text-align:center' ></div>";
  66 + };
  67 + var formatExclui = function(elCell, oRecord, oColumn)
  68 + {
  69 + elCell.innerHTML = "<div class=excluir style='text-align:center' ></div>";
  70 + };
  71 + var myColumnDefs = [
  72 + {key:"excluir",label:"excluir",formatter:formatExclui},
  73 + {key:"mais",label:"mais",formatter:formatMais},
  74 + {label:"id",key:"id_mapa", formatter:formatTextoId},
  75 + {label:"nome",key:"nome_mapa", formatter:formatTextoId},
  76 + {label:"ordem",key:"ordem_mapa", formatter:formatTextoId}
  77 + ];
  78 + myDataSource = new YAHOO.util.DataSource(dados);
  79 + myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
  80 + myDataSource.responseSchema =
  81 + {
  82 + fields: ["id_mapa","nome_mapa","ordem_mapa"]
  83 + };
  84 + myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource);
  85 + // Set up editing flow
  86 + myDataTable.subscribe('cellClickEvent',function(ev)
64 { 87 {
65 - ins += "<option value='"+d[i].id_mapa+"'>"+d[i].nome_mapa+"</option>"  
66 - }  
67 - $i("resultado").innerHTML = ins+"</select></tr></table></p><p><div id='dadosMapa'></div></fieldset>"  
68 - }  
69 - var cp = new cpaint();  
70 - cp.set_response_type("JSON");  
71 - var p = "../php/mapas.php?funcao=pegaMapas";  
72 - cp.call(p,"pegaMapas",comboMapas); 88 + var target = YAHOO.util.Event.getTarget(ev);
  89 + var column = this.getColumn(target);
  90 + if (column.key == 'excluir')
  91 + {
  92 + var record = this.getRecord(target);
  93 + excluiLinha(record.getData('id_mapa'),target);
  94 + }
  95 + if (column.key == 'mais')
  96 + {
  97 + var record = this.getRecord(target);
  98 + core_carregando("ativa");
  99 + core_carregando("buscando dados...");
  100 + $clicouId = record.getData('id_mapa');
  101 + $recordid = record.getId();
  102 + var sUrl = "../php/mapas.php?funcao=pegaDadosMapa&id_mapa="+record.getData('id_mapa');
  103 + var callback =
  104 + {
  105 + success:function(o)
  106 + {
  107 + try
  108 + {
  109 + montaEditorMapa(YAHOO.lang.JSON.parse(o.responseText),$clicouId,$recordid);
  110 + }
  111 + catch(e){core_handleFailure(e,o.responseText);}
  112 + },
  113 + failure:core_handleFailure,
  114 + argument: { foo:"foo", bar:"bar" }
  115 + };
  116 + core_makeRequest(sUrl,callback)
  117 + }
  118 +
  119 + });
  120 + // Hook into custom event to customize save-flow of "radio" editor
  121 + myDataTable.subscribe("editorUpdateEvent", function(oArgs)
  122 + {
  123 + if(oArgs.editor.column.key === "active")
  124 + {
  125 + this.saveCellEditor();
  126 + }
  127 + });
  128 + myDataTable.subscribe("editorBlurEvent", function(oArgs)
  129 + {
  130 + this.cancelCellEditor();
  131 + });
  132 + };
  133 + core_carregando("desativa");
73 } 134 }
74 -function pegaDadosMapa(id_mapa) 135 +function montaEditorMapa(dados,id,recordid)
75 { 136 {
76 - $i("dadosMapa").innerHTML = $mensagemAguarde  
77 - var retorna = function(retorno) 137 + function on_editorCheckBoxChange(p_oEvent)
78 { 138 {
79 - var d = retorno.data.mapa[0]  
80 - var ins = "<table class=lista ><tr><td></td><td></td></tr>";  
81 - var param = {  
82 - "linhas":[  
83 - {titulo:"Nome",prefixoid:"nome_",id:"id_mapa",valor:"nome_mapa"},  
84 - {titulo:"Descrição",prefixoid:"desc_",id:"id_mapa",valor:"desc_mapa"},  
85 - {titulo:"Extensão",prefixoid:"ext_",id:"id_mapa",valor:"ext_mapa"},  
86 - {titulo:"Imagem",prefixoid:"imagem_",id:"id_mapa",valor:"imagem_mapa"},  
87 - {titulo:"Outros",prefixoid:"outros_",id:"id_mapa",valor:"outros_mapa"},  
88 - {titulo:"Direto",prefixoid:"linkdireto_",id:"id_mapa",valor:"linkdireto_mapa"},  
89 - {titulo:"Ordem",prefixoid:"ordem_",id:"id_mapa",valor:"ordem_mapa"}  
90 - ] 139 + var ins = "";
  140 + if(p_oEvent.newValue.get("value") == "OK")
  141 + {
  142 + gravaDadosMapa(id,recordid);
91 } 143 }
92 - ins += (geraLinhas(d,param,3));  
93 - ins += "<tr>"  
94 - ins += "<td>Temas: </td>"  
95 - ins += "<td><input size=30 onchange='this.style.color=\"blue\"' type=text id='temas_"+d.id_mapa+"' value='"+d.temas_mapa+"' /></td>"  
96 - ins += "<td><select onchange='adicionaTema(\""+d.id_mapa+"\",this.value)'>"  
97 - ins += comboObjeto($temas,"codigo_tema","nome_tema","")  
98 - ins += "</select>"  
99 - ins += "</td>"  
100 - ins += "</tr>"  
101 - ins += "<tr>"  
102 - ins += "<td>Perfis: </td>"  
103 - ins += "<td><input size=30 onchange='this.style.color=\"blue\"' type=text id='perfis_"+d.id_mapa+"' value='"+d.perfil_mapa+"' /></td>"  
104 - var idtemp = "perfis_"+d.id_mapa  
105 - ins += "<td><select onchange=\"registraPerfil('"+idtemp+"',this.value);this.style.color='blue'\" >"  
106 - ins += comboObjeto($perfis,"perfil","perfil","")  
107 - ins += "</select></td></tr>"  
108 - ins += "</select>"  
109 - ins += "</td>"  
110 - ins += "</tr>"  
111 - ins += "<tr>"  
112 - ins += "<td>Ligados: </td>"  
113 - ins += "<td><input size=30 onchange='this.style.color=\"blue\"' type=text id='ligados_"+d.id_mapa+"' value='"+d.ligados_mapa+"' /></td>"  
114 - ins += "</tr>"  
115 -  
116 - ins += "<tr>"  
117 - ins += "<td>Publicado: </td>"  
118 - ins += "<td><select onchange=this.style.color='blue' id='publicado_"+d.id_mapa+"' >"  
119 - ins += combosimnao(d.publicado_mapa)  
120 - ins += "</td></tr>"  
121 -  
122 - ins += "</table>"  
123 - ins += "<table><tr><td><div class=excluir title='Excluir' onclick='excluir(\""+d.id_mapa+"\")'/></td>"  
124 - ins += "<td><div class=aplicar title='Aplicar alterações' onclick='alterarMapa(\""+d.id_mapa+"\",\""+d.id_mapa+"\")'/></td>"  
125 - ins += "</tr></table>"  
126 - if(d.linkdireto_mapa != "")  
127 - {var l = d.linkdireto_mapa;}  
128 else 144 else
129 { 145 {
130 - var l = "../ms_criamapa.php?temasa="+d.temas_mapa+"&layers="+d.ligados_mapa  
131 - if (d.ext_mapa != "")  
132 - {l += "&mapext="+d.ext_mapa}  
133 - if (d.outros_mapa != "")  
134 - {l += "&"+d.outros_mapa} 146 + YAHOO.example.container.panelEditorMapa.destroy();
  147 + YAHOO.example.container.panelEditorMapa = null;
135 } 148 }
136 - ins += "<br>Testar: <a href='"+l+"' target=blank >"+l+"</a>"  
137 - if(d.imagem_mapa != "")  
138 - ins += "<br><img src='"+d.imagem_mapa+"' />"  
139 - ins += "</div></fieldset><br>"  
140 - if(!$i(d.id_mapa))  
141 - ins += "</div>"  
142 - $i("dadosMapa").innerHTML = ins 149 + };
  150 + if(!YAHOO.example.container.panelEditorMapa)
  151 + {
  152 + var novoel = document.createElement("div");
  153 + novoel.id = "janela_editor";
  154 + var ins = '<div class="hd">Editor</div>';
  155 + ins += "<div class='bd' style='height:354px;overflow:auto'>";
  156 + ins += "<div id='okcancel_checkbox'></div><div id='editor_bd'></div>";
  157 + novoel.innerHTML = ins;
  158 + document.body.appendChild(novoel);
  159 + var editorBotoes = new YAHOO.widget.ButtonGroup({id:"okcancel_checkbox_id", name: "okcancel_checkbox_id", container: "okcancel_checkbox" });
  160 + editorBotoes.addButtons([
  161 + { label: "Salva", value: "OK", checked: false},
  162 + { label: "Cancela", value: "CANCEL", checked: false }
  163 + ]);
  164 + editorBotoes.on("checkedButtonChange", on_editorCheckBoxChange);
  165 + YAHOO.example.container.panelEditorMapa = new YAHOO.widget.Panel("janela_editor", { fixedcenter:true,close:false,width:"400px", height:"400px",overflow:"auto", visible:false,constraintoviewport:true } );
  166 + YAHOO.example.container.panelEditorMapa.render();
143 } 167 }
144 - var cp = new cpaint();  
145 - cp.set_response_type("JSON");  
146 - var p = "../php/mapas.php?funcao=pegaDadosMapa&id_mapa="+id_mapa;  
147 - cp.call(p,"pegaDadosMapa",retorna); 168 + YAHOO.example.container.panelEditorMapa.show();
  169 + //carrega os dados na janela
  170 + $i("editor_bd").innerHTML = montaDivMapas(dados[0])
  171 + core_carregando("desativa");
  172 + //
  173 + //preenche a div com a lista de mapfiles e perfis
  174 + //
  175 + core_comboMapfiles("comboMapfiles","Etemas_mapa","",'registraMapfile(this.value,\"Etemas_mapa\")');
  176 + core_comboPerfis("comboPerfis","Eperfil_mapa","","registraPerfil(this.value)");
148 } 177 }
149 -function adicionaTema(id,codigo) 178 +function registraPerfil(valor)
150 { 179 {
151 - var valor = $i("temas_"+id).value  
152 - if(valor == "")  
153 - $i("temas_"+id).value = codigo 180 + var inp = $i("Eperfil_mapa")
  181 + var perfis = inp.value
  182 + if(perfis == "")
  183 + inp.value = valor
154 else 184 else
155 - $i("temas_"+id).value += " "+codigo 185 + inp.value = perfis+" "+valor
156 } 186 }
157 -function alterarMapa(id_mapa,onde) 187 +
  188 +function registraMapfile(valor,onde)
158 { 189 {
159 - var retorna = function(retorno)  
160 - {  
161 - if(id_mapa == "")  
162 - listaMapas(retorno);  
163 - else  
164 - {ins = "";pegaDadosMapa(id_mapa)}  
165 - }  
166 - if (id_mapa != "")  
167 - {  
168 - var nome = $i("nome_"+id_mapa).value  
169 - var desc = $i("desc_"+id_mapa).value  
170 - var ext = $i("ext_"+id_mapa).value  
171 - var imagem = $i("imagem_"+id_mapa).value  
172 - var outros = $i("outros_"+id_mapa).value  
173 - var linkdireto = $i("linkdireto_"+id_mapa).value  
174 - var temas = $i("temas_"+id_mapa).value  
175 - var ligados = $i("ligados_"+id_mapa).value  
176 - var perfil = $i("perfis_"+id_mapa).value  
177 - var ordem_mapa = $i("ordem_"+id_mapa).value  
178 - var publicado_mapa = $i("publicado_"+id_mapa).value  
179 - } 190 + var inp = $i(onde)
  191 + var temas = inp.value
  192 + if(temas == "")
  193 + inp.value = valor
180 else 194 else
181 - {  
182 - var nome = ""  
183 - var desc = ""  
184 - var ext = ""  
185 - var imagem = ""  
186 - var outros = ""  
187 - var linkdireto = ""  
188 - var temas = ""  
189 - var ligados = ""  
190 - var perfil = ""  
191 - var ordem_mapa = ""  
192 - var publicado_mapa = ""  
193 - var id_mapa = "";  
194 - var perfil = "";  
195 - var nome = prompt("Nome do novo Mapa","");  
196 - if (nome==null || nome=="") 195 + inp.value = temas+" "+valor
  196 +}
  197 +function montaDivMapas(i)
  198 +{
  199 + var ins = ""
  200 +
  201 + //ins += "<p>Mapfile (código do mapfile que será utilizado para criar a camada no i3geo):"
  202 + //ins += "<div id=comboMapfiles >Buscando...</div>";
  203 + ins += "<p>Ordem de apresentação do mapa:<br>";
  204 + ins += "<input size=10 type=text id=Eordem_mapa value='"+i.ordem_mapa+"' /></p>"
  205 +
  206 + ins += "<p>Nome do mapa:<br>";
  207 + ins += "<input size=50 type=text id=Enome_mapa value='"+i.nome_mapa+"' /></p>"
  208 +
  209 + ins += "<p>Publicado?<br>"
  210 + ins += "<select id='Epublicado_mapa' >"
  211 + ins += core_combosimnao(i.publicado_mapa)
  212 + ins += "</select></p>"
  213 +
  214 + ins += "<p>Descrição:<br>";
  215 + ins += "<input size=50 type=text id=Edesc_mapa value='"+i.desc_mapa+"' /></p>"
  216 +
  217 + ins += "<p>Extensão geográfica:<br>";
  218 + ins += "<input size=50 type=text id=Eext_mapa value='"+i.ext_mapa+"' /></p>"
  219 +
  220 + ins += "<p>URL da imagem miniatura:<br>";
  221 + ins += "<input size=50 type=text id=Eimagem_mapa value='"+i.imagem_mapa+"' /></p>"
  222 + ins += "<img src='"+i.imagem_mapa+"' />"
  223 +
  224 + ins += "<p>Temas que serão incluídos nesse mapa (utilize os códigos dos mapfiles mostrados na lista abaixo): </p>"
  225 + ins += "<input size=50 type=text id='Etemas_mapa' value='"+i.temas_mapa+"' /></p>"
  226 + ins += "<div id=comboMapfiles >Buscando...</div>";
  227 +
  228 + ins += "<p>Temas que serão ligados. Devem constar na lista de temas incluídos: </p>"
  229 + ins += "<input size=50 type=text id='Eligados_mapa' value='"+i.ligados_mapa+"' /></p>"
  230 + //ins += "<div id=comboMapfilesLigados >Buscando...</div>";
  231 +
  232 + ins += "<p>Perfis que podem ver este mapa: </p>"
  233 + ins += "<input size=50 type=text id='Eperfil_mapa' value='"+i.perfil_mapa+"' /></p>"
  234 + ins += "<div id=comboPerfis >Buscando...</div>";
  235 +
  236 + ins += "<p>Outros parâmetros (separe com '&'):<br>";
  237 + ins += "<input size=50 type=text id=Eoutros_mapa value='"+i.outros_mapa+"' /></p>"
  238 +
  239 + ins += "<p>Link direto para abertura do mapa (despreza os outros parâmetros):<br>";
  240 + ins += "<input size=50 type=text id=Elinkdireto_mapa value='"+i.linkdireto_mapa+"' /></p>"
  241 + return(ins)
  242 +}
  243 +function excluiLinha(id,row)
  244 +{
  245 + //dialogo
  246 + // Define various event handlers for Dialog
  247 + var handleYes = function() {
  248 + this.hide();
  249 + core_carregando("ativa");
  250 + core_carregando(" excluindo o registro do id= "+id);
  251 + var sUrl = "../php/mapas.php?funcao=excluirMapa&id="+id;
  252 + var callback =
197 { 253 {
198 - return;  
199 - }  
200 - }  
201 - var p = "../php/mapas.php?funcao=alterarMapa&publicado_mapa="+publicado_mapa+"&ordem_mapa="+ordem_mapa+"&id_mapa="+id_mapa+"&nome="+nome+"&desc="+desc+"&ext="+ext+"&imagem="+imagem+"&outros="+outros+"&linkdireto="+linkdireto+"&temas="+temas+"&ligados="+ligados+"&perfil="+perfil  
202 - cPaint.call(p,"",retorna); 254 + success:function(o)
  255 + {
  256 + try
  257 + {
  258 + if(YAHOO.lang.JSON.parse(o.responseText) == "erro")
  259 + {
  260 + core_carregando("<span style=color:red >Não foi possível excluir. Verifique se não existem elementos vinculados a este mapa</span>");
  261 + setTimeout("core_carregando('desativa')",3000)
  262 + }
  263 + else
  264 + {
  265 + myDataTable.deleteRow(row);
  266 + core_carregando("desativa");
  267 + }
  268 + }
  269 + catch(e){core_handleFailure(e,o.responseText);}
  270 + },
  271 + failure:core_handleFailure,
  272 + argument: { foo:"foo", bar:"bar" }
  273 + };
  274 + core_makeRequest(sUrl,callback)
  275 + };
  276 + var handleNo = function()
  277 + {
  278 + this.hide();
  279 + };
  280 + var mensagem = "Exclui o registro?";
  281 + var largura = "300"
  282 + core_dialogoContinua(handleYes,handleNo,mensagem,largura)
203 } 283 }
204 -function excluir(id) 284 +function gravaDadosMapa(id,recordid)
205 { 285 {
206 - if(confirm("Você realmente quer fazer isso?")) 286 + var campos = new Array("publicado","ordem","perfil","ligados","temas","desc","ext","imagem","linkdireto","nome","outros")
  287 + var par = ""
  288 + for (i=0;i<campos.length;i++)
207 { 289 {
208 - $i("resultado").innerHTML = $mensagemAguarde;  
209 - var retorna = function()  
210 - {  
211 - montaParametros()  
212 - }  
213 - var p = "../php/mapas.php?funcao=excluir&id="+id;  
214 - cPaint.call(p,"",retorna); 290 + par += "&"+campos[i]+"_mapa="+($i("E"+campos[i]+"_mapa").value)
215 } 291 }
  292 + par += "&id_mapa="+id
  293 + core_carregando("ativa");
  294 + core_carregando(" gravando o registro do id= "+id);
  295 + var sUrl = "../php/mapas.php?funcao=alterarMapa"+par;
  296 + var callback =
  297 + {
  298 + success:function(o)
  299 + {
  300 + try
  301 + {
  302 + if(YAHOO.lang.JSON.parse(o.responseText) == "erro")
  303 + {
  304 + core_carregando("<span style=color:red >Não foi possível excluir. Verifique se não existem víncilos com outros elementos</span>");
  305 + setTimeout("core_carregando('desativa')",3000)
  306 + }
  307 + else
  308 + {
  309 + var rec = myDataTable.getRecordSet().getRecord(recordid);
  310 + myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0])
  311 + core_carregando("desativa");
  312 + }
  313 + YAHOO.example.container.panelEditorMapa.destroy();
  314 + YAHOO.example.container.panelEditorMapa = null;
  315 + }
  316 + catch(e){core_handleFailure(e,o.responseText);}
  317 + },
  318 + failure:core_handleFailure,
  319 + argument: { foo:"foo", bar:"bar" }
  320 + };
  321 + core_makeRequest(sUrl,callback)
216 } 322 }
217 -function importarXmlMapas()  
218 -{  
219 - $i("resultado").innerHTML = $mensagemAguarde  
220 - var retorna = function(retorno)  
221 - {$i("resultado").innerHTML = retorno.data}  
222 - var p = "../php/mapas.php?funcao=importarXmlMapas&xml="+$i("arquivo").value;  
223 - cPaint.call(p,"",retorna);  
224 -}  
225 \ No newline at end of file 323 \ No newline at end of file
  324 +YAHOO.util.Event.addListener(window, "load", initMenu);
226 \ No newline at end of file 325 \ No newline at end of file
admin/js/menu.js
@@ -163,6 +163,8 @@ function gravaLinha(row) @@ -163,6 +163,8 @@ function gravaLinha(row)
163 { 163 {
164 success:function(o) 164 success:function(o)
165 { 165 {
  166 + var rec = myDataTable.getRecordSet().getRecord(row);
  167 + myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0])
166 core_carregando("desativa"); 168 core_carregando("desativa");
167 }, 169 },
168 failure:core_handleFailure, 170 failure:core_handleFailure,
admin/js/perfis.js
@@ -149,6 +149,8 @@ function gravaLinha(row) @@ -149,6 +149,8 @@ function gravaLinha(row)
149 { 149 {
150 success:function(o) 150 success:function(o)
151 { 151 {
  152 + var rec = myDataTable.getRecordSet().getRecord(row);
  153 + myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0])
152 core_carregando("desativa"); 154 core_carregando("desativa");
153 }, 155 },
154 failure:core_handleFailure, 156 failure:core_handleFailure,
admin/js/subgrupos.js
@@ -152,6 +152,8 @@ function gravaLinha(row) @@ -152,6 +152,8 @@ function gravaLinha(row)
152 { 152 {
153 success:function(o) 153 success:function(o)
154 { 154 {
  155 + var rec = myDataTable.getRecordSet().getRecord(row);
  156 + myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0])
155 core_carregando("desativa"); 157 core_carregando("desativa");
156 }, 158 },
157 failure:core_handleFailure, 159 failure:core_handleFailure,
admin/js/tags.js 0 → 100644
@@ -0,0 +1,202 @@ @@ -0,0 +1,202 @@
  1 +YAHOO.namespace("example.container");
  2 +function initMenu()
  3 +{
  4 + ativaBotaoAdicionaTag();
  5 + core_carregando("ativa");
  6 + core_ativaPainelAjuda("ajuda","botaoAjuda");
  7 + pegaTags();
  8 +}
  9 +function ativaBotaoAdicionaTag()
  10 +{
  11 + var adicionalinha = function()
  12 + {
  13 + core_carregando("ativa");
  14 + core_carregando(" adicionando um novo registro");
  15 + var sUrl = "../php/menutemas.php?funcao=alteraTags";
  16 + var callback =
  17 + {
  18 + success:function(o)
  19 + {
  20 + try
  21 + {
  22 + myDataTable.addRow(YAHOO.lang.JSON.parse(o.responseText)[0],0);
  23 + core_carregando("desativa");
  24 + }
  25 + catch(e){core_handleFailure(o,o.responseText);}
  26 + },
  27 + failure:core_handleFailure,
  28 + argument: { foo:"foo", bar:"bar" }
  29 + };
  30 + core_makeRequest(sUrl,callback)
  31 + };
  32 + //cria o botão de adição de um novo menu
  33 + var adiciona = new YAHOO.widget.Button("adiciona",{ onclick: { fn: adicionalinha } });
  34 +}
  35 +function pegaTags()
  36 +{
  37 + core_carregando("buscando tags...");
  38 + var sUrl = "../php/menutemas.php?funcao=pegaTags";
  39 + var callback =
  40 + {
  41 + success:function(o)
  42 + {
  43 + try
  44 + {montaTabela(YAHOO.lang.JSON.parse(o.responseText));}
  45 + catch(e){core_handleFailure(o,o.responseText);}
  46 + },
  47 + failure:core_handleFailure,
  48 + argument: { foo:"foo", bar:"bar" }
  49 + };
  50 + core_makeRequest(sUrl,callback)
  51 +}
  52 +function montaTabela(dados)
  53 +{
  54 + YAHOO.example.InlineCellEditing = new function()
  55 + {
  56 + // Custom formatter for "address" column to preserve line breaks
  57 + var formatTexto = function(elCell, oRecord, oColumn, oData)
  58 + {
  59 + elCell.innerHTML = "<p style=width:250px >" + oData + "</p>";
  60 + };
  61 + var formatTextoId = function(elCell, oRecord, oColumn, oData)
  62 + {
  63 + elCell.innerHTML = "<p style=width:20px >" + oData + "</p>";
  64 + };
  65 +
  66 + var formatSalva = function(elCell, oRecord, oColumn)
  67 + {
  68 + elCell.innerHTML = "<div class=aplicar style='text-align:center' onclick='gravaLinha(\""+oRecord._sId+"\")'></div>";
  69 + };
  70 + var formatExclui = function(elCell, oRecord, oColumn)
  71 + {
  72 + elCell.innerHTML = "<div class=excluir style='text-align:center' ></div>";
  73 + };
  74 + var myColumnDefs = [
  75 + {key:"excluir",label:"excluir",formatter:formatExclui},
  76 + {label:"salvar",formatter:formatSalva},
  77 + {label:"id",key:"id_tag", formatter:formatTextoId},
  78 + {label:"nome",resizeable:true,key:"nome", formatter:formatTexto, editor:"textbox"}
  79 + ];
  80 + myDataSource = new YAHOO.util.DataSource(dados);
  81 + myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
  82 + myDataSource.responseSchema =
  83 + {
  84 + fields: ["id_tag","nome"]
  85 + };
  86 + myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource);
  87 + // Set up editing flow
  88 + myDataTable.highlightEditableCell = function(oArgs)
  89 + {
  90 + var elCell = oArgs.target;
  91 + var column = myDataTable.getColumn(oArgs.target);
  92 + if(!YAHOO.lang.isNull(column.editor))
  93 + {
  94 + YAHOO.util.Dom.addClass(elCell,'yui-dt-highlighted');
  95 + }
  96 + };
  97 + myDataTable.unhighlightEditableCell = function(oArgs)
  98 + {
  99 + var elCell = oArgs.target;
  100 + if(elCell.style.cursor="pointer")
  101 + {
  102 + YAHOO.util.Dom.removeClass(elCell,'yui-dt-highlighted');
  103 + }
  104 + };
  105 + myDataTable.subscribe("cellMouseoverEvent", myDataTable.highlightEditableCell);
  106 + myDataTable.subscribe("cellMouseoutEvent", myDataTable.unhighlightEditableCell);
  107 + myDataTable.subscribe('cellClickEvent',function(ev)
  108 + {
  109 + var target = YAHOO.util.Event.getTarget(ev);
  110 + var column = this.getColumn(target);
  111 + if(YAHOO.example.container.panelCK)
  112 + {
  113 + YAHOO.example.container.panelCK.destroy();
  114 + YAHOO.example.container.panelCK = null;
  115 + }
  116 + if (column.key == 'excluir')
  117 + {
  118 + var record = this.getRecord(target);
  119 + excluiLinha(record.getData('id_tag'),target);
  120 + }
  121 + else
  122 + {this.onEventShowCellEditor(ev);}
  123 + });
  124 + // Hook into custom event to customize save-flow of "radio" editor
  125 + myDataTable.subscribe("editorUpdateEvent", function(oArgs)
  126 + {
  127 + if(oArgs.editor.column.key === "active")
  128 + {
  129 + this.saveCellEditor();
  130 +
  131 + }
  132 + });
  133 + myDataTable.subscribe("editorBlurEvent", function(oArgs)
  134 + {
  135 + this.cancelCellEditor();
  136 + });
  137 + };
  138 + core_carregando("desativa");
  139 +}
  140 +function gravaLinha(row)
  141 +{
  142 + var r = myDataTable.getRecordSet().getRecord(row);
  143 + var id_tag = r.getData("id_tag");
  144 + var nome = r.getData("nome");
  145 + core_carregando("ativa");
  146 + core_carregando(" gravando registro do id= "+id_tag);
  147 + var sUrl = "../php/menutemas.php?funcao=alteraTags&nome="+nome+"&id="+id_tag;
  148 + var callback =
  149 + {
  150 + success:function(o)
  151 + {
  152 + var rec = myDataTable.getRecordSet().getRecord(row);
  153 + myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0])
  154 + core_carregando("desativa");
  155 + },
  156 + failure:core_handleFailure,
  157 + argument: { foo:"foo", bar:"bar" }
  158 + };
  159 + core_makeRequest(sUrl,callback)
  160 +}
  161 +function excluiLinha(id,row)
  162 +{
  163 + //dialogo
  164 + // Define various event handlers for Dialog
  165 + var handleYes = function() {
  166 + this.hide();
  167 + core_carregando("ativa");
  168 + core_carregando(" excluindo o registro do id= "+id);
  169 + var sUrl = "../php/menutemas.php?funcao=excluirRegistro&id="+id+"&tabela=tags";
  170 + var callback =
  171 + {
  172 + success:function(o)
  173 + {
  174 + try
  175 + {
  176 + if(YAHOO.lang.JSON.parse(o.responseText) == "erro")
  177 + {
  178 + core_carregando("<span style=color:red >Não foi possível excluir. Verifique se não existem itens vinculados a este tag</span>");
  179 + setTimeout("core_carregando('desativa')",3000)
  180 + }
  181 + else
  182 + {
  183 + myDataTable.deleteRow(row);
  184 + core_carregando("desativa");
  185 + }
  186 + }
  187 + catch(e){core_handleFailure(o,o.responseText);}
  188 + },
  189 + failure:core_handleFailure,
  190 + argument: { foo:"foo", bar:"bar" }
  191 + };
  192 + core_makeRequest(sUrl,callback)
  193 + };
  194 + var handleNo = function()
  195 + {
  196 + this.hide();
  197 + };
  198 + var mensagem = "Exclui o registro?";
  199 + var largura = "300"
  200 + core_dialogoContinua(handleYes,handleNo,mensagem,largura)
  201 +}
  202 +YAHOO.util.Event.addListener(window, "load", initMenu);
0 \ No newline at end of file 203 \ No newline at end of file
admin/php/admin.php
@@ -79,6 +79,13 @@ if($funcao == &quot;limpar&quot;) @@ -79,6 +79,13 @@ if($funcao == &quot;limpar&quot;)
79 $dbh = null; 79 $dbh = null;
80 exit; 80 exit;
81 } 81 }
  82 +function retornaJSON($obj)
  83 +{
  84 + if(extension_loaded('zlib')){ob_start('ob_gzhandler');}
  85 + echo json_encode($obj);
  86 + if(extension_loaded('zlib')){ob_end_flush();}
  87 + exit;
  88 +}
82 function verificaDuplicados($sql,$dbh) 89 function verificaDuplicados($sql,$dbh)
83 { 90 {
84 $res = $dbh->query($sql,PDO::FETCH_ASSOC); 91 $res = $dbh->query($sql,PDO::FETCH_ASSOC);
admin/php/mapas.php
@@ -28,7 +28,6 @@ File: i3geo/admin/mapas.php @@ -28,7 +28,6 @@ File: i3geo/admin/mapas.php
28 28
29 */ 29 */
30 include_once("admin.php"); 30 include_once("admin.php");
31 -$cp = new cpaint();  
32 //faz a busca da função que deve ser executada 31 //faz a busca da função que deve ser executada
33 switch ($funcao) 32 switch ($funcao)
34 { 33 {
@@ -39,24 +38,26 @@ switch ($funcao) @@ -39,24 +38,26 @@ switch ($funcao)
39 break; 38 break;
40 39
41 case "pegaMapas": 40 case "pegaMapas":
42 - $cp->set_data(pegaDados('SELECT id_mapa,nome_mapa,publicado_mapa from i3geoadmin_mapas order by ordem_mapa'));  
43 - $cp->return_data(); 41 + retornaJSON(pegaDados('SELECT id_mapa,nome_mapa,ordem_mapa from i3geoadmin_mapas order by ordem_mapa'));
  42 + exit;
44 break; 43 break;
45 44
46 case "pegaDadosMapa": 45 case "pegaDadosMapa":
47 $dadosMapa = pegaDados('SELECT * from i3geoadmin_mapas where id_mapa ='.$id_mapa); 46 $dadosMapa = pegaDados('SELECT * from i3geoadmin_mapas where id_mapa ='.$id_mapa);
48 - $cp->set_data(array("mapa"=>$dadosMapa));  
49 - $cp->return_data(); 47 + retornaJSON($dadosMapa);
  48 + exit;
50 break; 49 break;
51 50
52 case "alterarMapa": 51 case "alterarMapa":
53 - $cp->set_data(alterarMapa());  
54 - $cp->return_data(); 52 + $novo = alterarMapa();
  53 + $sql = "SELECT * from i3geoadmin_mapas WHERE id_mapa = '".$novo."'";
  54 + retornaJSON(pegaDados($sql));
  55 + exit;
55 break; 56 break;
56 57
57 - case "excluir":  
58 - $cp->set_data(excluirMapa());  
59 - $cp->return_data(); 58 + case "excluirMapa":
  59 + retornaJSON(excluirMapa());
  60 + exit;
60 break; 61 break;
61 62
62 case "importarXmlMapas": 63 case "importarXmlMapas":
@@ -71,19 +72,29 @@ Altera o registro de um mapa @@ -71,19 +72,29 @@ Altera o registro de um mapa
71 */ 72 */
72 function alterarMapa() 73 function alterarMapa()
73 { 74 {
74 - global $publicado_mapa,$ordem_mapa,$id_mapa,$desc,$ext,$imagem,$outros,$nome,$linkdireto,$temas,$ligados,$perfil; 75 + global $publicado_mapa,$ordem_mapa,$id_mapa,$desc_mapa,$ext_mapa,$imagem_mapa,$outros_mapa,$nome_mapa,$linkdireto_mapa,$temas_mapa,$ligados_mapa,$perfil_mapa;
75 try 76 try
76 { 77 {
77 - $nome = mb_convert_encoding($nome,"UTF-8","ISO-8859-1");  
78 - $desc = mb_convert_encoding($desc,"UTF-8","ISO-8859-1"); 78 + //$nome = mb_convert_encoding($nome,"UTF-8","ISO-8859-1");
  79 + //$desc = mb_convert_encoding($desc,"UTF-8","ISO-8859-1");
79 require_once("conexao.php"); 80 require_once("conexao.php");
  81 + $retorna = "";
80 if($id_mapa != "") 82 if($id_mapa != "")
81 - $dbhw->query("UPDATE i3geoadmin_mapas SET publicado_mapa='$publicado_mapa',ordem_mapa='$ordem_mapa',desc_mapa = '$desc',ext_mapa = '$ext',imagem_mapa = '$imagem',outros_mapa = '$outros',nome_mapa = '$nome', linkdireto_mapa = '$linkdireto',temas_mapa = '$temas',ligados_mapa = '$ligados',perfil_mapa = '$perfil' WHERE id_mapa = $id_mapa"); 83 + {
  84 + $dbhw->query("UPDATE i3geoadmin_mapas SET publicado_mapa='$publicado_mapa',ordem_mapa='$ordem_mapa',desc_mapa = '$desc_mapa',ext_mapa = '$ext_mapa',imagem_mapa = '$imagem_mapa',outros_mapa = '$outros_mapa',nome_mapa = '$nome_mapa', linkdireto_mapa = '$linkdireto_mapa',temas_mapa = '$temas_mapa',ligados_mapa = '$ligados_mapa',perfil_mapa = '$perfil_mapa' WHERE id_mapa = $id_mapa");
  85 + $retorna = $id_mapa;
  86 + }
82 else 87 else
83 - $dbhw->query("INSERT INTO i3geoadmin_mapas (publicado_mapa,ordem_mapa,perfil_mapa,desc_mapa,ext_mapa,imagem_mapa,linkdireto_mapa,outros_mapa,temas_mapa,ligados_mapa,nome_mapa) VALUES ('','','','','','','','','','','$nome')"); 88 + {
  89 + $dbhw->query("INSERT INTO i3geoadmin_mapas (publicado_mapa,ordem_mapa,perfil_mapa,desc_mapa,ext_mapa,imagem_mapa,linkdireto_mapa,outros_mapa,temas_mapa,ligados_mapa,nome_mapa) VALUES ('','','','','','','','','','','')");
  90 + $id = $dbh->query("SELECT * FROM i3geoadmin_mapas");
  91 + $id = $id->fetchAll();
  92 + $id = intval($id[count($id)-1]['id_mapa']);
  93 + $retorna = $id;
  94 + }
84 $dbhw = null; 95 $dbhw = null;
85 $dbh = null; 96 $dbh = null;
86 - return "ok"; 97 + return $retorna;
87 } 98 }
88 catch (PDOException $e) 99 catch (PDOException $e)
89 { 100 {
admin/php/menutemas.php
@@ -47,6 +47,7 @@ switch ($funcao) @@ -47,6 +47,7 @@ switch ($funcao)
47 case "pegaMenus": 47 case "pegaMenus":
48 $dados = pegaDados('SELECT * from i3geoadmin_menus order by nome_menu'); 48 $dados = pegaDados('SELECT * from i3geoadmin_menus order by nome_menu');
49 retornaJSON($dados); 49 retornaJSON($dados);
  50 + exit;
50 break; 51 break;
51 52
52 case "pegaTags": 53 case "pegaTags":
@@ -115,8 +116,10 @@ switch ($funcao) @@ -115,8 +116,10 @@ switch ($funcao)
115 break; 116 break;
116 117
117 case "alteraTags": 118 case "alteraTags":
118 - $cp->set_data(alteraTags());  
119 - $cp->return_data(); 119 + $novo = alteraTags();
  120 + $sql = "SELECT * from i3geoadmin_tags WHERE id_tag = '".$novo."'";
  121 + retornaJSON(pegaDados($sql));
  122 + exit;
120 break; 123 break;
121 124
122 case "alteraPerfis": 125 case "alteraPerfis":
@@ -139,12 +142,15 @@ switch ($funcao) @@ -139,12 +142,15 @@ switch ($funcao)
139 } 142 }
140 } 143 }
141 if($tabela == "tags") 144 if($tabela == "tags")
142 - {excluiTagTemas($id);$tabela = "i3geoadmin_tags";$coluna = "id_tag";} 145 + {
  146 + $tabela = "i3geoadmin_tags";
  147 + $coluna = "id_tag";
  148 + excluiTagTemas($id);
  149 + }
143 if($tabela == "perfis") 150 if($tabela == "perfis")
144 { 151 {
145 $tabela = "i3geoadmin_perfis"; 152 $tabela = "i3geoadmin_perfis";
146 $coluna = "id_perfil"; 153 $coluna = "id_perfil";
147 - if($id != "")  
148 excluiPerfil($id); 154 excluiPerfil($id);
149 } 155 }
150 if($tabela == "subgrupos") 156 if($tabela == "subgrupos")
@@ -189,18 +195,13 @@ switch ($funcao) @@ -189,18 +195,13 @@ switch ($funcao)
189 exit; 195 exit;
190 break; 196 break;
191 } 197 }
192 -function retornaJSON($obj)  
193 -{  
194 - if(extension_loaded('zlib')){ob_start('ob_gzhandler');}  
195 - echo json_encode($obj);  
196 - if(extension_loaded('zlib')){ob_end_flush();}  
197 - exit;  
198 -}  
199 function excluiPerfil($id) 198 function excluiPerfil($id)
200 { 199 {
201 require_once("conexao.php"); 200 require_once("conexao.php");
202 foreach($dbh->query("select * from i3geoadmin_perfis where perfil = $id") as $row) 201 foreach($dbh->query("select * from i3geoadmin_perfis where perfil = $id") as $row)
203 {$perfil = $row["perfil"];} 202 {$perfil = $row["perfil"];}
  203 + if($perfil == "")
  204 + {return;}
204 $q = $dbh->query("select * from i3geoadmin_mapas"); 205 $q = $dbh->query("select * from i3geoadmin_mapas");
205 foreach($q as $row) 206 foreach($q as $row)
206 { 207 {
@@ -270,11 +271,14 @@ function excluiTagTemas($id) @@ -270,11 +271,14 @@ function excluiTagTemas($id)
270 require_once("conexao.php"); 271 require_once("conexao.php");
271 foreach($dbh->query("select * from i3geoadmin_tags where id_tag = $id") as $row) 272 foreach($dbh->query("select * from i3geoadmin_tags where id_tag = $id") as $row)
272 {$nometag = $row["nome"];} 273 {$nometag = $row["nome"];}
273 - foreach($dbh->query("select * from i3geoadmin_temas") as $row) 274 + if($nometag == ""){return;}
  275 + $q = $dbh->query("select * from i3geoadmin_temas");
  276 + foreach($q as $row)
274 { 277 {
275 - $ts = $row['tags_tema']; 278 + $t = $row['tags_tema'];
276 $i = $row['id_tema']; 279 $i = $row['id_tema'];
277 - $ts = str_replace($nometag,"",$ts); 280 + $ts = str_replace($nometag,"",$t);
  281 + if($t != $ts)
278 $dbhw->query("UPDATE i3geoadmin_temas SET tags_tema = '$ts' WHERE id_tema = $i"); 282 $dbhw->query("UPDATE i3geoadmin_temas SET tags_tema = '$ts' WHERE id_tema = $i");
279 } 283 }
280 } 284 }
@@ -385,7 +389,7 @@ function alteraMenus() @@ -385,7 +389,7 @@ function alteraMenus()
385 if($id != "") 389 if($id != "")
386 { 390 {
387 $dbhw->query("UPDATE i3geoadmin_menus SET publicado_menu = '$publicado_menu',aberto = '$aberto', nome_menu = '$nome', desc_menu = '$desc', perfil_menu = '$perfil' WHERE id_menu = $id"); 391 $dbhw->query("UPDATE i3geoadmin_menus SET publicado_menu = '$publicado_menu',aberto = '$aberto', nome_menu = '$nome', desc_menu = '$desc', perfil_menu = '$perfil' WHERE id_menu = $id");
388 - $retorna = "ok"; 392 + $retorna = $id;
389 } 393 }
390 else 394 else
391 { 395 {
@@ -493,7 +497,7 @@ function alteraPerfis() @@ -493,7 +497,7 @@ function alteraPerfis()
493 $dbhw->query("UPDATE i3geoadmin_sistemasf SET perfil_funcao = '$ts' WHERE id_funcao = $i"); 497 $dbhw->query("UPDATE i3geoadmin_sistemasf SET perfil_funcao = '$ts' WHERE id_funcao = $i");
494 } 498 }
495 } 499 }
496 - $retorna = "ok"; 500 + $retorna = $id;
497 } 501 }
498 else 502 else
499 { 503 {
@@ -520,29 +524,42 @@ function alteraTags() @@ -520,29 +524,42 @@ function alteraTags()
520 $dbh = ""; 524 $dbh = "";
521 //$nome = mb_convert_encoding($nome,"UTF-8","ISO-8859-1"); 525 //$nome = mb_convert_encoding($nome,"UTF-8","ISO-8859-1");
522 include("conexao.php"); 526 include("conexao.php");
  527 + $retorna = "";
523 if($id != "") 528 if($id != "")
524 { 529 {
525 if(!verificaDuplicados("select * from i3geoadmin_tags where nome = '$nome'",$dbh)) 530 if(!verificaDuplicados("select * from i3geoadmin_tags where nome = '$nome'",$dbh))
526 { 531 {
527 $original = ""; 532 $original = "";
528 - foreach($dbh->query("select * from i3geoadmin_tags where id_tag = $id") as $row) 533 + $q = $dbh->query("select * from i3geoadmin_tags where id_tag = $id");
  534 + foreach($q as $row)
529 {$original = $row["nome"];} 535 {$original = $row["nome"];}
530 $dbhw->query("UPDATE i3geoadmin_tags SET nome = '$nome' WHERE id_tag = $id"); 536 $dbhw->query("UPDATE i3geoadmin_tags SET nome = '$nome' WHERE id_tag = $id");
531 //exclui os registros do tag alterado nos temas 537 //exclui os registros do tag alterado nos temas
532 - foreach($dbh->query("select * from i3geoadmin_temas") as $row)  
533 - {  
534 - $ts = $row['tags_tema'];  
535 - $i = $row['id_tema'];  
536 - $ts = str_replace($original,$nome,$ts);  
537 - $dbhw->query("UPDATE i3geoadmin_temas SET tags_tema = '$ts' WHERE id_tema = $i");  
538 - } 538 + if($original != "")
  539 + {
  540 + $q = $dbh->query("select * from i3geoadmin_temas");
  541 + foreach($q as $row)
  542 + {
  543 + $ts = $row['tags_tema'];
  544 + $i = $row['id_tema'];
  545 + $ts = str_replace($original,$nome,$ts);
  546 + $dbhw->query("UPDATE i3geoadmin_temas SET tags_tema = '$ts' WHERE id_tema = $i");
  547 + }
  548 + }
539 } 549 }
  550 + $retorna = $id;
540 } 551 }
541 else 552 else
542 - $dbhw->query("INSERT INTO i3geoadmin_tags (nome) VALUES ('$nome')"); 553 + {
  554 + $dbhw->query("INSERT INTO i3geoadmin_tags (nome) VALUES ('$nome')");
  555 + $id = $dbh->query("SELECT * FROM i3geoadmin_tags");
  556 + $id = $id->fetchAll();
  557 + $id = intval($id[count($id)-1]['id_tag']);
  558 + $retorna = $id;
  559 + }
543 $dbhw = null; 560 $dbhw = null;
544 $dbh = null; 561 $dbh = null;
545 - return "ok"; 562 + return $retorna;
546 } 563 }
547 catch (PDOException $e) 564 catch (PDOException $e)
548 { 565 {
@@ -566,7 +583,7 @@ function alteraGrupos() @@ -566,7 +583,7 @@ function alteraGrupos()
566 if($id != "") 583 if($id != "")
567 { 584 {
568 $dbhw->query("UPDATE i3geoadmin_grupos SET nome_grupo = '$nome', desc_grupo = '$desc' WHERE id_grupo = $id"); 585 $dbhw->query("UPDATE i3geoadmin_grupos SET nome_grupo = '$nome', desc_grupo = '$desc' WHERE id_grupo = $id");
569 - $retorna = "ok"; 586 + $retorna = $id;
570 } 587 }
571 else 588 else
572 { 589 {
@@ -602,7 +619,7 @@ function alteraSubGrupos() @@ -602,7 +619,7 @@ function alteraSubGrupos()
602 if($id != "") 619 if($id != "")
603 { 620 {
604 $dbhw->query("UPDATE i3geoadmin_subgrupos SET nome_subgrupo = '$nome', desc_subgrupo = '$desc' WHERE id_subgrupo = $id"); 621 $dbhw->query("UPDATE i3geoadmin_subgrupos SET nome_subgrupo = '$nome', desc_subgrupo = '$desc' WHERE id_subgrupo = $id");
605 - $retorna = "ok"; 622 + $retorna = $id;
606 } 623 }
607 else 624 else
608 { 625 {
@@ -639,6 +656,7 @@ function alteraTemas() @@ -639,6 +656,7 @@ function alteraTemas()
639 if($id != "") 656 if($id != "")
640 { 657 {
641 $dbhw->query("UPDATE i3geoadmin_temas SET tags_tema='$tags', link_tema='$link', nome_tema ='$nome',desc_tema='$desc',codigo_tema='$codigo',tipoa_tema='$tipoa',download_tema='$download',ogc_tema='$ogc',kml_tema='$kml' WHERE id_tema = $id"); 658 $dbhw->query("UPDATE i3geoadmin_temas SET tags_tema='$tags', link_tema='$link', nome_tema ='$nome',desc_tema='$desc',codigo_tema='$codigo',tipoa_tema='$tipoa',download_tema='$download',ogc_tema='$ogc',kml_tema='$kml' WHERE id_tema = $id");
  659 + $retorna = $id;
642 } 660 }
643 else 661 else
644 { 662 {