Commit ecbcffdba9ed477f775cd423b6e7e2341b181614
1 parent
eec120c0
Exists in
master
and in
7 other branches
--no commit message
Showing
14 changed files
with
719 additions
and
337 deletions
Show diff stats
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> |
| @@ -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.</p> | @@ -84,7 +84,7 @@ que por sua vez contém temas.</p> | ||
| 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, |
| @@ -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 == "limpar") | @@ -79,6 +79,13 @@ if($funcao == "limpar") | ||
| 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 | { |