All pastes #1520990 Raw Edit

wordpress-ip-to-country-plugin

public php v1 · immutable
#1520990 ·published 2009-08-07 03:49 UTC
rendered paste body
<?php/*Plugin Name: IP 2 CountryPlugin URI: http://priyadi.net/archives/2005/02/25/wordpress-ip-to-country-plugin/Description: Retrieves the country name of the visitor, guessed from is IP. Uses <a href="http://ip-to-country.webhosting.info/">ip-to-country</a>'s dataVersion: 2.0Author: Priyadi Iman NurcahyoAuthor URI: http://priyadi.net/*//* adapted from the ip to nation plugin from http://frenchfragfactory.net/ozh/archives/2004/08/27/ip-to-nation-plugin/ */### BEGIN CONFIGURATION$wp_ip2c_usecache = false;### END CONFIGURATIONfunction wp_ip2c_getdb_fromdb ($ip) {   global $wpdb;   $sql = "SELECT country_code2, country_code3, country_name           FROM iptocountry           WHERE IP_FROM<=inet_aton('$ip')                 AND IP_TO>=inet_aton('$ip')";   $row = $wpdb->get_row("$sql");   return $row;}function wp_ip2c_getdb_fromcache ($ip) {   global $wpdb;   $sql = "SELECT country_code2, country_code3, country_name           FROM iptocountry_cache           WHERE ip = INET_ATON('$ip')";   $row = $wpdb->get_row("$sql");   return $row;}function wp_ip2c_getdb_cachemiss ($ip) {   global $wpdb;   $data = wp_ip2c_getdb_fromdb($ip);   $cc2 = $data->country_code2;   $cc3 = $data->country_code3;   $cname = $data->country_name;   $sql = "REPLACE INTO iptocountry_cache (              ip, country_code2, country_code3, country_name	   ) VALUES (	      INET_ATON('$ip'), '$cc2', '$cc3', '$cname'	   )";   $wpdb->query($sql);   return $data;}function wp_ip2c_getdb ($ip) {   global $wpdb, $wp_ip2c_usecache;   if ($wp_ip2c_usecache) {      $fromcache = wp_ip2c_getdb_fromcache($ip);      $cc2 = $fromcache->country_code2;      if ($cc2) {         return $fromcache;      } else {         return wp_ip2c_getdb_cachemiss($ip);      }   } else {      return wp_ip2c_getdb_fromdb($ip);   }}function wp_ip2c_getCountryName ($display=0,$ip="") {   global $wpdb, $wp_ip2c;   $refresh = 1;   if (!$ip) {      $ip = $_SERVER['REMOTE_ADDR'];      $refresh = 0;   }   if (!$wp_ip2c || $refresh)      $wp_ip2c = wp_ip2c_getdb ($ip);      $country_name = ucwords(strtolower($wp_ip2c->country_name));   if ($display)      echo $country_name;   return $country_name;}function wp_ip2c_getCountryCode2 ($display=0,$ip="") {   global $wpdb, $wp_ip2c;   $refresh = 1;   if (!$ip) {      $ip = $_SERVER['REMOTE_ADDR'];      $refresh = 0;   }   if (!$wp_ip2c || $refresh)      $wp_ip2c = wp_ip2c_getdb ($ip);   $code = strtolower($wp_ip2c->country_code2);   if ($display)      echo $code;   return $code;}function wp_ip2c_getCountryCode3 ($display=0,$ip="") {   global $wpdb, $wp_ip2c;   $refresh = 1;   if (!$ip) {      $ip = $_SERVER['REMOTE_ADDR'];      $refresh = 0;   }   if (!$wp_ip2c || $refresh)      $wp_ip2c = wp_ip2c_getdb ($ip);   $code = strtolower($wp_ip2c->country_code3);   if ($display)      echo $code;   return $code;}/** * SAMPLE USAGE : * You are from <img src="flag-<?wp_ip2c_getCountryCode2(1)?>.gif" /> <?wp_ip2c_getCountryName(1)?> */