From fc65ac4d4dc74a9cae6c1c63973d6619d9349116 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Mon, 17 Jan 2011 18:42:38 +0000 Subject: [PATCH] Nova classe javascript para funções voltadas para redes sociais --- classesjs/classe_arvoredecamadas.js | 2 +- classesjs/classe_arvoredetemas.js | 2 +- classesjs/classe_interface.js | 28 ++++++++++++++++++++-------- classesjs/classe_social.js | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ classesjs/classe_util.js | 22 ---------------------- classesjs/compactajs.php | 4 +++- classesjs/i3geonaocompacto.js | 1 + datadownload.htm | 5 +++-- ferramentas/comentarios/index.php | 2 +- geradordelinks.htm | 5 +++-- interface/openlayers.htm | 5 ++--- ogc.htm | 4 ++-- 12 files changed, 135 insertions(+), 43 deletions(-) create mode 100644 classesjs/classe_social.js diff --git a/classesjs/classe_arvoredecamadas.js b/classesjs/classe_arvoredecamadas.js index 3435db7..a80e63b 100644 --- a/classesjs/classe_arvoredecamadas.js +++ b/classesjs/classe_arvoredecamadas.js @@ -767,7 +767,7 @@ i3GEO.arvoreDeCamadas = { if(ltema.permitecomentario.toLowerCase() !== "nao" && i3GEO.arvoreDeTemas.OPCOESADICIONAIS.comentarios == true) { temp = i3GEO.configura.locaplic+"/ms_criamapa.php?layers="+ltema.name; - tnome = ""; + tnome = i3GEO.social.compartilhar("",temp,temp,"semtotal"); d = {html:tnome}; iconesNode = new YAHOO.widget.HTMLNode(d, node, false,true); iconesNode.enableHighlight = false; diff --git a/classesjs/classe_arvoredetemas.js b/classesjs/classe_arvoredetemas.js index e0d6131..cb0d461 100644 --- a/classesjs/classe_arvoredetemas.js +++ b/classesjs/classe_arvoredetemas.js @@ -1277,7 +1277,7 @@ i3GEO.arvoreDeTemas = { tempNode.isLeaf = true; } if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.bookmark === true){ - html = i3GEO.util.bookmark(i3GEO.configura.locaplic+"/ms_criamapa.php?layers="+node.data.idtema); + html = i3GEO.social.bookmark(i3GEO.configura.locaplic+"/ms_criamapa.php?layers="+node.data.idtema); tempNode = new YAHOO.widget.HTMLNode({html:html}, node, false,true); tempNode.enableHighlight = false; tempNode.isLeaf = true; diff --git a/classesjs/classe_interface.js b/classesjs/classe_interface.js index 42c649b..4e2a644 100644 --- a/classesjs/classe_interface.js +++ b/classesjs/classe_interface.js @@ -111,11 +111,24 @@ i3GEO.Interface = { /* Propriedade: ATUAL - Interface atual em uso. + Interface utilizada na criação e controle do mapa. + + Veja como usar nos arquivos de apresentação do mapa existentes no diretório i3geo/interface + + O i3Geo, além da interface própria, permite o uso de outras APIs + para a construção do mapa, como Google Maps ou Openlayers. Essa propriedade define qual interface será usada. + Não confundir com o nome do HTML que é utilizado para mostrar o mapa. + + Para definir a interface, utilize + + i3GEO.Interface.ATUAL = "" Tipo: {string} + Valores: + {geral|openlayers|flamingo|googlemaps|googleearth} + Default: {"padrao"} */ @@ -277,21 +290,20 @@ i3GEO.Interface = { */ inicia: function(w,h){ if(typeof(console) !== 'undefined'){console.info("i3GEO.Interface.inicia()");} - var temp; // //inicialização que afeta todas as interfaces // - if($i("i3GEOcurtirFB")){ - temp = window.location.href.split("?")[0]; - $i("i3GEOcurtirFB").innerHTML = ""; - } + var temp = window.location.href.split("?")[0]; + if($i("i3GEOcompartilhar")) + {i3GEO.social.compartilhar("i3GEOcompartilhar",temp,temp);} + i3GEO.gadgets.quadros.inicia(10); i3GEO.gadgets.quadros.grava("extensao",i3GEO.parametros.extentTotal); i3GEO.gadgets.mostraBuscaRapida(); i3GEO.gadgets.mostraVersao(); i3GEO.guias.cria(); - if($i("arvoreAdicionaTema")) - {i3GEO.arvoreDeTemas.cria(i3GEO.configura.sid,i3GEO.configura.locaplic,"arvoreAdicionaTema");} + //if($i("arvoreAdicionaTema")) + //{i3GEO.arvoreDeTemas.cria(i3GEO.configura.sid,i3GEO.configura.locaplic,"arvoreAdicionaTema");} // //esse id é utilizado apenas para manter o mapa não visível até que tudo seja montado // diff --git a/classesjs/classe_social.js b/classesjs/classe_social.js new file mode 100644 index 0000000..01c5275 --- /dev/null +++ b/classesjs/classe_social.js @@ -0,0 +1,98 @@ +/*jslint plusplus:false,white:false,undef: false, rhino: true, onevar: true, evil: true */ +/* +Title: Social + +Arquivo: + +i3geo/classesjs/classe_social.js + +Licenca: + +GPL2 + +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet + +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil +Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br + +Este programa é software livre; você pode redistribuí-lo +e/ou modificá-lo sob os termos da Licença Pública Geral +GNU conforme publicada pela Free Software Foundation; + +Este programa é distribuído na expectativa de que seja útil, +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. +Consulte a Licença Pública Geral do GNU para mais detalhes. +Você deve ter recebido uma cópia da Licença Pública Geral do +GNU junto com este programa; se não, escreva para a +Free Software Foundation, Inc., no endereço +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. +*/ +if(typeof(i3GEO) === 'undefined'){ + i3GEO = []; +} +/* +Classe: i3GEO.social + +Opções de compartilhamento e uso de redes sociais. +*/ +i3GEO.social = { + curtirFacebook: function(url,tipo){ + if(tipo == "comtotal") + {return "";} + if(tipo == "semtotal") + {return "";} + }, + publicarTwitter: function(url,tipo){ + if(tipo == "comtotal") + {return '';} + if(tipo == "semtotal") + {return '';} + }, + compartilhar: function(id,urlcf,urlpt,tipo){ + if(!tipo) + {tipo = "comtotal";} + var onde = $i(id), + tabela = ""; + if(tipo == "comtotal") + {tabela += "";} + if(tipo == "semtotal") + {tabela += "
";} + if(onde || id == ""){ + if(urlpt !== ""){ + tabela += ""; + } + if(urlcf !== ""){ + tabela += ""; + } + tabela += "
"+i3GEO.social.publicarTwitter(urlpt,tipo)+""+i3GEO.social.curtirFacebook(urlcf,tipo)+"
"; + if(id !== "") + {onde.innerHTML = tabela;} + return tabela; + } + else + {return false;} + }, + /* + Function: bookmark + + Cria os botões de bookmark em redes sociais + + Gera o HTML contendo as tags IMG com os links + + Parametro: + + link {string} - link que será marcado + + Return: + + HTML com os botões + */ + bookmark: function(link){ + ins = " "; + ins += " "; + ins += " "; + ins += ""; + return ins; + }, +}; diff --git a/classesjs/classe_util.js b/classesjs/classe_util.js index d13b387..273c035 100644 --- a/classesjs/classe_util.js +++ b/classesjs/classe_util.js @@ -1984,28 +1984,6 @@ i3GEO.util = { i3GEO.util.scriptTag(js,"i3GEOF."+nome+".criaJanelaFlutuante()","i3GEOF."+nome+"_script"); }, /* - Function: bookmark - - Cria os botões de bookmark em redes sociais - - Gera o HTML contendo as tags IMG com os links - - Parametro: - - link {string} - link que será marcado - - Return: - - HTML com os botões - */ - bookmark: function(link){ - ins = " "; - ins += " "; - ins += " "; - ins += ""; - return ins; - }, - /* Function: intersectaBox Verifica se um retângulo está dentro de outro retângulo diff --git a/classesjs/compactajs.php b/classesjs/compactajs.php index 094a852..f4ae3f4 100644 --- a/classesjs/compactajs.php +++ b/classesjs/compactajs.php @@ -79,6 +79,7 @@ packer("classe_php.js","compactados/classe_php_compacto.js","Normal"); packer("classe_interface.js","compactados/classe_interface_compacto.js","Normal"); packer("classe_i3geo.js","compactados/classe_i3geo_compacto.js","Normal"); packer("dicionario_ajuda.js","compactados/dicionario_ajuda_compacto.js","Normal"); +packer("classe_social.js","compactados/classe_social_compacto.js","Normal"); //packer("../ferramentas/funcoes.js","../ferramentas/funcoes_compacto.js","Normal"); packer("../pacotes/yui270/build/container/container.js","../pacotes/yui270/build/container/container_compacto.js","Normal"); packer("../pacotes/yui270/build/container/container_core.js","../pacotes/yui270/build/container/container_core_compacto.js","Normal"); @@ -139,7 +140,8 @@ $jsfiles = array( "compactados/classe_arvoredetemas_compacto.js", "compactados/classe_barradebotoes_compacto.js", "../pacotes/richdraw/richdraw_tudo_compacto.js", -"compactados/classe_gadgets_compacto.js" +"compactados/classe_gadgets_compacto.js", +"compactados/classe_social_compacto.js" ); $buffer .= "\$i = function(id){return document.getElementById(id);};\n"; diff --git a/classesjs/i3geonaocompacto.js b/classesjs/i3geonaocompacto.js index 79f957e..44f2fc5 100644 --- a/classesjs/i3geonaocompacto.js +++ b/classesjs/i3geonaocompacto.js @@ -53,6 +53,7 @@ var jsfiles = new Array( "classe_guias.js", "classe_arvoredecamadas.js", "classe_navega.js", +"classe_social.js", //"classe_selecao.js", depreciado "classe_eventos.js", "classe_arvoredetemas.js", diff --git a/datadownload.htm b/datadownload.htm index f0664ca..7789de4 100644 --- a/datadownload.htm +++ b/datadownload.htm @@ -92,8 +92,9 @@ Se o array estiver vazio, será utilizado o default, baseado no sistema de admini g_RSSl = new Array(""); i3GEO.idioma.IDSELETOR = "bandeiras"; i3GEO.idioma.mostraSeletor(); -$i("bm1").innerHTML = i3GEO.util.bookmark(window.location.href); -$i("curtir").innerHTML = ""; +$i("bm1").innerHTML = i3GEO.social.bookmark(window.location.href); +loc = window.location.href; +i3GEO.social.compartilhar("curtir",loc,loc,"comtotal"); DDinicia() diff --git a/ferramentas/comentarios/index.php b/ferramentas/comentarios/index.php index 7cbff01..0e23b87 100644 --- a/ferramentas/comentarios/index.php +++ b/ferramentas/comentarios/index.php @@ -114,5 +114,5 @@ function converte($texto){ \ No newline at end of file diff --git a/geradordelinks.htm b/geradordelinks.htm index 569f4d5..c87dd22 100644 --- a/geradordelinks.htm +++ b/geradordelinks.htm @@ -118,8 +118,9 @@ File: i3geo/geradordelinks.htm var g_locaplic = i3GEO.util.protocolo()+"://"+window.location.host+"/i3geo"; i3GEO.configura.locaplic = g_locaplic; -$i("bm1").innerHTML = i3GEO.util.bookmark(window.location.href); -$i("curtir").innerHTML = ""; +$i("bm1").innerHTML = i3GEO.social.bookmark(window.location.href); +loc = window.location.href; +i3GEO.social.compartilhar("curtir",loc,loc,"comtotal"); var i3geo_gl_configura = new i3geo_gl_configura( g_locaplic, diff --git a/interface/openlayers.htm b/interface/openlayers.htm index 3692ba0..47203e5 100644 --- a/interface/openlayers.htm +++ b/interface/openlayers.htm @@ -89,9 +89,8 @@ Nesse div são incluídos os ícones que permitem ao usuário modificar o visual de cores dos ícones
--> - -
- + +
diff --git a/ogc.htm b/ogc.htm index a8817d3..a375987 100644 --- a/ogc.htm +++ b/ogc.htm @@ -77,8 +77,8 @@ g_locaplic = loc.split("/ogc.htm"); g_locaplic = g_locaplic[0] i3GEO.configura.locaplic = g_locaplic -$i("bm1").innerHTML = i3GEO.util.bookmark(loc); -$i("curtir").innerHTML = ""; +$i("bm1").innerHTML = i3GEO.social.bookmark(loc); +i3GEO.social.compartilhar("curtir",loc,loc,"comtotal"); g_arvoreClicks = "" i3GEO.idioma.IDSELETOR = "bandeiras"; -- libgit2 0.21.2