Version: 1.0.2, by The M.I.P.
Developer Last Online: Nov 2023
Version: 3.5.x
Rating:
Released: 02-02-2006
Last Update: 02-02-2006
Installs: 19
Uses Plugins
Additional Files
No support by the author.
This plugin uses Maxmind's GeoIP database to look up a visitor's country depending on his IP-address.
You may use this e.g. to display specific content or advertisements depending on the geographical location of your visitors.
Installation:
Download geoip.inc PHP module and save it in your forum's includes/ directory.
Download the latest GeoLite Country DatabaseGeoIP.dat.gz, uncompress it (gunzip or evil ones like WinRAR) and save the uncompressed file under includes/GeoIP.dat (you can change the location of this file in your vBulletin Options).
You should update this file once in a while.
Make sure to have plugin system enabled.
Install product mip-geoiptracker-1.0.xml
Usage:
Use $bbuserinfo[country] (or $vbulletin->userinfo[country]) in your code, your templates, etc.
Have a look on the plugin sources and on GeoIP PHP API if you're interested in getting infos other than the country code.
Changes:
1.0.1 --> 1.0.2
Fixed bug with geoipdatfile setting not being included in product.
1.0 --> 1.0.1
Basic caching is done using cookies.
This plugin is likely to work also with commercial versions of Maxmind GeoIP databases, which would - with minor tweaks - allow resolving a user's location down to region and even city levels.
On high-traffic sites, I recommend using GeoIP PHP extension or Apache module instead of this plain PHP code.
Please note that I don't give free support for this plugin, as the vBulletin part is too simple and the rest is code from Maxmind.
sounds nice...will it be a reason of heavy server load?
This depends on your server. If your server is already running with high loads, you will definitely experience a loss of performance.
It's a non-intrusive plugin, so just give it a try.
The Maxmind guys basically included an option to use shared memory on Un*x machines (requires PHP with --enable-shmop), so that file i/o can be reduced and the db is kept in memory only once.
While this is a good idea in principle, its implementation is not unproblematic (e.g. because there's only a fixed shm key). So I did not use it in this plugin - but feel free to extend it.
If you need high-performance geotargeting, you'd be better off with using a different approach like GeoIP Apache module.
where is the best place to have this on? in what template?
Postbit / Memberinfo
Don't forget that this plugin doesn't save its data in the users table or in a userfield. Location info is only available for a user/visitor who is currently surfing your forums.
The perfect use is to display banner ads depending on the geographic location of a visitor or to show location-specific content.