Source for file OCSP_BROWSER.phpclass
Documentation is available at OCSP_BROWSER.phpclass
/*****************************************************************  
    Last modified: November 10, 2003  
    **************************************************************  
    Copyright (C) 2003  Gary White  
    This program is free software; you can redistribute it and/or  
    modify it under the terms of the GNU General Public License  
    as published by the Free Software Foundation; either version 2  
    of the License, or (at your option) any later version.  
    This program is distributed in the hope that it will be useful,  
    but WITHOUT ANY WARRANTY; without even the implied warranty of  
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
    GNU General Public License for more details at:  
    http://www.gnu.org/copyleft/gpl.html  
    **************************************************************  
    Identifies the user's Operating system, browser and version  
    by parsing the HTTP_USER_AGENT string sent to the server  
        require_once($_SERVER['DOCUMENT_ROOT'].'/include/browser.php');  
        echo "$br->Platform, $br->Name version $br->Version";  
    For operating systems, it will correctly identify:  
    Anything not determined to be one of the above is considered to by Unix  
    because most Unix based browsers seem to not report the operating system.  
    The only known problem here is that, if a HTTP_USER_AGENT string does not  
    contain the operating system, it will be identified as Unix. For unknown  
    browsers, this may not be correct.  
    For browsers, it should correctly identify all versions of:  
            For AOL versions it will identify as Internet Explorer (AOL) and the version  
            will be the AOL version instead of the IE version.  
        Netscape Navigator/Communicator  
        Pocket Internet Explorer for handhelds  
*****************************************************************/  
     * @staticvar OCSP_BROWSER $myInstance   
    static $myInstance = 
Null;  
     * returns the current instance  
            self::$myInstance = 
new OCSP_BROWSER();  
        return self::$myInstance;  
        $agent = 
$_SERVER['HTTP_USER_AGENT'];  
        $bd['platform'] = 
"Unknown";  
        $bd['browser'] = 
"Unknown";  
        $bd['version'] = 
"Unknown";  
        if (eregi("win", $agent))  
            $bd['platform'] = 
"Windows";  
        elseif (eregi("mac", $agent))  
            $bd['platform'] = 
"MacIntosh";  
        elseif (eregi("linux", $agent))  
            $bd['platform'] = 
"Linux";  
        elseif (eregi("OS/2", $agent))  
            $bd['platform'] = 
"OS/2";  
        elseif (eregi("BeOS", $agent))  
            $bd['platform'] = 
"BeOS";  
        if (eregi("opera",$agent)){  
                $bd['browser'] = 
$val[0];  
                $bd['version'] = 
$val[0];  
                $bd['browser'] = 
$val[0];  
                $bd['version'] = 
$val[1];  
        }elseif(eregi("webtv",$agent)){  
            $bd['browser'] = 
$val[0];  
            $bd['version'] = 
$val[1];  
        // test for MS Internet Explorer version 1  
        }elseif(eregi("microsoft internet explorer", $agent)){  
            if (ereg("308|425|426|474|0b1", $var)){  
        }elseif(eregi("NetPositive", $agent)){  
            $bd['platform'] = 
"BeOS";  
            $bd['browser'] = 
$val[0];  
            $bd['version'] = 
$val[1];  
        // test for MS Internet Explorer  
        }elseif(eregi("msie",$agent) && 
!eregi("opera",$agent)){  
            $bd['browser'] = 
$val[0];  
            $bd['version'] = 
$val[1];  
        // test for MS Pocket Internet Explorer  
        }elseif(eregi("mspie",$agent) || 
eregi('pocket', $agent)){  
            $bd['browser'] = 
"MSPIE";  
            $bd['platform'] = 
"WindowsCE";  
            if (eregi("mspie", $agent))  
                $bd['version'] = 
$val[1];  
                $bd['version'] = 
$val[1];  
        }elseif(eregi("galeon",$agent)){  
            $bd['browser'] = 
$val[0];  
            $bd['version'] = 
$val[1];  
        }elseif(eregi("Konqueror",$agent)){  
            $bd['browser'] = 
$val[0];  
            $bd['version'] = 
$val[1];  
        }elseif(eregi("icab",$agent)){  
            $bd['browser'] = 
$val[0];  
            $bd['version'] = 
$val[1];  
        }elseif(eregi("omniweb",$agent)){  
            $bd['browser'] = 
$val[0];  
            $bd['version'] = 
$val[1];  
        }elseif(eregi("Phoenix", $agent)){  
            $bd['browser'] = 
"Phoenix";  
            $bd['version'] = 
$val[1];  
        }elseif(eregi("firebird", $agent)){  
            $bd['browser']=
"Firebird";  
            $val = 
stristr($agent, "Firebird");  
            $bd['version'] = 
$val[1];  
        }elseif(eregi("Firefox", $agent)){  
            $bd['browser']=
"Firefox";  
            $bd['version'] = 
$val[1];  
      // test for Mozilla Alpha/Beta Versions  
        }elseif(eregi("mozilla",$agent) &&
  
            eregi("rv:[0-9].[0-9][a-b]",$agent) && 
!eregi("netscape",$agent)){  
            $bd['browser'] = 
"Mozilla";  
            eregi("rv:[0-9].[0-9][a-b]",$agent,$val);  
        // test for Mozilla Stable Versions  
        }elseif(eregi("mozilla",$agent) &&
  
            eregi("rv:[0-9]\.[0-9]",$agent) && 
!eregi("netscape",$agent)){  
            $bd['browser'] = 
"Mozilla";  
            eregi("rv:[0-9]\.[0-9]\.[0-9]",$agent,$val);  
        }elseif(eregi("libwww", $agent)){  
            if (eregi("amaya", $agent)){  
                $bd['browser'] = 
"Amaya";  
                $bd['version'] = 
$val[0];  
                $bd['version'] = 
$val[1];  
        }elseif(eregi("safari", $agent)){  
            $bd['browser'] = 
"Safari";  
        // remaining two tests are for Netscape  
        }elseif(eregi("netscape",$agent)){  
            $bd['browser'] = 
$val[0];  
            $bd['version'] = 
$val[1];  
        }elseif(eregi("mozilla",$agent) && 
!eregi("rv:[0-9]\.[0-9]\.[0-9]",$agent)){  
            $bd['browser'] = 
"Netscape";  
            $bd['version'] = 
$val[1];  
        // clean up extraneous garbage that may be in the name  
        $bd['browser'] = 
ereg_replace("[^a-z,A-Z]", "", $bd['browser']);  
        // clean up extraneous garbage that may be in the version  
        $bd['version'] = 
ereg_replace("[^0-9,.,a-z,A-Z]", "", $bd['version']);  
        if (eregi("AOL", $agent)){  
        // finally assign our properties  
        $this->AOL = 
(isset
($bd['aol']) ? 
$bd['aol'] : 
""); // <pk-07-05-09 />  
      * returns if we have a m$ internet explorer  
        return (($this->Name==
"MSIE") || 
($this->Name == 
"MSPIE"));  
      * returns an ID-String (Name_version) to identify a browser  
      * returns the main version  
      * @return mixed (int if the first part of version is an int  
        if (strstr($this->version,'.'))  
            $arr_version=
explode('.',$this->version);  
                return intval($arr_version[0]);  
                return intval($this->version);  
 
 
	
		Documentation generated on Thu, 08 Jan 2009 17:45:10 +0100 by phpDocumentor 1.4.0a2