diff -r e2f6e3af9959 -r d86ea89358ec modules/iplogger.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/modules/iplogger.php Sat Nov 15 15:01:28 2008 -0500 @@ -0,0 +1,107 @@ + + $basenick = basenick('enanobot|debug'); + // $basenick = 'enanobot' + + * @param string Nickname + * @return string + */ + +function basenick($nick) +{ + if ( preg_match('/^`/', $nick) ) + { + $nick = substr($nick, 1); + } + return preg_replace('/(`|\|)(.+?)$/', '', $nick); +} + +/** + * Resolve an IP address. First goes by checking if it's a mibbit or CGI-IRC IP/user, then performs lookups accordingly. + * @param string Hostname + * @param string Username + * @return string IP address + */ + +function resolve_ip($host, $user) +{ + if ( $host == 'webchat.mibbit.com' ) + { + return hex2ipv4($user); + } + return gethostbyname($host); +} + +function hex2ipv4($ip) +{ + $ip = preg_replace('/^0x/', '', $ip); + $ip = str_split($ip, 2); + foreach ( $ip as &$byte ) + { + $byte = hexdec($byte); + } + return implode('.', $ip); +}