diff --git a/GeoIPv6.dat b/inc/lib/geoip/GeoIPv6.dat similarity index 100% rename from GeoIPv6.dat rename to inc/lib/geoip/GeoIPv6.dat diff --git a/geoip.inc b/inc/lib/geoip/geoip.inc similarity index 100% rename from geoip.inc rename to inc/lib/geoip/geoip.inc diff --git a/post.php b/post.php index 2f2d3ff4..0bfd0327 100644 --- a/post.php +++ b/post.php @@ -447,26 +447,25 @@ if (isset($_POST['delete'])) { } if ($config['country_flags']) { - require 'geoip.inc'; - $gi=geoip_open('GeoIPv6.dat', GEOIP_STANDARD); + require 'inc/lib/geoip/geoip.inc'; + $gi=geoip_open('inc/lib/geoip/GeoIPv6.dat', GEOIP_STANDARD); - function IPv4To6($ip) { + function ipv4to6($ip) { if (strpos($ip, ':') !== false) { - if (strpos($ip, '.') > 0) { + if (strpos($ip, '.') > 0) $ip = substr($ip, strrpos($ip, ':')+1); - } else return $ip; //native ipv6 - } - $iparr = array_pad(explode('.', $ip), 4, 0); - $Part7 = base_convert(($iparr[0] * 256) + $iparr[1], 10, 16); - $Part8 = base_convert(($iparr[2] * 256) + $iparr[3], 10, 16); - return '::ffff:'.$Part7.':'.$Part8; + } + $iparr = array_pad(explode('.', $ip), 4, 0); + $part7 = base_convert(($iparr[0] * 256) + $iparr[1], 10, 16); + $part8 = base_convert(($iparr[2] * 256) + $iparr[3], 10, 16); + return '::ffff:'.$part7.':'.$part8; } - if ($country_code = geoip_country_code_by_addr_v6($gi, IPv4To6($_SERVER['REMOTE_ADDR']))) { - if (!in_array(strtolower($country_code), array('eu', 'ap', 'o1', 'a1', 'a2'))) - $post['body'] .= "\n" . strtolower($country_code) . "" . - "\n" . geoip_country_name_by_addr_v6($gi, IPv4To6($_SERVER['REMOTE_ADDR'])) . ""; + if ($country_code = geoip_country_code_by_addr_v6($gi, ipv4to6($_SERVER['REMOTE_ADDR']))) { + if (!in_array(strtolower($country_code), array('eu', 'ap', 'o1', 'a1', 'a2'))) + $post['body'] .= "\n".strtolower($country_code)."". + "\n".geoip_country_name_by_addr_v6($gi, ipv4to6($_SERVER['REMOTE_ADDR'])).""; } }