Version: 1.12
Type: Full Script
Category: HTML
License: GNU General Public License
Description: This php script returns a series of variables that define the browser type, version, and platform by interpreting the User Agent. Use a REQUIRE or INCLUDE to incorporate this file into your pages
<?php // NAME: // AEBrowser.php3 // // VERSION: // Version 1.1 - 5/3/01 // // AUTHOR: // Behdad Esfahbod ([email protected]) // UPDATED BY: // Kumar ([email protected]) // // DESCRIPTION: // (Kumar notes: parenthesis weren't closed for if() on line 250 .. everything else is the same) // This custom tag returns a series of variables that define the browser type, version, // and platform by interpreting the User Agent. // // RETURNED VARIABLES: // All variables are stored in the array BROWSER and can be accessed via BROWSER["variable"] // // Browser Type Variables // ====================== // Type : [Navigator|Explorer|AOL|Opera|WebTV|Lynx|Other] // isNavigator : [yes|no] // isExplorer : [yes|no] // isAOL : [yes|no] // isOpera : [yes|no] // isWebTV : [yes|no] // isLynx : [yes|no] // isOtherType : [yes|no] // // Browser Version Variables // ========================= // Version : Default is 0 // MajorVersion : Default is 0 // MinorVersion : Default is 0 // mozillaVersion : Default is 0 // // Browser Platform Variables // ========================== // Platform : [Windows|Mac|Linux|Unix|OS/2|WebTV|Other] // isWindows : [yes|no] // isMac : [yes|no] // isUnix : [yes|no] // isLinux : [yes|no] // isOS2 : [yes|no] // isWebTV : [yes|no] // isOtherOS : [yes|no] // // Random Variables // ================ // The following variables are also included based on browser information // supportCSS : [yes|no] Navigator/Explorer 4+, AOL 3+, WebTV and Opera 3.6+. // supportDHTML : [yes|no] Navigator, Explorer and AOL 4+ (all platforms). // supportXML : [yes|no] Navigator 6+, Explorer 5+, Opera 4+ // supportJava : [yes|no] Navigator 3+, Explorer 3+, AOL3+. // supportJavaScript : [yes|no] Navigator 3+, Explorer 3+, AOL 3+, Opera 3.5+, WebTV. // supportTrueDoc : [yes|no] Navigator 4.03+ (Windows/Mac), Explorer 4+ (Windows). // supportBidi : [yes|no] Explorer 5+ // // NOTES: // Version 1.1 - 5/3/01 // // ============================================================================================= // Set User Agent String $User_Agent = $HTTP_USER_AGENT; // Initialize Array $BROWSER["Type"]="Other"; $BROWSER["isNavigator"]=0; $BROWSER["isExplorer"]=0; $BROWSER["isAOL"]=0; $BROWSER["isOpera"]=0; $BROWSER["isWebTV"]=0; $BROWSER["isLynx"]=0; $BROWSER["isOtherType"]=0; $BROWSER["Version"]=0; $BROWSER["MajorVersion"]=0; $BROWSER["MinorVersion"]=0; $BROWSER["mozillaVersion"]=0; $BROWSER["Platform"]="Other"; $BROWSER["isWindows"]=0; $BROWSER["isMac"]=0; $BROWSER["isUnix"]=0; $BROWSER["isLinux"]=0; $BROWSER["isOS2"]=0; $BROWSER["isWebTV"]=0; $BROWSER["isOtherOS"]=0; $BROWSER["supportCSS"]=0; $BROWSER["supportDHTML"]=0; $BROWSER["supportXML"]=0; $BROWSER["supportJava"]=0; $BROWSER["supportJavaScript"]=0; $BROWSER["supportTrueDoc"]=0; $BROWSER["supportBidi"]=0; // Determine Browser Type if ((eregi("Mozilla", $User_Agent)) && (!((eregi("MSIE", $User_Agent)) || (eregi("Opera", $User_Agent)) || (eregi("WebTV", $User_Agent)) || (eregi("compatible", $User_Agent))))) { $BROWSER["isNavigator"]=1; $BROWSER["Type"]="Navigator"; } elseif ((eregi("MSIE", $User_Agent)) && (!((eregi("AOL", $User_Agent)) || (eregi("WebTV", $User_Agent))))) { $BROWSER["isExplorer"]=1; $BROWSER["Type"]="Explorer"; } elseif (eregi("AOL", $User_Agent)) { $BROWSER["isAOL"]=1; $BROWSER["Type"]="AOL"; } elseif (eregi("Opera", $User_Agent)) { $BROWSER["isOpera"]=1; $BROWSER["Type"]="Opera"; } elseif (eregi("WebTV", $User_Agent)) { $BROWSER["isWebTV"]=1; $BROWSER["Type"]="WebTV"; } elseif (eregi("Lynx", $User_Agent)) { $BROWSER["isLynx"]=1; $BROWSER["Type"]="Lynx"; } else { $BROWSER["isOtherType"]=1; } // Set Generic Mozilla Version if not Lynx if (!($BROWSER["isLynx"])) { $BROWSER["mozillaVersion"] = strtok($User_Agent, "/"); $BROWSER["mozillaVersion"] = strtok( " "); } // Determine Browser Version based on Browser type if ($BROWSER["isNavigator"]) { if ($BROWSER["mozillaVersion"] = 5) { $useragents[1]="Mozilla/5.0 (Windows; N; WinNT4.0; en-US; m14) Netscape6/6.0b1"; $BROWSER["Version"] = strtok($User_Agent, ")"); $BROWSER["Version"] = strtok( "/"); $BROWSER["Version"] = strtok( ""); } else { $BROWSER["Version"] = $BROWSER["mozillaVersion"]; } } elseif ($BROWSER["isExplorer"]) { $BROWSER["Version"] = strtok($User_Agent, "("); $BROWSER["Version"] = strtok( "MSIE"); $BROWSER["Version"] = strtok( " "); $BROWSER["Version"] = strtok( ";"); } elseif ($BROWSER["isAOL"]) { $BROWSER["Version"]=strtok($User_Agent, "("); $BROWSER["Version"] = strtok( "AOL"); $BROWSER["Version"] = strtok( " "); $BROWSER["Version"] = strtok( ";"); } elseif ($BROWSER["isOpera"]) { $BROWSER["Version"]=strtok($User_Agent, ")"); $BROWSER["Version"] = strtok( "Opera"); $BROWSER["Version"] = strtok( " "); $BROWSER["Version"] = strtok( " "); } elseif ($BROWSER["isWebTV"]) { $BROWSER["Version"]=strtok($User_Agent, " "); $BROWSER["Version"] = strtok( "/"); $BROWSER["Version"] = strtok( " "); } elseif ($BROWSER["isLynx"]) { $BROWSER["Version"]=strtok($User_Agent, "/"); $BROWSER["Version"] = strtok( " "); } // Determine Major and Minor version for browser $BROWSER["MajorVersion"] = strtok($BROWSER["Version"], "."); $BROWSER["MinorVersion"] = strtok($BROWSER["Version"], "."); $BROWSER["MinorVersion"] = strtok( ""); // Determine Platform if (eregi("win", $User_Agent)) { $BROWSER["isWindows"]=1; $BROWSER["Platform"]="Windows"; } elseif (eregi("mac", $User_Agent)) { $BROWSER["isMac"]=1; $BROWSER["Platform"]="Mac"; } elseif (eregi("x11", $User_Agent)) { $BROWSER["isUnix"]=1; $BROWSER["Platform"]="Unix"; if (eregi("inux", $User_Agent)) { $BROWSER["isLinux"]=1; $BROWSER["Platform"]="Linux"; } } elseif ((eregi("os/2", $User_Agent)) || (eregi("ibm-webexplorer", $User_Agent))){ $BROWSER["isOS2"]=1; $BROWSER["Platform"]="OS/2"; } elseif ($BROWSER["isWebTV"]) { $BROWSER["Platform"]="WebTV"; } else { $BROWSER["isOtherOS"]=1; $BROWSER["Platform"]="Other"; } // Determine CSS Support. // Navigator/Explorer 4+ (all platforms), AOL 3+, WebTV and Opera 3.5+. if ( ($BROWSER["isNavigator"] && $BROWSER["Version"] >= 4) || ($BROWSER["isExplorer"] && $BROWSER["Version"] >= 4) || ($BROWSER["isAOL"] && $BROWSER["Version"] >= 3) || ($BROWSER["isOpera"] && $BROWSER["Version"] >= 3.6) || ($BROWSER["isWebTV"]) ) { $BROWSER["supportCSS"]=1; } // Determine DHTML support // Navigator, Explorer and AOL 4+ (all platforms). if ( ($BROWSER["isNavigator"] && $BROWSER["Version"] >= 4) || ($BROWSER["isExplorer"] && $BROWSER["Version"] >= 4) || ($BROWSER["isAOL"] && $BROWSER["Version"] >= 4) ) { $BROWSER["supportDHTML"]=1; } // Determine XML support. // Navigator 6+, Explorer 5+, Opera 4+. if ( ($BROWSER["isNavigator"] && $BROWSER["Version"] >= 6) || ($BROWSER["isExplorer"] && $BROWSER["Version"] >= 5) || ($BROWSER["isOpera"] && $BROWSER["Version"] >= 4) ) { $BROWSER["supportXML"]=1; } // Determine Java support. // Navigator 3+, Explorer 3+, AOL3+. if ( ($BROWSER["isNavigator"] && $BROWSER["Version"] >= 3) || ($BROWSER["isExplorer"] && $BROWSER["Version"] >= 3) || ($BROWSER["isAOL"] && $BROWSER["Version"] >= 3) ) { $BROWSER["supportJava"]=1; } // Determine JavaScript support. // Navigator 3+, Explorer 3+, AOL 3+, Opera 3.5+, WebTV. if ( ($BROWSER["isNavigator"] && $BROWSER["Version"] >= 3) || ($BROWSER["isExplorer"] && $BROWSER["Version"] >= 3) || ($BROWSER["isAOL"] && $BROWSER["Version"] >= 3) || ($BROWSER["isOpera"] && $BROWSER["Version"] >= 3.5) || ($BROWSER["isWebTV"]) ) { $BROWSER["supportJavaScript"]=1; } // Determine TrueDoc embedded font support // Navigator 4.03+ (Windows/Mac), Explorer 4+ (Windows). if ( ($BROWSER["isNavigator"] && ($BROWSER["Version"] >= 4.03) && (($BROWSER["Platform"] == "Windows") || ($BROWSER["Platform"] == "Mac"))) || ($BROWSER["isExplorer"] && ($BROWSER["Version"] >= 4) && ($BROWSER["Platform"] == "Windows")) || ($BROWSER["isAOL"] && ($BROWSER["Version"] >= 4) && ($BROWSER["Platform"] == "Windows")) ) { $BROWSER["supportTrueDoc"]=1; } // Determine Bidi support if ($BROWSER["isExplorer"] && ($BROWSER["Version"] >= 5.0) ) { $BROWSER["supportBidi"]=1; } ?>