Commit bbff35093f05b1930b0ca5eb660b07061d469d32

Authored by Edmar Moretti
1 parent be590cfc

--no commit message

Showing 2 changed files with 0 additions and 162 deletions   Show diff stats
menutemas/admin.db
No preview for this file type
twitter2kml.php
... ... @@ -1,162 +0,0 @@
1   -<?php
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   -*/
51   -include("classesphp/carrega_ext.php");
52   -/*
53   -Código de consulta à API adaptado de http://www.reynoldsftw.com/2009/02/using-jquery-php-ajax-with-the-twitter-api/
54   -*/
55   -$par = array_merge($_POST,$_GET);
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   -}
80   -$query = array();
81   -foreach($chaves as $chave)
82   -{$query[] = $chave."=".$par[$chave];}
83   -$query = implode("&",$query);
84   -$s = PHP_SHLIB_SUFFIX;
85   -if(!function_exists('curl_init'))
86   -{@dl( 'php_curl'.'.'.$s );}
87   -if(!function_exists('curl_init'))
88   -{echo "curl não instalado";}
89   -$curl = curl_init();
90   -curl_setopt ($curl, CURLOPT_URL, "http://search.twitter.com/search.json?".($query));
91   -curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
92   -$result = curl_exec ($curl);
93   -curl_close ($curl);
94   -$result = fixEncoding($result);
95   -if(strtolower($par["tipo"]) == "twitter"){
96   - //echo header("Content-type: application/json");
97   - echo $result;
98   - exit;
99   -}
100   -$result = json_decode( $result, true );
101   -$kml = '<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://earth.google.com/kml/2.0"><Document><name>twitter</name>';
102   -$kml .= '<Folder><description>'.$q.'</description><name>'.$q.'</name><open>1</open>';
103   -$icon = array();
104   -if(!$result["results"])
105   -{exit;}
106   -foreach($result["results"] as $r)
107   -{
108   - if(!in_array($r["from_user"],$icon))
109   - {
110   - $kml .= '<Style id="'.$r["from_user"].'"><IconStyle><Icon>';
111   - $kml .= '<href>'.$r["profile_image_url"].'</href>';
112   - $kml .= '</Icon></IconStyle></Style>';
113   - }
114   - $icon[] = $r["from_user"];
115   -}
116   -$id = 0;
117   -foreach($result["results"] as $r)
118   -{
119   - $xy = retornaXY($r["text"]);
120   - if($xy != "")
121   - {
122   - $html = "<table><tr>";
123   - $html .= "<td><img src='".$r["profile_image_url"]."' /></td>";
124   - $html .= "<td><span style=color:gray >".$r["from_user"]."<br>";
125   - $html .= $r["created_at"]."</span><br>";
126   - $html .= $r["text"]."<br></td></tr></table>";
127   - $kml .='<Placemark><name>'.$id.'</name>';
128   - $kml .= '<description><![CDATA['.$html.']]></description>';
129   - $kml .= '<styleUrl>'.$r["from_user"].'</styleUrl>';
130   - $kml .= '<Point id="'.$id.'"><coordinates>'.$xy.'</coordinates></Point></Placemark>';
131   - $id++;
132   - }
133   -}
134   -$kml .= '</Folder></Document></kml>';
135   -echo header("Content-type: application/xml");
136   -echo $kml;
137   -function retornaXY($s)
138   -{
139   - $x = preg_replace("/(.*#x)|(\s.*)/i","",$s);
140   - if($x == "")
141   - {$x = preg_replace("/(.*#long)|(\s.*)/i","",$s);}
142   - if($x == "")
143   - {$x = preg_replace("/(.*#lon)|(\s.*)/i","",$s);}
144   - $y = preg_replace("/(.*#y)|(\s.*)/i","",$s);
145   - if($y == "")
146   - {$y = preg_replace("/(.*#lat)|(\s.*)/i","",$s);}
147   - $x = str_replace(",",".",$x);
148   - $y = str_replace(",",".",$y);
149   - if(!is_numeric($x) || !is_numeric($y))
150   - {return "";}
151   - else
152   - {return $x.",".$y;}
153   -}
154   -function fixEncoding($in_str)
155   -{
156   - $cur_encoding = mb_detect_encoding($in_str) ;
157   - if($cur_encoding == "UTF-8" && mb_check_encoding($in_str,"UTF-8"))
158   - {return $in_str;}
159   - else
160   - {return utf8_encode($in_str);}
161   -}
162   -?>
163 0 \ No newline at end of file