From 3cb0ebac66ddb27f7dfc3eee7f327f48d50592fa Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Mon, 6 Oct 2008 11:17:24 +0000 Subject: [PATCH] --- admin/html/admin.css | 14 ++++++++++++++ admin/imagens/33.png | Bin 0 -> 284 bytes admin/imagens/34.png | Bin 0 -> 269 bytes admin/js/atlas.js | 449 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ admin/js/core.js | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- admin/php/atlas.php | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------ 6 files changed, 663 insertions(+), 56 deletions(-) create mode 100644 admin/imagens/33.png create mode 100644 admin/imagens/34.png create mode 100644 admin/js/atlas.js diff --git a/admin/html/admin.css b/admin/html/admin.css index 54a2b23..f3e5879 100644 --- a/admin/html/admin.css +++ b/admin/html/admin.css @@ -57,6 +57,20 @@ input width: 20px; height: 20px; } +.sobe +{ + background-image:URL('../imagens/34.png'); + background-repeat: no-repeat; + background-position: 0px 0px; + cursor:pointer; +} +.desce +{ + background-image:URL('../imagens/35.png'); + background-repeat: no-repeat; + background-position: 0px 0px; + cursor:pointer; +} .mostrar { background-image:URL('../imagens/03.png'); diff --git a/admin/imagens/33.png b/admin/imagens/33.png new file mode 100644 index 0000000..ecf8572 Binary files /dev/null and b/admin/imagens/33.png differ diff --git a/admin/imagens/34.png b/admin/imagens/34.png new file mode 100644 index 0000000..2b93791 Binary files /dev/null and b/admin/imagens/34.png differ diff --git a/admin/js/atlas.js b/admin/js/atlas.js new file mode 100644 index 0000000..8aab5a5 --- /dev/null +++ b/admin/js/atlas.js @@ -0,0 +1,449 @@ +YAHOO.namespace("example.container"); +function initMenu() +{ + ativaBotaoAdicionaRaiz("../php/atlas.php?funcao=alterarAtlas","adiciona") + core_carregando("ativa"); + core_ativaPainelAjuda("ajuda","botaoAjuda"); + core_pegaPerfis("pegaAtlas()"); +} +function ativaBotaoAdicionaRaiz(sUrl,idBotao) +{ + var adiciona = function() + { + core_carregando("ativa"); + core_carregando(" adicionando um novo registro"); + var callback = + { + success:function(o) + { + try + { + adicionaNosRaiz(YAHOO.lang.JSON.parse(o.responseText),true); + core_carregando("desativa"); + } + catch(e){core_handleFailure(e,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + core_makeRequest(sUrl,callback) + }; + //cria o botão de adição de um novo menu + var adiciona = new YAHOO.widget.Button(idBotao,{ onclick: { fn: adiciona } }); +} +function pegaAtlas() +{ + core_pegaDados("buscando atlas...","../php/atlas.php?funcao=pegaAtlas","montaArvore") +} +function montaArvore(dados) +{ + YAHOO.example.treeExample = new function() + { + var currentIconMode; + tree = ""; + function changeIconMode() + { + var newVal = parseInt(this.value); + if (newVal != currentIconMode) + {currentIconMode = newVal;} + buildTree(); + } + function loadNodeData(node, fnLoadComplete) + { + var sUrl = "../php/atlas.php?funcao=pegaPranchas&id_atlas="+node.data.id_atlas; + var callback = + { + success: function(oResponse) + { + var dados = YAHOO.lang.JSON.parse(oResponse.responseText) + adicionaNos(node,dados,false) + oResponse.argument.fnLoadComplete(); + }, + failure: function(oResponse) + { + oResponse.argument.fnLoadComplete(); + }, + argument: + { + "node": node, + "fnLoadComplete": fnLoadComplete + }, + timeout: 7000 + }; + YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); + } + function buildTree() + { + tree = new YAHOO.widget.TreeView("tabela"); + tree.setDynamicLoad(loadNodeData, currentIconMode); + var root = tree.getRoot(); + var tempNode = new YAHOO.widget.TextNode('', root, false); + tempNode.isLeaf = true; + core_carregando("desativa"); + } + buildTree(); + }(); + adicionaNosRaiz(dados) + tree.draw(); +} +function adicionaNosTemas(no,dados,redesenha) +{ + if(!redesenha) + { + var d = {html:"Temas:"} + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true); + tempNode.isLeaf = true; + } + for (var i=0, j=dados.length; i" + conteudo += " " + conteudo += " " + conteudo += "  "+dados[i].codigo_tema+"" + var d = {html:conteudo,id_tema:dados[i].id_tema,tipo:"tema"} + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true); + tempNode.isLeaf = true; + } + if(redesenha){tree.draw();} +} +function adicionaNos(no,dados,redesenha) +{ + function temaIconMode() + { + var newVal = parseInt(this.value); + if (newVal != currentIconMode) + {currentIconMode = newVal;} + } + function loadTemasData(node, fnLoadComplete) + { + var sUrl = "../php/atlas.php?funcao=pegaTemas&id_prancha="+node.data.id_prancha; + var callback = + { + success: function(oResponse) + { + var dados = YAHOO.lang.JSON.parse(oResponse.responseText) + adicionaNosTemas(node,dados,false) + oResponse.argument.fnLoadComplete(); + }, + failure: function(oResponse) + { + oResponse.argument.fnLoadComplete(); + }, + argument: + { + "node": node, + "fnLoadComplete": fnLoadComplete + }, + timeout: 7000 + }; + YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); + } + if(!redesenha) + { + var d = {html:"Pranchas:"} + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true); + tempNode.isLeaf = true; + } + for (var i=0, j=dados.length; i" + conteudo += " " + conteudo += " " + conteudo += "" + conteudo += "  "+dados[i].titulo_prancha+"" + var d = {html:conteudo,id_prancha:dados[i].id_prancha,tipo:"prancha"} + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true); + //tempNode.isLeaf = true; + tempNode.setDynamicLoad(loadTemasData, temaIconMode); + } + if(redesenha){tree.draw();} +} + +function adicionaNosRaiz(dados,redesenha) +{ + var root = tree.getRoot(); + for (var i=0, j=dados.length; i" + conteudo += " " + conteudo += " " + conteudo += " " + conteudo += "  "+dados[i].titulo_atlas+"" + var d = {html:conteudo,id_atlas:dados[i].id_atlas,tipo:"atlas"}; + var tempNode = new YAHOO.widget.HTMLNode(d, root, false,true); + } + if(redesenha){tree.draw();} +} +function editar(tipo,id) +{ + core_carregando("ativa"); + core_carregando(" buscando dados"); + var callback = + { + success:function(o) + { + try + { + if(tipo == "atlas") + { + var dados = YAHOO.lang.JSON.parse(o.responseText)[0]; + core_montaEditor("gravaDados('atlas','"+id+"')") + $i("editor_bd").innerHTML = montaDivAtlas(dados) + core_carregando("desativa"); + core_comboPranchas("comboPranchaIni","Epranchadefault_atlas",dados.pranchadefault_atlas,"",id) + } + if(tipo == "prancha") + { + var dados = YAHOO.lang.JSON.parse(o.responseText)[0]; + core_montaEditor("gravaDados('prancha','"+id+"')") + $i("editor_bd").innerHTML = montaDivPrancha(dados) + core_carregando("desativa"); + } + if(tipo == "tema") + { + var dados = YAHOO.lang.JSON.parse(o.responseText)[0]; + core_montaEditor("gravaDados('tema','"+id+"')") + $i("editor_bd").innerHTML = montaDivTema(dados) + core_carregando("desativa"); + core_comboMapfiles("comboTemaIni","Ecodigo_tema",dados.codigo_tema,"",id) + } + core_carregando("desativa"); + } + catch(e){core_handleFailure(e,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + if(tipo == "atlas") + {var sUrl = "../php/atlas.php?funcao=pegaDadosAtlas&id_atlas="+id;} + if(tipo == "prancha") + {var sUrl = "../php/atlas.php?funcao=pegaDadosPrancha&id_prancha="+id;} + if(tipo == "tema") + {var sUrl = "../php/atlas.php?funcao=pegaDadosTema&id_tema="+id;} + core_makeRequest(sUrl,callback) +} +function montaDivTema(i) +{ + var param = + { + "linhas":[ + {titulo:"Ordem de desenho:",id:"Eordem_tema",size:"5",value:i.ordem_tema,tipo:"text",div:""} + ] + } + var ins = "" + ins += "
Código do tema:
" + ins += "
" + + ins += core_geraLinhas(param) + ins += "Ligado (ao abrir a prancha, esse tema estará visível)?
" + ins += "" + return(ins) +} +function montaDivPrancha(i) +{ + var param = + { + "linhas":[ + {titulo:"Título:",id:"Etitulo_prancha",size:"50",value:i.titulo_prancha,tipo:"text",div:""}, + {titulo:"(opcional) Descrição:",id:"Edesc_prancha",size:"50",value:i.desc_prancha,tipo:"text",div:""}, + {titulo:"(opcional) Link para o texto que será mostrado na inicialização:",id:"Elink_prancha",size:"50",value:i.link_prancha,tipo:"text",div:""}, + {titulo:"Largura da janela do texto inicial:",id:"Ew_prancha",size:"5",value:i.w_prancha,tipo:"text",div:""}, + {titulo:"Altura:",id:"Eh_prancha",size:"5",value:i.h_prancha,tipo:"text",div:""}, + {titulo:"(opcional) Ícone que será utilizado na apresentação da prancha:",id:"Eicone_prancha",size:"50",value:i.icone_prancha,tipo:"text",div:""}, + {titulo:"Extensão geográfica:",id:"Emapext_prancha",size:"30",value:i.mapext_prancha,tipo:"text",div:""}, + {titulo:"Ordem de apresentação na lista de pranchas:",id:"Eordem_prancha",size:"5",value:i.ordem_prancha,tipo:"text",div:""} + ] + } + var ins = "" + ins += core_geraLinhas(param) + return(ins) +} +function montaDivAtlas(i) +{ + var param = + { + "linhas":[ + {titulo:"Título:",id:"Etitulo_atlas",size:"50",value:i.titulo_atlas,tipo:"text",div:""}, + {titulo:"(opcional) Descrição:",id:"Edesc_atlas",size:"50",value:i.desc_atlas,tipo:"text",div:""}, + {titulo:"(opcional) Link para o texto que será mostrado na inicialização do Atlas:",id:"Elink_atlas",size:"50",value:i.link_atlas,tipo:"text",div:""}, + {titulo:"Largura da janela do texto inicial:",id:"Ew_atlas",size:"5",value:i.w_atlas,tipo:"text",div:""}, + {titulo:"Altura:",id:"Eh_atlas",size:"5",value:i.h_atlas,tipo:"text",div:""}, + {titulo:"(opcional) Mapfile inicial (mapfile que será usado como base para montagem do mapa inicial. Se não for definido, será usado o default do i3geo. Utilize o endereço completo do aquivo mapfile no servidor.):",id:"Ebasemapfile_atlas",size:"50",value:i.basemapfile_atlas,tipo:"text",div:""}, + {titulo:"(opcional) Ícone que será utilizado na montagem da lista de todos os Atlas:",id:"Eicone_atlas",size:"50",value:i.icone_atlas,tipo:"text",div:""}, + {titulo:"(opcional) Template HTML (se não for especificado, será usado o default do i3geo. Utilize o caminho completo do arquivo html no servidor):",id:"Etemplate_atlas",size:"50",value:i.template_atlas,tipo:"text",div:""}, + {titulo:"Ordem de apresentação na lista de atlas:",id:"Eordem_atlas",size:"5",value:i.ordem_atlas,tipo:"text",div:""} + ] + } + var ins = "" + ins += core_geraLinhas(param) + ins += "Prancha inicial (será mostrada quando iniciar o atlas):
" + ins += "

" + ins += "Tipo da apresentação das guias:
" + ins += "" + ins += core_comboObjeto(valores,"id_prancha","titulo_prancha",marcar) + ins += "

" + $i(onde).innerHTML = ins; + } + catch(e){core_handleFailure(e,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + core_makeRequest(sUrl,callback) +} /* function: core_pegaTags diff --git a/admin/php/atlas.php b/admin/php/atlas.php index 1a88258..b4e129e 100644 --- a/admin/php/atlas.php +++ b/admin/php/atlas.php @@ -34,71 +34,125 @@ $cp = new cpaint(); switch ($funcao) { case "pegaAtlas": - retornaJSON(pegaDados('SELECT id_atlas,titulo_atlas from i3geoadmin_atlas order by ordem_atlas')); - exit; + retornaJSON(pegaDados('SELECT id_atlas,titulo_atlas from i3geoadmin_atlas order by ordem_atlas')); + exit; break; case "pegaPranchas": - retornaJSON(pegaDados("SELECT id_prancha,titulo_prancha from i3geoadmin_atlasp where id_atlas='$id_atlas' order by ordem_prancha")); - exit; + retornaJSON(pegaDados("SELECT id_prancha,titulo_prancha from i3geoadmin_atlasp where id_atlas='$id_atlas' order by ordem_prancha")); + exit; break; - case "alterarAtlas": - $novo = alterarAtlas(); - $sql = "SELECT * from i3geoadmin_atlas WHERE id_atlas = '".$novo."'"; - retornaJSON(pegaDados($sql)); - exit; + case "pegaTemas": + retornaJSON(pegaDados("SELECT * from i3geoadmin_atlast where id_prancha = '$id_prancha' order by ordem_tema")); + exit; break; - case "excluirAtlas": - $tabela = "i3geoadmin_atlas"; - $f = verificaFilhos(); - if(!$f) - retornaJSON(excluirAtlas()); - else - retornaJSON("erro"); - exit; + case "pegaDadosAtlas": + retornaJSON(pegaDados('SELECT * from i3geoadmin_atlas where id_atlas ='.$id_atlas)); + exit; break; - case "excluirPrancha": - $tabela = "i3geoadmin_atlasp"; - $f = verificaFilhos(); - if(!$f) - retornaJSON(excluirPrancha()); - else - retornaJSON("erro"); - exit; + case "pegaDadosPrancha": + retornaJSON(pegaDados('SELECT * from i3geoadmin_atlasp where id_prancha ='.$id_prancha)); + exit; break; - case "alterarPrancha": - $novo = alterarPrancha(); - $sql = "SELECT * from i3geoadmin_atlasp WHERE id_prancha = '".$novo."'"; - retornaJSON(pegaDados($sql)); + case "pegaDadosTema": + retornaJSON(pegaDados("SELECT * from i3geoadmin_atlast where id_tema = '$id_tema'")); + exit; break; - case "pegaTemas": - retornaJSON(pegaDados("SELECT * from i3geoadmin_atlast where id_prancha = '$id_prancha' order by ordem_tema")); - exit; + case "alterarAtlas": + $novo = alterarAtlas(); + $sql = "SELECT * from i3geoadmin_atlas WHERE id_atlas = '".$novo."'"; + retornaJSON(pegaDados($sql)); + exit; + break; + case "alterarPrancha": + $novo = alterarPrancha(); + $sql = "SELECT * from i3geoadmin_atlasp WHERE id_prancha = '".$novo."'"; + retornaJSON(pegaDados($sql)); + exit; break; case "alterarTema": - $novo = alterarTema(); - $sql = "SELECT * from i3geoadmin_atlast WHERE id_tema = '".$novo."'"; - retornaJSON(pegaDados($sql)); + $novo = alterarTema(); + $sql = "SELECT * from i3geoadmin_atlast WHERE id_tema = '".$novo."'"; + retornaJSON(pegaDados($sql)); break; - case "excluirTema": - retornaJSON(excluirTema()); - exit; + case "excluirAtlas": + $tabela = "i3geoadmin_atlas"; + $f = verificaFilhos(); + if(!$f) + retornaJSON(excluirAtlas()); + else + retornaJSON("erro"); + exit; break; - case "pegaDadosAtlas": - retornaJSON(pegaDados('SELECT * from i3geoadmin_atlas where id_atlas ='.$id_atlas)); - exit; + case "excluirPrancha": + $tabela = "i3geoadmin_atlasp"; + $f = verificaFilhos(); + if(!$f) + retornaJSON(excluirPrancha()); + else + retornaJSON("erro"); + exit; break; - - case "pegaDadosPranchas": - $dadosPrancha = pegaDados("SELECT * from i3geoadmin_atlasp where id_atlas ='$id_atlas' and id_prancha = '$id_prancha'"); - $cp->set_data(array("prancha"=>$dadosPrancha)); - $cp->return_data(); + case "excluirTema": + retornaJSON(excluirTema()); + exit; + break; + case "movimentaNo": + movimentaNo(); + retornaJSON("ok"); + exit; break; case "importarXmlAtlas": - $cp->set_data(importarXmlAtlas()); - $cp->return_data(); + $cp->set_data(importarXmlAtlas()); + $cp->return_data(); break; } +function movimentaNo() +{ + global $tipo,$movimento,$id; + if($tipo == "tema") + { + //pega a ordem atual + $ordematual = pegaDados("SELECT ordem_tema from i3geoadmin_atlast where id_tema = '$id'"); + $ordematual = $ordematual[0]["ordem_tema"]; + $posfixo = "tema"; + $tabela = "atlast"; + } + if($tipo == "prancha") + { + //pega a ordem atual + $ordematual = pegaDados("SELECT ordem_prancha from i3geoadmin_atlasp where id_prancha = '$id'"); + $ordematual = $ordematual[0]["ordem_prancha"]; + $posfixo = "prancha"; + $tabela = "atlasp"; + } + if($tipo == "atlas") + { + //pega a ordem atual + $ordematual = pegaDados("SELECT ordem_atlas from i3geoadmin_atlas where id_atlas = '$id'"); + $ordematual = $ordematual[0]["ordem_atlas"]; + $posfixo = "atlas"; + $tabela = "atlas"; + } + include("conexao.php"); + if($movimento == "sobe") + { + $menos = $ordematual - 1; + $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem_$posfixo' = $ordematual where ordem_$posfixo = '$menos'"); + $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem_$posfixo' = $menos where id_$posfixo = '$id'"); + $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem_$posfixo' = (ordem_$posfixo - 1) where ordem_$posfixo < $menos and ordem_$posfixo > 1"); + } + if($movimento == "desce") + { + $mais = $ordematual + 1; + $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem_$posfixo' = $ordematual where ordem_$posfixo = '$mais'"); + $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem_$posfixo' = $mais where id_$posfixo = '$id'"); + $dbhw->query("UPDATE i3geoadmin_$tabela SET 'ordem_$posfixo' = (ordem_$posfixo + 1) where ordem_$posfixo > $mais and ordem_$posfixo > 1"); + } + $dbhw = null; + $dbh = null; + return "ok"; +} function dadosAtlas() { global $id_atlas; @@ -139,11 +193,11 @@ function alterarAtlas() } else { - $dbhw->query("INSERT INTO i3geoadmin_atlas (publicado_atlas,ordem_atlas,basemapfile_atlas,desc_atlas,h_atlas,w_atlas,icone_atlas,link_atlas,pranchadefault_atlas,template_atlas,tipoguias_atlas,titulo_atlas) VALUES ('','','','',null,null,'','','','','','')"); + $dbhw->query("INSERT INTO i3geoadmin_atlas (publicado_atlas,ordem_atlas,basemapfile_atlas,desc_atlas,h_atlas,w_atlas,icone_atlas,link_atlas,pranchadefault_atlas,template_atlas,tipoguias_atlas,titulo_atlas) VALUES ('',1,'','',null,null,'','','','','','')"); $id = $dbhw->query("SELECT id_atlas FROM i3geoadmin_atlas"); $id = $id->fetchAll(); $id = intval($id[count($id)-1]['id_atlas']); - $retorna = $id; + $retorna = $id; } $dbhw = null; $dbh = null; @@ -164,12 +218,12 @@ function alterarPrancha() include("conexao.php"); if($id_prancha != "") { - $dbhw->query("UPDATE i3geoadmin_atlasp SET ordem_prancha='$ordem_prancha', mapext_prancha='$mapext_prancha',desc_prancha='$desc_prancha',h_prancha='$h_prancha',w_prancha='$w_prancha',icone_prancha='$icone_prancha',link_prancha='$link_prancha',titulo_prancha='$titulo_prancha' WHERE id_prancha = $id_prancha and id_atlas='$id_atlas'"); + $dbhw->query("UPDATE i3geoadmin_atlasp SET ordem_prancha='$ordem_prancha', mapext_prancha='$mapext_prancha',desc_prancha='$desc_prancha',h_prancha='$h_prancha',w_prancha='$w_prancha',icone_prancha='$icone_prancha',link_prancha='$link_prancha',titulo_prancha='$titulo_prancha' WHERE id_prancha = '$id_prancha'"); $retorna = $id_prancha; } else { - $dbhw->query("INSERT INTO i3geoadmin_atlasp (ordem_prancha,mapext_prancha,desc_prancha,h_prancha,w_prancha,icone_prancha,link_prancha,titulo_prancha,id_atlas) VALUES ('','','','$h_prancha','$w_prancha','','','$titulo_prancha','$id_atlas')"); + $dbhw->query("INSERT INTO i3geoadmin_atlasp (ordem_prancha,mapext_prancha,desc_prancha,h_prancha,w_prancha,icone_prancha,link_prancha,titulo_prancha,id_atlas) VALUES (1,'','','$h_prancha','$w_prancha','','','$titulo_prancha','$id_atlas')"); $id = $dbhw->query("SELECT id_prancha FROM i3geoadmin_atlasp"); $id = $id->fetchAll(); $id = intval($id[count($id)-1]['id_prancha']); @@ -192,12 +246,12 @@ function alterarTema() include("conexao.php"); if($id_tema != "") { - $dbhw->query("UPDATE i3geoadmin_atlast SET ordem_tema='$ordem_tema',codigo_tema='$codigo_tema',ligado_tema='$ligado_tema' WHERE id_prancha = $id_prancha and id_tema='$id_tema'"); + $dbhw->query("UPDATE i3geoadmin_atlast SET ordem_tema='$ordem_tema',codigo_tema='$codigo_tema',ligado_tema='$ligado_tema' WHERE id_tema='$id_tema'"); $retorna = $id_tema; } else { - $dbhw->query("INSERT INTO i3geoadmin_atlast (ordem_tema,codigo_tema,ligado_tema,id_prancha) VALUES ('','','','$id_prancha')"); + $dbhw->query("INSERT INTO i3geoadmin_atlast (ordem_tema,codigo_tema,ligado_tema,id_prancha) VALUES (1,'','','$id_prancha')"); $id = $dbhw->query("SELECT id_tema FROM i3geoadmin_atlast"); $id = $id->fetchAll(); $id = intval($id[count($id)-1]['id_tema']); -- libgit2 0.21.2