Well, to start with, your UserVars class does not compile. Perhaps you need to turn on all error reporting while developing your code?
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL | E_STRICT);
// ...rest of script...
Here's a version that compiles, with my changes commented. You'll still need to test it and see if it actually does what you want:
<?php
class UserVars{
// need 'var' keyword here. Also, cannot assign a default value
// that is a variable
var $uagent;
// constructor:
// moved assignment of $uagent here
function UserVars()
{
$this->uagent = $_SERVER['HTTP_USER_AGENT'];
}
function time(){
date_default_timezone_set('UTC');
return date('Y-m-d H-i-s');
}
function agent(){
return $uagent;
}
function browser(){
if (ereg("MSIE",$uagent)) {
$browser = "IE";
} elseif (ereg( "Opera",$uagent)) {
$browser = "Opera";
} elseif(ereg("Firefox",$uagent)) {
$browser = "Firefox";
} elseif(ereg("Safari",$uagent)) {
$browser = "Safari";
} else {
$browser= "other";
}
return $browser;
}
function os(){
if (ereg("Win",$uagent)) {
$os="Win";
} else if (ereg("Mac",$uagent)) {
$os="Mac";
} else if (ereg("Linux",$uagent)) {
$os="Linux";
} else if (ereg("Unix",$uagent)) {
$os="Unix";
} else {
$os="Other";
}
return $os;
}
// fixed typo of 'funtion'
function dist(){
if (ereg("Fedora",$uagent)) {
$distro="Fedora";
} else if (ereg("Ubuntu",$uagent)) {
$distro="Ubuntu";
} else if (ereg("Debian",$uagent)) {
$distro="Debian";
} else if (ereg("FreeBSD",$uagent)) {
$distro="FreeBSD";
} else if(ereg("NT 4.0",$uagent)) {
$distro="NT";
} else if (ereg("NT 5.0",$uagent)) {
$distro="2000";
} else if (ereg("NT 5.1",$uagent)) {
$distro="XP";
} else if (ereg("NT 5.2",$uagent)) {
$distro="XP";
}else if (ereg("NT 6.0",$uagent)) {
$distro="Vista";
} else {
$distro="Other";
}
return $distro;
}
function ip(){
return $_SERVER['REMOTE_ADDR'];
}
function ip2(){
if ($ip2 = getenv('HTTP_CLIENT_IP')) {}
elseif ($ip2 = getenv('HTTP_X_FORWARDED_FOR')) {}
elseif ($ip2 = getenv('HTTP_X_FORWARDED')) {}
elseif ($ip2 = getenv('HTTP_FORWARDED_FOR')) {}
elseif ($ip2 = getenv('HTTP_FORWARDED')) {}
else {
$ip2 = "0";
}
return $ip2;
}
}
?>