Commit be590cfc9ba0a62bcab7db0a70f58059025e5730

Authored by Edmar Moretti
1 parent 6caf39f9

--no commit message

Showing 1 changed file with 77 additions and 1 deletions   Show diff stats
twitter2kml.php
1 1 <?php
2   -//exemplo: http://localhost/i3geo/twitter2kml.php?q=twit2kml&rpp=20
  2 +/*
  3 +Title: twitter2geo.php
  4 +
  5 +Converte mensagens registradas no twitter, para um determinado TAG, em um arquivo georreferenciado
  6 +
  7 +As mensagens são consideradas apenas qd possuírem as TAGs #x ou #y, ou então, #lat ou #long
  8 +
  9 +São aceitos todos os parâmetros de busca da API do Twitter, como definidos em http://search.twitter.com/
  10 +
  11 +Licenca
  12 +
  13 +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  14 +
  15 +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil
  16 +Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br
  17 +
  18 +Este programa é software livre; você pode redistribuí-lo
  19 +e/ou modificá-lo sob os termos da Licença Pública Geral
  20 +GNU conforme publicada pela Free Software Foundation;
  21 +tanto a versão 2 da Licença.
  22 +Este programa é distribuído na expectativa de que seja útil,
  23 +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita
  24 +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
  25 +Consulte a Licença Pública Geral do GNU para mais detalhes.
  26 +Você deve ter recebido uma cópia da Licença Pública Geral do
  27 +GNU junto com este programa; se não, escreva para a
  28 +Free Software Foundation, Inc., no endereço
  29 +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  30 +
  31 +Arquivo: i3geo/twitter2geo.php
  32 +
  33 +Parametros:
  34 +
  35 +ajuda - se for definida na URL, mostra uma ajuda ao usuário
  36 +
  37 +tipo - tipo de arquivo que será retornado
  38 +
  39 +Valores:
  40 +
  41 + twitter - retona os resultados originais encontrados
  42 +
  43 + kml - retorna os dados no formato kml
  44 +
  45 +Exemplos:
  46 +
  47 +twitter2geo.php?ajuda
  48 +
  49 +twitter2geo.php?tipo=kml&q=twit2kml
  50 +*/
3 51 include("classesphp/carrega_ext.php");
4 52 /*
5 53 Código de consulta à API adaptado de http://www.reynoldsftw.com/2009/02/using-jquery-php-ajax-with-the-twitter-api/
6 54 */
7 55 $par = array_merge($_POST,$_GET);
8 56 $chaves = array_keys($par);
  57 +
  58 +if($par["ajuda"] || !$par["tipo"]){
  59 + echo "<pre>Title: twitter2geo.php
  60 + Converte mensagens registradas no twitter, para um determinado TAG, em um arquivo georreferenciado
  61 + As mensagens são consideradas apenas qd possuírem as TAGs #x ou #y, ou então, #lat ou #long
  62 + São aceitos todos os parâmetros de busca da API do Twitter, como definidos em http://search.twitter.com/
  63 +
  64 + Parametros:
  65 +
  66 + ajuda - se for definida na URL, mostra uma ajuda ao usuário
  67 + tipo - tipo de arquivo que será retornado
  68 +
  69 + Valores:
  70 +
  71 + twitter - retona os resultados originais encontrados
  72 + kml - retorna os dados no formato kml
  73 +
  74 + Exemplos:
  75 +
  76 + twitter2geo.php?ajuda
  77 + twitter2geo.php?tipo=kml&q=twit2kml";
  78 + exit;
  79 +}
9 80 $query = array();
10 81 foreach($chaves as $chave)
11 82 {$query[] = $chave."=".$par[$chave];}
... ... @@ -21,6 +92,11 @@ curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
21 92 $result = curl_exec ($curl);
22 93 curl_close ($curl);
23 94 $result = fixEncoding($result);
  95 +if(strtolower($par["tipo"]) == "twitter"){
  96 + //echo header("Content-type: application/json");
  97 + echo $result;
  98 + exit;
  99 +}
24 100 $result = json_decode( $result, true );
25 101 $kml = '<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://earth.google.com/kml/2.0"><Document><name>twitter</name>';
26 102 $kml .= '<Folder><description>'.$q.'</description><name>'.$q.'</name><open>1</open>';
... ...