Browse Source

Moved the external geoip files to inc/lib/geoip and made the geoip code a bit prettier

pull/40/head
Jano Slota 10 years ago
committed by czaks
parent
commit
9dad842c24
  1. 0
      inc/lib/geoip/GeoIPv6.dat
  2. 0
      inc/lib/geoip/geoip.inc
  3. 27
      post.php

0
GeoIPv6.dat → inc/lib/geoip/GeoIPv6.dat

0
geoip.inc → inc/lib/geoip/geoip.inc

27
post.php

@ -447,26 +447,25 @@ if (isset($_POST['delete'])) {
} }
if ($config['country_flags']) { if ($config['country_flags']) {
require 'geoip.inc'; require 'inc/lib/geoip/geoip.inc';
$gi=geoip_open('GeoIPv6.dat', GEOIP_STANDARD); $gi=geoip_open('inc/lib/geoip/GeoIPv6.dat', GEOIP_STANDARD);
function IPv4To6($ip) { function ipv4to6($ip) {
if (strpos($ip, ':') !== false) { if (strpos($ip, ':') !== false) {
if (strpos($ip, '.') > 0) { if (strpos($ip, '.') > 0)
$ip = substr($ip, strrpos($ip, ':')+1); $ip = substr($ip, strrpos($ip, ':')+1);
}
else return $ip; //native ipv6 else return $ip; //native ipv6
} }
$iparr = array_pad(explode('.', $ip), 4, 0); $iparr = array_pad(explode('.', $ip), 4, 0);
$Part7 = base_convert(($iparr[0] * 256) + $iparr[1], 10, 16); $part7 = base_convert(($iparr[0] * 256) + $iparr[1], 10, 16);
$Part8 = base_convert(($iparr[2] * 256) + $iparr[3], 10, 16); $part8 = base_convert(($iparr[2] * 256) + $iparr[3], 10, 16);
return '::ffff:'.$Part7.':'.$Part8; return '::ffff:'.$part7.':'.$part8;
} }
if ($country_code = geoip_country_code_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'))) if (!in_array(strtolower($country_code), array('eu', 'ap', 'o1', 'a1', 'a2')))
$post['body'] .= "\n<tinyboard flag>" . strtolower($country_code) . "</tinyboard>" . $post['body'] .= "\n<tinyboard flag>".strtolower($country_code)."</tinyboard>".
"\n<tinyboard flag alt>" . geoip_country_name_by_addr_v6($gi, IPv4To6($_SERVER['REMOTE_ADDR'])) . "</tinyboard>"; "\n<tinyboard flag alt>".geoip_country_name_by_addr_v6($gi, ipv4to6($_SERVER['REMOTE_ADDR']))."</tinyboard>";
} }
} }

Loading…
Cancel
Save