From 27fa92dac88700b47bfe42ca887a64fb1f682855 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Thu, 4 Oct 2007 13:11:08 +0000 Subject: [PATCH] Incluida opção para elaboração de mapa de visitantes. Veja no wiki mais informações. O programa ms_registraip.php é incluido pelo ms_criamapa.php. Para funcionar em sua instalação é necessário editar o arquivo temas/visitantes.map e a string de conexão com o banco e sqls existentes em ms_registraip.php --- classesphp/funcoes_gerais.php | 10 +++++----- ms_criamapa.php | 4 ++++ ms_registraip.php | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ temas/visitantes.map | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 156 insertions(+), 5 deletions(-) create mode 100644 temas/visitantes.map diff --git a/classesphp/funcoes_gerais.php b/classesphp/funcoes_gerais.php index 1f8276e..f40c6b3 100644 --- a/classesphp/funcoes_gerais.php +++ b/classesphp/funcoes_gerais.php @@ -1023,15 +1023,15 @@ parameters: $ip - Número do IP. */ -function ip2geo($ip) +function ip2geo($ip,$locaplic="..") { //$ip="200.252.111.1"; $resultado = array(); - if (file_exists("../pacotes/geoip/geoipcity.inc")) + if (file_exists($locaplic."/pacotes/geoip/geoipcity.inc")) { - require_once("../pacotes/geoip/geoipcity.inc"); - require_once("../pacotes/geoip/geoipregionvars.php"); - $gi = geoip_open("../pacotes/geoip/GeoLiteCity.dat",GEOIP_STANDARD); + require_once($locaplic."/pacotes/geoip/geoipcity.inc"); + require_once($locaplic."/pacotes/geoip/geoipregionvars.php"); + $gi = geoip_open($locaplic."/pacotes/geoip/GeoLiteCity.dat",GEOIP_STANDARD); $record = geoip_record_by_addr($gi,$ip); $resultado["country_code"] = $record->country_code . " " . $record->country_code3 . " " . $record->country_name; $resultado["region"] = $record->region . " " . $GEOIP_REGION_NAME[$record->country_code][$record->region]; diff --git a/ms_criamapa.php b/ms_criamapa.php index 1d6cc3b..5d96b48 100644 --- a/ms_criamapa.php +++ b/ms_criamapa.php @@ -468,6 +468,10 @@ for($i=0;$i<($mapa->numlayers);$i++) } $mapa->save($tmpfname); // +//obtem o IP do usuário e registra no banco de dados +//essa função pode ser comentada sem prejuízos ao funcionamento do I3Geo +require_once($caminho."ms_registraip.php"); +// // gera a url para abrir o mapa // interface = arquivo html que será aberto // diff --git a/ms_registraip.php b/ms_registraip.php index e69de29..b862653 100644 --- a/ms_registraip.php +++ b/ms_registraip.php @@ -0,0 +1,99 @@ + \ No newline at end of file diff --git a/temas/visitantes.map b/temas/visitantes.map new file mode 100644 index 0000000..44b4116 --- /dev/null +++ b/temas/visitantes.map @@ -0,0 +1,48 @@ +SYMBOLSET ../symbols/simbolos.sym +FONTSET "../symbols/fontes.txt" +LAYER + NAME visitantes # ok + TYPE point + STATUS OFF + TEMPLATE "none.htm" + CONNECTIONTYPE postgis + CONNECTION "user=geodados password=geodados dbname=geodados host=10.1.1.36 port=5432" + DATA "the_geom FROM (select PointFromText('POINT(' || longitude || ' ' || latitude || ')',4291) as the_geom,n,gid FROM public.visitantes_i3geo) as foo USING UNIQUE gid USING SRID=4291" + METADATA + TEMA "Usuários" + CLASSE "SIM" + END + CLASS + Name 'uma visita' + EXPRESSION ('[n]'eq '1') + SYMBOL 'ponto' + SIZE 6 + COLOR 255 255 204 + OUTLINECOLOR 50 50 50 + END # CLASS + CLASS + Name 'mais de uma visita' + EXPRESSION (([n]>1)and([n]<=3)) + SYMBOL 'ponto' + SIZE 8 + COLOR 255 255 204 + OUTLINECOLOR 50 50 50 + END # CLASS + CLASS + Name 'mais de uma visita' + EXPRESSION (([n]>3)and([n]<=5)) + SYMBOL 'ponto' + SIZE 10 + COLOR 255 255 204 + OUTLINECOLOR 50 50 50 + END # CLASS + CLASS + Name 'mais de uma visita' + EXPRESSION ([n]>5) + SYMBOL 'ponto' + SIZE 11 + COLOR 247 233 164 + OUTLINECOLOR 50 50 50 + END # CLASS +END +END \ No newline at end of file -- libgit2 0.21.2