/**
* Get the users ip address - for the contact form.
* Borrowed from MyBB and modified - MyBBoard.com
*
* @param none
* @return string
*/
function get_ip()
{
if (dnp_getenv('HTTP_X_FORWARDED_FOR'))
{
if (preg_match_all("#[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}#s", dnp_getenv('HTTP_X_FORWARDED_FOR'), $ips))
{
while (list($key, $val) = @each($ips[0]))
{
if (!preg_match("#^(10|172\.16|192\.168)\.#", $val))
{
$ip = $val;
break;
}
}
}
}
else if (dnp_getenv('HTTP_CLIENT_IP'))
{
$ip = dnp_getenv('HTTP_CLIENT_IP');
}
else if (dnp_getenv('HTTP_FROM'))
{
$ip = dnp_getenv('HTTP_FROM');
}
else
{
$ip = dnp_getenv('REMOTE_ADDR');
}
return preg_replace('#([^0-9,\.]+)#', '', $ip);
}
/**
* Returns an environment variable. Based on PMA_getenv from phpMyAdmin.
*
* @param string Variable name, eg: PHP_SELF
* @return string
*/
function dnp_getenv($varname)
{
if (isset($_SERVER[$varname]))
{
return $_SERVER[$varname];
}
else if (isset($_ENV[$varname]))
{
return $_ENV[$varname];
}
else if (getenv($varname))
{
return getenv($varname);
}
return '';
}