View file tm/userAgent.class.php

File size: 1.92Kb
<?php

class userAgent
{
    public  $browserVersion =  '';
    public  $browserName = '';
    public  $operatingSystem = '';
    private $agent = '';
    private $browsers = array('firefox', 'msie', 'opera', 'chrome', 'safari',
                              'mozilla', 'seamonkey', 'konqueror', 'netscape',
                              'gecko', 'navigator', 'mosaic', 'lynx', 'amaya',
                              'omniweb', 'avant', 'camino', 'flock', 'aol');
	private $os = array('Windows 3.11' => 'Win16',
						'Windows 95' => '(Windows 95)|(Win95)|(Windows_95)',
						'Windows 98' => '(Windows 98)|(Win98)',
						'Windows 2000' => '(Windows NT 5.0)|(Windows 2000)',
						'Windows XP' => '(Windows NT 5.1)|(Windows XP)',
						'Windows Server 2003' => '(Windows NT 5.2)',
						'Windows Vista' => '(Windows NT 6.0)',
						'Windows 7' => '(Windows NT 6.1)',
						'Windows NT 4.0' => '(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)',
						'Windows ME' => 'Windows ME',
						'Open BSD' => 'OpenBSD',
						'Sun OS' => 'SunOS',
						'Linux' => '(Linux)|(X11)',
						'Mac OS' => '(Mac_PowerPC)|(Macintosh)',
						'QNX' => 'QNX',
						'BeOS' => 'BeOS',
						'OS/2' => 'OS/2',
						'Search Bot'=>'(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp)|(MSNBot)|(Ask Jeeves/Teoma)|(ia_archiver)');

    public function __construct()
    {
        $this->agent = strtolower($_SERVER['HTTP_USER_AGENT']);
        foreach($this->browsers as $browser)
        {
            if (preg_match("#($browser)[/ ]?([0-9.]*)#", $this->agent, $match))
            {
                $this->browserName = $match[1] ;
                $this->browserVersion = $match[2] ;
                break;
            }
        }
        foreach ($this->os as $curOs => $match)
        {
			if (preg_match("#$match#i", $this->agent))
        	{
        		$this->operatingSystem = $curOs;
        		break;
        	}
        }
    }

}

?>