GoFuckYourself.com - Adult Webmaster Forum

GoFuckYourself.com - Adult Webmaster Forum (https://gfy.com/index.php)
-   Fucking Around & Business Discussion (https://gfy.com/forumdisplay.php?f=26)
-   -   Geo Target Script (https://gfy.com/showthread.php?t=923410)

PXN 08-23-2009 01:59 PM

Geo Target Script
 
Can anyone recommend me a good geo target script? Free or paid version, doesn't matter.

Mr Pheer 08-23-2009 02:05 PM

I like Dr Pepper.

PXN 08-23-2009 02:25 PM

Quote:

Originally Posted by Mr Pheer (Post 16225824)
I like Dr Pepper.

Thanks for the bump mate!

HomerSimpson 08-23-2009 02:28 PM

MaxMind - you have API and free GeoIP database version in there....

synapse 08-23-2009 06:53 PM

MaxMind's really about it i believe ... would love to hear more if there out there ?

We implemented MaxMind about 3 years ago or so and removed it after a year.
- their data's fine down to the country and state level but outside of the US just falls apart or is plain wrong
- there's no way to push updates / changes back to them
- their DB id's change *when* they make updates which when your saving the ID's into your member DB can cause a bunch of probs

Again would love to hear of some better alternatives to MaxMind ... and if their not out there sure sounds like a biz opportunity for someone :)

NemesisEnforcer 08-23-2009 10:29 PM

Check out IP2Location.

grumpy 08-24-2009 01:18 AM

i vote for maxmind

Stephen McTowelie 08-24-2009 03:22 AM

Quote:

Originally Posted by synapse (Post 16226422)
MaxMind's really about it i believe ... would love to hear more if there out there ?

We implemented MaxMind about 3 years ago or so and removed it after a year.
- their data's fine down to the country and state level but outside of the US just falls apart or is plain wrong
- there's no way to push updates / changes back to them
- their DB id's change *when* they make updates which when your saving the ID's into your member DB can cause a bunch of probs

Again would love to hear of some better alternatives to MaxMind ... and if their not out there sure sounds like a biz opportunity for someone :)

Its so true we had a similar problem with our UK dating and contacts site BritishSexContacts.com the geo location from maxmind started off well and the last few years it really has sucked !
The US and country wide location is fine its just outside of the US down to city level its just plain wrong not even close most of the time !
Would love to find a accurate alternative :disgust

synapse 08-24-2009 06:04 AM

Quote:

Originally Posted by NemesisEnforcer (Post 16226965)
Check out IP2Location.

looks interesting, anybody got any experience with them ?

SmokeyTheBear 08-24-2009 08:36 AM

geoplugin.com has a free php class that works pretty good

just save this as geoplugin.class.php
Code:

<?php
/*
This PHP class is free software: you can redistribute it and/or modify
the code under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

However, the license header, copyright and author credits
must not be modified in any form and always be displayed.

This class is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

@author geoPlugin ([email protected])
@copyright Copyright geoPlugin ([email protected])
$version 1.01


This PHP class uses the PHP Webservice of http://www.geoplugin.com/ to geolocate IP addresses

Geographical location of the IP address (visitor) and locate currency (symbol, code and exchange rate) are returned.

See http://www.geoplugin.com/webservices/php for more specific details of this free service

*/

class geoPlugin {
       
        //the geoPlugin server
        var $host = 'http://www.geoplugin.net/php.gp?ip={IP}&base_currency={CURRENCY}';
               
        //the default base currency
        var $currency = 'USD';
       
        //initiate the geoPlugin vars
        var $ip = null;
        var $city = null;
        var $region = null;
        var $areaCode = null;
        var $dmaCode = null;
        var $countryCode = null;
        var $countryName = null;
        var $continentCode = null;
        var $latitute = null;
        var $longitude = null;
        var $currencyCode = null;
        var $currencySymbol = null;
        var $currencyConverter = null;
       
        function geoPlugin() {

        }
       
        function locate($ip = null) {
               
                global $_SERVER;
               
                if ( is_null( $ip ) ) {
                        $ip = $_SERVER['REMOTE_ADDR'];
                }
               
                $host = str_replace( '{IP}', $ip, $this->host );
                $host = str_replace( '{CURRENCY}', $this->currency, $host );
               
                $data = array();
               
                $response = $this->fetch($host);
               
                $data = unserialize($response);
               
                //set the geoPlugin vars
                $this->ip = $ip;
                $this->city = $data['geoplugin_city'];
                $this->region = $data['geoplugin_region'];
                $this->areaCode = $data['geoplugin_areaCode'];
                $this->dmaCode = $data['geoplugin_dmaCode'];
                $this->countryCode = $data['geoplugin_countryCode'];
                $this->countryName = $data['geoplugin_countryName'];
                $this->continentCode = $data['geoplugin_continentCode'];
                $this->latitude = $data['geoplugin_latitude'];
                $this->longitude = $data['geoplugin_longitude'];
                $this->currencyCode = $data['geoplugin_currencyCode'];
                $this->currencySymbol = $data['geoplugin_currencySymbol'];
                $this->currencyConverter = $data['geoplugin_currencyConverter'];
               
        }
       
        function fetch($host) {

                if ( function_exists('curl_init') ) {
                                               
                        //use cURL to fetch data
                        $ch = curl_init();
                        curl_setopt($ch, CURLOPT_URL, $host);
                        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                        curl_setopt($ch, CURLOPT_USERAGENT, 'geoPlugin PHP Class v1.0');
                        $response = curl_exec($ch);
                        curl_close ($ch);
                       
                } else if ( ini_get('allow_url_fopen') ) {
                       
                        //fall back to fopen()
                        $response = file_get_contents($host, 'r');
                       
                } else {

                        trigger_error ('geoPlugin class Error: Cannot retrieve data. Either compile PHP with cURL support or enable allow_url_fopen in php.ini ', E_USER_ERROR);
                        return;
               
                }
               
                return $response;
        }
       
        function convert($amount, $float=2, $symbol=true) {
               
                //easily convert amounts to geolocated currency.
                if ( !is_numeric($this->currencyConverter) || $this->currencyConverter == 0 ) {
                        trigger_error('geoPlugin class Notice: currencyConverter has no value.', E_USER_NOTICE);
                        return $amount;
                }
                if ( !is_numeric($amount) ) {
                        trigger_error ('geoPlugin class Warning: The amount passed to geoPlugin::convert is not numeric.', E_USER_WARNING);
                        return $amount;
                }
                if ( $symbol === true ) {
                        return $this->currencySymbol . round( ($amount * $this->currencyConverter), $float );
                } else {
                        return round( ($amount * $this->currencyConverter), $float );
                }
        }
       
        function nearby($radius=10, $limit=null) {

                if ( !is_numeric($this->latitude) || !is_numeric($this->longitude) ) {
                        trigger_error ('geoPlugin class Warning: Incorrect latitude or longitude values.', E_USER_NOTICE);
                        return array( array() );
                }
               
                $host = "http://www.geoplugin.net/extras/nearby.gp?lat=" . $this->latitude . "&long=" . $this->longitude . "&radius={$radius}";
               
                if ( is_numeric($limit) )
                        $host .= "&limit={$limit}";
                       
                return unserialize( $this->fetch($host) );

        }

       
}

?>

then to use it in a php just call it like this
Code:

require_once('geoplugin.class.php');
$geoplugin = new geoPlugin();

$geoplugin->locate();
 
$city = "{$geoplugin->city}";
echo "We have detected , you live in $city";
?>


SmokeyTheBear 08-24-2009 08:39 AM

here is an example of it in action
http://ytmnd.webspacemania.com/cappi...26_jpg.jpg.png


All times are GMT -7. The time now is 10:24 AM.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
©2000-, AI Media Network Inc