Browser_Detection
[ class tree: Browser_Detection ] [ index: Browser_Detection ] [ all elements ]

Class: BrowserDetection

Source Location: /BrowserDetection.php

Class Overview


The BrowserDetection class facilitates the identification of the user's environment such as Web browser, version, platform and device type.


Author(s):

  • Alexandre Valiquette, Chris Schuld, Gary White

Version:

  • 2.9.3

Copyright:

  • Copyright (c) 2019, Wolfcast

Variables

Constants

Methods



Class Details

[line 136]
The BrowserDetection class facilitates the identification of the user's environment such as Web browser, version, platform and device type.

Typical usage:

$browser = new Wolfcast\BrowserDetection(); if ($browser->getName() == Wolfcast\BrowserDetection::BROWSER_FIREFOX && $browser->compareVersions($browser->getVersion(), '5.0') >= 0) { echo 'You are using FireFox version 5 or greater.'; }

The class is a rewrite of Chris Schuld's Browser class version 1.9 which is mostly unmaintained since August 20th, 2010. Chris' class was based on the original work from Gary White.

Updates:

2019-03-27: Version 2.9.3

  • Fixed Edge detection on Android.
  • Added Android Q detection.
  • Now filtering superglobals.
2019-02-28: Version 2.9.2
  • Fixed Opera detection.
2018-08-23: Version 2.9.1
  • Fixed Chrome detection under iOS.
  • Added Android Pie detection.
  • Added macOS Mojave detection.
2018-07-15: Version 2.9.0
  • WARNING! Breaking change: new Wolfcast namespace. Use new Wolfcast\BrowserDetection().
  • iPad, iPhone and iPod are all under iOS now.
  • Added Android Oreo detection.
  • Added macOS High Sierra detection.
  • Added UC Browser detection.
  • Improved regular expressions (even less false positives).
  • Removed AOL detection.
  • Removed the following Web browsers detection: Amaya, Galeon, NetPositive, OmniWeb, Vivaldi detection (use addCustomBrowserDetection()).
  • Removed the following legacy platforms detection: BeOS, OS/2, SunOS (use addCustomPlatformDetection()).
2016-11-28: Version 2.5.1
  • Better detection of 64-bit platforms.
2016-08-19: Version 2.5.0
  • Platform version and platform version name are now supported for Mac.
  • Fixed platform version name for Android.
2016-08-02: Version 2.4.0
  • Platform version and platform version name are now supported for Android.
  • Added support for the Samsung Internet browser.
  • Added support for the Vivaldi browser.
  • Better support for legacy Windows versions.
2016-02-11: Version 2.3.0
  • WARNING! Breaking change: public method getBrowser() is renamed to getName().
  • WARNING! Breaking change: changed the compareVersions() return values to be more in line with other libraries.
  • You can now get the exact platform version (name or version numbers) on which the browser is run on with getPlatformVersion(). Only working with Windows operating systems at the moment.
  • You can now determine if the browser is executed from a 64-bit platform with is64bitPlatform().
  • Better detection of mobile platform for Googlebot.
2016-01-04: Version 2.2.0
  • Added support for Microsoft Edge.
2014-12-30: Version 2.1.2
  • Better detection of Opera.
2014-07-11: Version 2.1.1
  • Better detection of mobile devices and platforms.
2014-06-04: Version 2.1.0
  • Added support for IE 11+.
2013-05-27: Version 2.0.0 which is (almost) a complete rewrite based on Chris Schuld's Browser class version 1.9 plus changes below.
  • Added support for Opera Mobile
  • Added support for the Windows Phone (formerly Windows Mobile) platform
  • Added support for BlackBerry Tablet OS and BlackBerry 10
  • Added support for the Symbian platform
  • Added support for Bingbot
  • Added support for the Yahoo! Multimedia crawler
  • Removed iPhone/iPad/iPod browsers since there are not browsers but platforms - test them with getPlatform()
  • Removed support for Shiretoko (Firefox 3.5 alpha/beta) and MSN Browser
  • Merged Nokia and Nokia S60
  • Updated some deprecated browser names
  • Many public methods are now protected
  • Documentation updated
2010-07-04:
  • Added detection of IE compatibility view - test with getIECompatibilityView()
  • Added support for all (deprecated) Netscape versions
  • Added support for Safari < 3.0
  • Better Firefox version parsing
  • Better Opera version parsing
  • Better Mozilla detection




Tags:

author:  Alexandre Valiquette, Chris Schuld, Gary White
version:  2.9.3
copyright:  Copyright (c) 2019, Wolfcast
link:  http://chrisschuld.com/
link:  https://wolfcast.com/open-source/browser-detection/tutorial.php
link:  https://wolfcast.com/
link:  http://www.apptools.com/phptools/browser/
last-modified:  March 27, 2019
license:  http://www.gnu.org/licenses/lgpl.html


[ Top ]


Class Variables

$_agent =  ''

[line 207]



Tags:

access:  private

Type:   string


[ Top ]

$_browserName =  ''

[line 213]



Tags:

access:  private

Type:   string


[ Top ]

$_compatibilityViewName =  ''

[line 219]



Tags:

access:  private

Type:   string


[ Top ]

$_compatibilityViewVer =  ''

[line 225]



Tags:

access:  private

Type:   string


[ Top ]

$_customBrowserDetection = array()

[line 231]



Tags:

access:  private

Type:   array


[ Top ]

$_customPlatformDetection = array()

[line 237]



Tags:

access:  private

Type:   array


[ Top ]

$_is64bit =  false

[line 243]



Tags:

access:  private

Type:   boolean


[ Top ]

$_isMobile =  false

[line 249]



Tags:

access:  private

Type:   boolean


[ Top ]

$_isRobot =  false

[line 255]



Tags:

access:  private

Type:   boolean


[ Top ]

$_platform =  ''

[line 261]



Tags:

access:  private

Type:   string


[ Top ]

$_platformVersion =  ''

[line 267]



Tags:

access:  private

Type:   string


[ Top ]

$_version =  ''

[line 273]



Tags:

access:  private

Type:   string


[ Top ]



Class Methods


method addCustomBrowserDetection [line 337]

boolean addCustomBrowserDetection( string $browserName, [mixed $uaNameToLookFor = ''], [boolean $isMobile = false], [boolean $isRobot = false], [string $separator = '/'], [boolean $uaNameFindWords = true])

Dynamically add support for a new Web browser.



Tags:

return:  Returns true if the custom rule has been added, false otherwise.
see:  BrowserDetection::removeCustomBrowserDetection()
access:  public


Parameters:

string   $browserName   The Web browser name (used for display).
mixed   $uaNameToLookFor   (optional) The string (or array of strings) representing the browser name to find in the user agent. If omitted, $browserName will be used.
boolean   $isMobile   (optional) Determines if the browser is from a mobile device.
boolean   $isRobot   (optional) Determines if the browser is a robot or not.
string   $separator   (optional) The separator string used to split the browser name and the version number in the user agent.
boolean   $uaNameFindWords   (optional) Determines if the browser name to find should match a word instead of a part of a word. For example "Bar" would not be found in "FooBar" when true but would be found in "Foo Bar". When set to false, the browser name can be found anywhere in the user agent string.

[ Top ]

method addCustomPlatformDetection [line 362]

boolean addCustomPlatformDetection( string $platformName, [mixed $platformNameToLookFor = ''], [boolean $isMobile = false])

Dynamically add support for a new platform.



Tags:

return:  Returns true if the custom rule has been added, false otherwise.
see:  BrowserDetection::removeCustomPlatformDetection()
access:  public


Parameters:

string   $platformName   The platform name (used for display).
mixed   $platformNameToLookFor   (optional) The string (or array of strings) representing the platform name to find in the user agent. If omitted, $platformName will be used.
boolean   $isMobile   (optional) Determines if the platform is from a mobile device.

[ Top ]

method androidVerToStr [line 653]

string androidVerToStr( string $androidVer)

Convert the Android version numbers to the operating system name. For instance '1.6' returns 'Donut'.



Tags:

return:  The operating system name or the constant PLATFORM_VERSION_UNKNOWN if nothing match the version numbers.
access:  protected


Parameters:

string   $androidVer   The Android version numbers as a string.

[ Top ]

constructor __construct [line 284]

BrowserDetection __construct( [string $useragent = ''])

BrowserDetection class constructor.



Tags:

access:  public


Parameters:

string   $useragent   (optional) The user agent to work with. Leave empty for the current user agent (contained in $_SERVER['HTTP_USER_AGENT']).

[ Top ]

method checkBrowserAndroid [line 698]

boolean checkBrowserAndroid( )

Determine if the browser is the Android browser (based on the WebKit layout engine and coupled with Chrome's JavaScript engine) or not.



Tags:

return:  Returns true if the browser is the Android browser, false otherwise.
access:  protected


[ Top ]

method checkBrowserBingbot [line 710]

boolean checkBrowserBingbot( )

Determine if the browser is the Bingbot crawler or not.



Tags:

return:  Returns true if the browser is Bingbot, false otherwise.
link:  http://www.bing.com/webmaster/help/which-crawlers-does-bing-use-8c184ec0
access:  protected


[ Top ]

method checkBrowserBlackBerry [line 721]

boolean checkBrowserBlackBerry( )

Determine if the browser is the BlackBerry browser or not.



Tags:

return:  Returns true if the browser is the BlackBerry browser, false otherwise.
link:  http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/How-to-detect-the-BlackBerry-Browser/ta-p/559862
access:  protected


[ Top ]

method checkBrowserChrome [line 757]

boolean checkBrowserChrome( )

Determine if the browser is Chrome or not.



Tags:

return:  Returns true if the browser is Chrome, false otherwise.
link:  http://www.google.com/chrome/
access:  protected


[ Top ]

method checkBrowserCustom [line 768]

boolean checkBrowserCustom( )

Determine if the browser is among the custom browser rules or not. Rules are checked in the order they were added.



Tags:

return:  Returns true if we found the browser we were looking for in the custom rules, false otherwise.
access:  protected


[ Top ]

method checkBrowserEdge [line 788]

boolean checkBrowserEdge( )

Determine if the browser is Edge or not.



Tags:

return:  Returns true if the browser is Edge, false otherwise.
access:  protected


[ Top ]

method checkBrowserFirebird [line 798]

boolean checkBrowserFirebird( )

Determine if the browser is Firebird or not. Firebird was the name of Firefox from version 0.6 to 0.7.1.



Tags:

return:  Returns true if the browser is Firebird, false otherwise.
access:  protected


[ Top ]

method checkBrowserFirefox [line 809]

boolean checkBrowserFirefox( )

Determine if the browser is Firefox or not.



Tags:

return:  Returns true if the browser is Firefox, false otherwise.
link:  http://www.mozilla.org/en-US/firefox/new/
access:  protected


[ Top ]

method checkBrowserGooglebot [line 830]

boolean checkBrowserGooglebot( )

Determine if the browser is the Googlebot crawler or not.



Tags:

return:  Returns true if the browser is Googlebot, false otherwise.
access:  protected


[ Top ]

method checkBrowserIcab [line 850]

boolean checkBrowserIcab( )

Determine if the browser is iCab or not.



Tags:

return:  Returns true if the browser is iCab, false otherwise.
link:  http://www.icab.de/
access:  protected


[ Top ]

method checkBrowserIceCat [line 862]

boolean checkBrowserIceCat( )

Determine if the browser is GNU IceCat (formerly known as GNU IceWeasel) or not.



Tags:

return:  Returns true if the browser is GNU IceCat, false otherwise.
link:  http://www.gnu.org/software/gnuzilla/
access:  protected


[ Top ]

method checkBrowserIceWeasel [line 873]

boolean checkBrowserIceWeasel( )

Determine if the browser is GNU IceWeasel (now know as GNU IceCat) or not.



Tags:

return:  Returns true if the browser is GNU IceWeasel, false otherwise.
see:  BrowserDetection::checkBrowserIceCat()
access:  protected


[ Top ]

method checkBrowserInternetExplorer [line 885]

boolean checkBrowserInternetExplorer( )

Determine if the browser is Internet Explorer or not.



Tags:

return:  Returns true if the browser is Internet Explorer, false otherwise.
link:  http://www.microsoft.com/ie/
link:  http://en.wikipedia.org/wiki/Internet_Explorer_Mobile
access:  protected


[ Top ]

method checkBrowserKonqueror [line 976]

boolean checkBrowserKonqueror( )

Determine if the browser is Konqueror or not.



Tags:

return:  Returns true if the browser is Konqueror, false otherwise.
link:  http://www.konqueror.org/
access:  protected


[ Top ]

method checkBrowserLynx [line 988]

boolean checkBrowserLynx( )

Determine if the browser is Lynx or not. It is the oldest web browser currently in general use and development.

It is a text-based only Web browser.




Tags:

return:  Returns true if the browser is Lynx, false otherwise.
link:  http://en.wikipedia.org/wiki/Lynx
access:  protected


[ Top ]

method checkBrowserMozilla [line 998]

boolean checkBrowserMozilla( )

Determine if the browser is Mozilla or not.



Tags:

return:  Returns true if the browser is Mozilla, false otherwise.
access:  protected


[ Top ]

method checkBrowserMsnBot [line 1009]

boolean checkBrowserMsnBot( )

Determine if the browser is the MSNBot crawler or not. In October 2010 it was replaced by the Bingbot robot.



Tags:

return:  Returns true if the browser is MSNBot, false otherwise.
see:  BrowserDetection::checkBrowserBingbot()
access:  protected


[ Top ]

method checkBrowserMsnTv [line 1020]

boolean checkBrowserMsnTv( )

Determine if the browser is MSN TV (formerly WebTV) or not.



Tags:

return:  Returns true if the browser is WebTv, false otherwise.
link:  http://en.wikipedia.org/wiki/MSN_TV
access:  protected


[ Top ]

method checkBrowserNetscape [line 1031]

boolean checkBrowserNetscape( )

Determine if the browser is Netscape or not. Official support for this browser ended on March 1st, 2008.



Tags:

return:  Returns true if the browser is Netscape, false otherwise.
link:  http://en.wikipedia.org/wiki/Netscape
access:  protected


[ Top ]

method checkBrowserNokia [line 1084]

boolean checkBrowserNokia( )

Determine if the browser is a Nokia browser or not.



Tags:

return:  Returns true if the browser is a Nokia browser, false otherwise.
link:  http://www.developer.nokia.com/Community/Wiki/User-Agent_headers_for_Nokia_devices
access:  protected


[ Top ]

method checkBrowserOpera [line 1111]

boolean checkBrowserOpera( )

Determine if the browser is Opera or not.



Tags:

return:  Returns true if the browser is Opera, false otherwise.
link:  http://my.opera.com/community/openweb/idopera/
link:  http://www.opera.com/
link:  http://www.opera.com/mobile/
link:  http://www.opera.com/mini/
access:  protected


[ Top ]

method checkBrowserPhoenix [line 1147]

boolean checkBrowserPhoenix( )

Determine if the browser is Phoenix or not. Phoenix was the name of Firefox from version 0.1 to 0.5.



Tags:

return:  Returns true if the browser is Phoenix, false otherwise.
access:  protected


[ Top ]

method checkBrowsers [line 1157]

boolean checkBrowsers( )

Determine what is the browser used by the user.



Tags:

return:  Returns true if the browser has been identified, false otherwise.
access:  protected


[ Top ]

method checkBrowserSafari [line 1206]

boolean checkBrowserSafari( )

Determine if the browser is Safari or not.



Tags:



[ Top ]

method checkBrowserSamsung [line 1245]

boolean checkBrowserSamsung( )

Determine if the browser is the Samsung Internet browser or not.



Tags:

return:  Returns true if the browser is the the Samsung Internet browser, false otherwise.
access:  protected


[ Top ]

method checkBrowserSlurp [line 1255]

boolean checkBrowserSlurp( )

Determine if the browser is the Yahoo! Slurp crawler or not.



Tags:

return:  Returns true if the browser is Yahoo! Slurp, false otherwise.
access:  protected


[ Top ]

method checkBrowserUAWithVersion [line 1275]

boolean checkBrowserUAWithVersion( mixed $uaNameToLookFor, string $userAgent, string $browserName, [boolean $isMobile = false], [boolean $isRobot = false], [boolean $findWords = true])

Test the user agent for a specific browser that use a "Version" string (like Safari and Opera). The user agent should look like: "Version/1.0 Browser name/123.456" or "Browser name/123.456 Version/1.0".



Tags:

return:  Returns true if we found the browser we were looking for, false otherwise.
access:  protected


Parameters:

mixed   $uaNameToLookFor   The string (or array of strings) representing the browser name to find in the user agent.
string   $userAgent   The user agent string to work with.
string   $browserName   The literal browser name. Always use a class constant!
boolean   $isMobile   (optional) Determines if the browser is from a mobile device.
boolean   $isRobot   (optional) Determines if the browser is a robot or not.
boolean   $findWords   (optional) Determines if the needle should match a word to be found. For example "Bar" would not be found in "FooBar" when true but would be found in "Foo Bar". When set to false, the needle can be found anywhere in the haystack.

[ Top ]

method checkBrowserUC [line 1308]

boolean checkBrowserUC( )

Determine if the browser is UC Browser or not.



Tags:

return:  Returns true if the browser is UC Browser, false otherwise.
access:  protected


[ Top ]

method checkBrowserW3CValidator [line 1319]

boolean checkBrowserW3CValidator( )

Determine if the browser is the W3C Validator or not.



Tags:

return:  Returns true if the browser is the W3C Validator, false otherwise.
link:  http://validator.w3.org/
access:  protected


[ Top ]

method checkBrowserYahooMultimedia [line 1356]

boolean checkBrowserYahooMultimedia( )

Determine if the browser is the Yahoo! multimedia crawler or not.



Tags:

return:  Returns true if the browser is the Yahoo! multimedia crawler, false otherwise.
access:  protected


[ Top ]

method checkPlatform [line 1365]

void checkPlatform( )

Determine the user's platform.



Tags:

access:  protected


[ Top ]

method checkPlatformCustom [line 1432]

boolean checkPlatformCustom( )

Determine if the platform is among the custom platform rules or not. Rules are checked in the order they were added.



Tags:

return:  Returns true if we found the platform we were looking for in the custom rules, false otherwise.
access:  protected


[ Top ]

method checkPlatformVersion [line 1453]

void checkPlatformVersion( )

Determine the user's platform version.



Tags:

access:  protected


[ Top ]

method checkSimpleBrowserUA [line 1528]

boolean checkSimpleBrowserUA( mixed $uaNameToLookFor, string $userAgent, string $browserName, [boolean $isMobile = false], [boolean $isRobot = false], [string $separator = '/'], [boolean $uaNameFindWords = true])

Test the user agent for a specific browser where the browser name is immediately followed by the version number.

The user agent should look like: "Browser name/1.0" or "Browser 1.0;".




Tags:

return:  Returns true if we found the browser we were looking for, false otherwise.
access:  protected


Parameters:

mixed   $uaNameToLookFor   The string (or array of strings) representing the browser name to find in the user agent.
string   $userAgent   The user agent string to work with.
string   $browserName   The literal browser name. Always use a class constant!
boolean   $isMobile   (optional) Determines if the browser is from a mobile device.
boolean   $isRobot   (optional) Determines if the browser is a robot or not.
string   $separator   (optional) The separator string used to split the browser name and the version number in the user agent.
boolean   $uaNameFindWords   (optional) Determines if the browser name to find should match a word instead of a part of a word. For example "Bar" would not be found in "FooBar" when true but would be found in "Foo Bar". When set to false, the browser name can be found anywhere in the user agent string.

[ Top ]

method cleanVersion [line 1617]

string cleanVersion( string $version)

Clean a version string from unwanted characters.



Tags:

return:  Returns the cleaned version number string.
access:  protected


Parameters:

string   $version   The version string to clean.

[ Top ]

method compareVersions [line 384]

int compareVersions( string $sourceVer, string $compareVer)

Compare two version number strings.



Tags:

return:  Returns -1 if $sourceVer < $compareVer, 0 if $sourceVer == $compareVer or 1 if $sourceVer > $compareVer.
access:  public


Parameters:

string   $sourceVer   The source version number.
string   $compareVer   The version number to compare with the source version number.

[ Top ]

method containString [line 1576]

boolean containString( string $haystack, mixed $needle, [boolean $insensitive = true], [boolean $findWords = true])

Find if one or more substring is contained in a string.



Tags:

return:  Returns true if the needle (or one of the needles) has been found in the haystack, false otherwise.
access:  protected


Parameters:

string   $haystack   The string to search in.
mixed   $needle   The string to search for. Can be a string or an array of strings if multiples values are to be searched.
boolean   $insensitive   (optional) Determines if we do a case-sensitive search (false) or a case-insensitive one (true).
boolean   $findWords   (optional) Determines if the needle should match a word to be found. For example "Bar" would not be found in "FooBar" when true but would be found in "Foo Bar". When set to false, the needle can be found anywhere in the haystack.

[ Top ]

method detect [line 1605]

void detect( )

Detect the user environment from the details in the user agent string.



Tags:

access:  protected


[ Top ]

method getIECompatibilityView [line 441]

mixed getIECompatibilityView( [boolean $asArray = false])

Get the name and version of the browser emulated in the compatibility view mode (if any). Since Internet Explorer 8, IE can be put in compatibility mode to make websites that were created for older browsers, especially IE 6 and 7, look better in IE 8+ which renders web pages closer to the standards and thus differently from those older versions of IE.



Tags:

return:  If a string was requested, the function returns the name and version of the browser emulated in the compatibility view mode or an empty string if the browser is not in compatibility view mode. If an array was requested, an array with the keys 'browser' and 'version' is returned.
access:  public


Parameters:

boolean   $asArray   (optional) Determines if the return value must be an array (true) or a string (false).

[ Top ]

method getLibVersion [line 454]

string getLibVersion( )

Return the BrowserDetection class version.



Tags:

return:  Returns the version as a sting with the #.#.# format.
access:  public


[ Top ]

method getName [line 426]

string getName( )

Get the name of the browser. All of the return values are class constants. You can compare them like this: $myBrowserInstance->getName() == BrowserDetection::BROWSER_FIREFOX.



Tags:

return:  Returns the name of the browser.
access:  public


[ Top ]

method getPlatform [line 465]

string getPlatform( )

Get the name of the platform family on which the browser is run on (such as Windows, Apple, etc.). All of the return values are class constants. You can compare them like this: $myBrowserInstance->getPlatform() == BrowserDetection::PLATFORM_ANDROID.



Tags:

return:  Returns the name of the platform or BrowserDetection::PLATFORM_UNKNOWN if unknown.
access:  public


[ Top ]

method getPlatformVersion [line 483]

string getPlatformVersion( [boolean $returnVersionNumbers = false], [boolean $returnServerFlavor = false])

Get the platform version on which the browser is run on. It can be returned as a string number like 'NT 6.3' or as a name like 'Windows 8.1'. When returning version string numbers for Windows NT OS families the number is prefixed by 'NT ' to differentiate from older Windows 3.x & 9x release. At the moment only the Windows and Android operating systems are supported.



Tags:

return:  Returns the version name/version numbers of the platform or the constant PLATFORM_VERSION_UNKNOWN if unknown.
access:  public


Parameters:

boolean   $returnVersionNumbers   (optional) Determines if the return value must be versions numbers as a string (true) or the version name (false).
boolean   $returnServerFlavor   (optional) Since some Windows NT versions have the same values, this flag determines if the Server flavor is returned or not. For instance Windows 8.1 and Windows Server 2012 R2 both use version 6.3. This parameter is only useful when testing for Windows.

[ Top ]

method getUserAgent [line 519]

string getUserAgent( )

Get the user agent value used by the class to determine the browser details.



Tags:

return:  The user agent string.
access:  public


[ Top ]

method getVersion [line 528]

string getVersion( )

Get the version of the browser.



Tags:

return:  Returns the version of the browser or BrowserDetection::VERSION_UNKNOWN if unknown.
access:  public


[ Top ]

method iOSVerToStr [line 1650]

string iOSVerToStr( string $iOSVer)

Convert the iOS version numbers to the operating system name. For instance '2.0' returns 'iPhone OS 2.0'.



Tags:

return:  The operating system name.
access:  protected


Parameters:

string   $iOSVer   The iOS version numbers as a string.

[ Top ]

method is64bitPlatform [line 538]

boolean is64bitPlatform( )

Determine if the browser is executed from a 64-bit platform. Keep in mind that not all platforms/browsers report this and the result may not always be accurate.



Tags:

return:  Returns true if the browser is executed from a 64-bit platform.
access:  public


[ Top ]

method isChromeFrame [line 548]

boolean isChromeFrame( )

Determine if the browser runs Google Chrome Frame (it's a plug-in designed for Internet Explorer 6+ based on the open-source Chromium project - it's like a Chrome browser within IE).



Tags:

return:  Returns true if the browser is using Google Chrome Frame, false otherwise.
access:  public


[ Top ]

method isInIECompatibilityView [line 559]

boolean isInIECompatibilityView( )

Determine if the browser is in compatibility view or not. Since Internet Explorer 8, IE can be put in compatibility mode to make websites that were created for older browsers, especially IE 6 and 7, look better in IE 8+ which renders web pages closer to the standards and thus differently from those older versions of IE.



Tags:

return:  Returns true if the browser is in compatibility view, false otherwise.
access:  public


[ Top ]

method isMobile [line 568]

boolean isMobile( )

Determine if the browser is from a mobile device or not.



Tags:

return:  Returns true if the browser is from a mobile device, false otherwise.
access:  public


[ Top ]

method isRobot [line 577]

boolean isRobot( )

Determine if the browser is a robot (Googlebot, Bingbot, Yahoo! Slurp...) or not.



Tags:

return:  Returns true if the browser is a robot, false otherwise.
access:  public


[ Top ]

method macVerToStr [line 1666]

string macVerToStr( string $macVer)

Convert the macOS version numbers to the operating system name. For instance '10.7' returns 'Mac OS X Lion'.



Tags:

return:  The operating system name or the constant PLATFORM_VERSION_UNKNOWN if nothing match the version numbers.
access:  protected


Parameters:

string   $macVer   The macOS version numbers as a string.

[ Top ]

method parseInt [line 1713]

int parseInt( string $intStr)

Get the integer value of a string variable.



Tags:

return:  The integer value of $intStr on success, or 0 on failure.
access:  protected


Parameters:

string   $intStr   The scalar value being converted to an integer.

[ Top ]

method removeCustomBrowserDetection [line 588]

boolean removeCustomBrowserDetection( string $browserName)

Remove support for a previously added Web browser.



Tags:

return:  Returns true if the custom rule has been found and removed, false otherwise.
see:  BrowserDetection::addCustomBrowserDetection()
access:  public


Parameters:

string   $browserName   The Web browser name as used when added.

[ Top ]

method removeCustomPlatformDetection [line 604]

boolean removeCustomPlatformDetection( string $platformName)

Remove support for a previously added platform.



Tags:

return:  Returns true if the custom rule has been found and removed, false otherwise.
see:  BrowserDetection::addCustomPlatformDetection()
access:  public


Parameters:

string   $platformName   The platform name as used when added.

[ Top ]

method reset [line 1722]

void reset( )

Reset all the properties of the class.



Tags:

access:  protected


[ Top ]

method safariBuildToSafariVer [line 1744]

string safariBuildToSafariVer( string $version)

Convert a Safari build number to a Safari version number.



Tags:

return:  Returns the Safari version string. If the version can't be determined, an empty string is returned.
link:  http://web.archive.org/web/20080514173941/http://developer.apple.com/internet/safari/uamatrix.html
access:  protected


Parameters:

string   $version   A string representing the version number.

[ Top ]

method set64bit [line 1838]

void set64bit( boolean $is64bit)

Set if the browser is executed from a 64-bit platform.



Tags:

access:  protected


Parameters:

boolean   $is64bit   Value that tells if the browser is executed from a 64-bit platform.

[ Top ]

method setBrowser [line 1848]

void setBrowser( string $browserName)

Set the name of the browser.



Tags:

access:  protected


Parameters:

string   $browserName   The name of the browser.

[ Top ]

method setMobile [line 1858]

void setMobile( [boolean $isMobile = true])

Set the browser to be from a mobile device or not.



Tags:

access:  protected


Parameters:

boolean   $isMobile   (optional) Value that tells if the browser is on a mobile device or not.

[ Top ]

method setPlatform [line 1868]

void setPlatform( string $platform)

Set the platform on which the browser is on.



Tags:

access:  protected


Parameters:

string   $platform   The name of the platform.

[ Top ]

method setPlatformVersion [line 1878]

void setPlatformVersion( string $platformVer)

Set the platform version on which the browser is on.



Tags:

access:  protected


Parameters:

string   $platformVer   The version numbers of the platform.

[ Top ]

method setRobot [line 1888]

void setRobot( [boolean $isRobot = true])

Set the browser to be a robot (crawler) or not.



Tags:

access:  protected


Parameters:

boolean   $isRobot   (optional) Value that tells if the browser is a robot or not.

[ Top ]

method setUserAgent [line 619]

void setUserAgent( [string $agentString = ''])

Set the user agent to use with the class.



Tags:

access:  public


Parameters:

string   $agentString   (optional) The value of the user agent. If an empty string is sent (default), $_SERVER['HTTP_USER_AGENT'] will be used.

[ Top ]

method setVersion [line 1898]

void setVersion( string $version)

Set the version of the browser.



Tags:

access:  protected


Parameters:

string   $version   The version of the browser.

[ Top ]

method webKitBuildToSafariVer [line 1917]

string webKitBuildToSafariVer( string $version)

Convert a WebKit build number to a Safari version number.



Tags:

return:  Returns the Safari version string. If the version can't be determined, an empty string is returned.
link:  http://web.archive.org/web/20080514173941/http://developer.apple.com/internet/safari/uamatrix.html
access:  protected


Parameters:

string   $version   A string representing the version number.

[ Top ]

method windowsNTVerToStr [line 2026]

string windowsNTVerToStr( string $winVer, [boolean $returnServerFlavor = false])

Convert the Windows NT family version numbers to the operating system name. For instance '5.1' returns 'Windows XP'.



Tags:

return:  The operating system name or the constant PLATFORM_VERSION_UNKNOWN if nothing match the version numbers.
access:  protected


Parameters:

string   $winVer   The Windows NT family version numbers as a string.
boolean   $returnServerFlavor   (optional) Since some Windows NT versions have the same values, this flag determines if the Server flavor is returned or not. For instance Windows 8.1 and Windows Server 2012 R2 both use version 6.3.

[ Top ]

method windowsVerToStr [line 2073]

string windowsVerToStr( string $winVer)

Convert the Windows 3.x & 9x family version numbers to the operating system name. For instance '4.10.1998' returns 'Windows 98'.



Tags:

return:  The operating system name or the constant PLATFORM_VERSION_UNKNOWN if nothing match the version numbers.
access:  protected


Parameters:

string   $winVer   The Windows 3.x or 9x family version numbers as a string.

[ Top ]

method wordPos [line 2107]

mixed wordPos( string $haystack, string $needle, [boolean $insensitive = true], [int $offset = 0], [ &$foundString = NULL], string $foundString)

Find the position of the first occurrence of a word in a string.



Tags:

return:  Returns the position of the needle (int) if found, false otherwise. Warning this function may return Boolean false, but may also return a non-Boolean value which evaluates to false.
access:  protected


Parameters:

string   $haystack   The string to search in.
string   $needle   The string to search for.
boolean   $insensitive   (optional) Determines if we do a case-sensitive search (false) or a case-insensitive one (true).
int   $offset   If specified, search will start this number of characters counted from the beginning of the string. If the offset is negative, the search will start this number of characters counted from the end of the string.
string   $foundString   String buffer that will contain the exact matching needle found. Set to NULL when return value of the function is false.
   &$foundString  

[ Top ]

method __toString [line 293]

string __toString( )

Determine how the class will react when it is treated like a string.



Tags:

return:  Returns an HTML formatted string with a summary of the browser informations.
access:  public


[ Top ]


Class Constants

BROWSER_ANDROID =  'Android'

[line 142]

Constant for the name of the Web browser.


[ Top ]

BROWSER_BINGBOT =  'Bingbot'

[line 143]

Constant for the name of the Web browser.


[ Top ]

BROWSER_BLACKBERRY =  'BlackBerry'

[line 144]

Constant for the name of the Web browser.


[ Top ]

BROWSER_CHROME =  'Chrome'

[line 145]

Constant for the name of the Web browser.


[ Top ]

BROWSER_EDGE =  'Edge'

[line 146]

Constant for the name of the Web browser.


[ Top ]

BROWSER_FIREBIRD =  'Firebird'

[line 147]

Constant for the name of the Web browser.


[ Top ]

BROWSER_FIREFOX =  'Firefox'

[line 148]

Constant for the name of the Web browser.


[ Top ]

BROWSER_GOOGLEBOT =  'Googlebot'

[line 149]

Constant for the name of the Web browser.


[ Top ]

BROWSER_ICAB =  'iCab'

[line 150]

Constant for the name of the Web browser.


[ Top ]

BROWSER_ICECAT =  'GNU IceCat'

[line 151]

Constant for the name of the Web browser.


[ Top ]

BROWSER_ICEWEASEL =  'GNU IceWeasel'

[line 152]

Constant for the name of the Web browser.


[ Top ]

BROWSER_IE =  'Internet Explorer'

[line 153]

Constant for the name of the Web browser.


[ Top ]

BROWSER_IE_MOBILE =  'Internet Explorer Mobile'

[line 154]

Constant for the name of the Web browser.


[ Top ]

BROWSER_KONQUEROR =  'Konqueror'

[line 155]

Constant for the name of the Web browser.


[ Top ]

BROWSER_LYNX =  'Lynx'

[line 156]

Constant for the name of the Web browser.


[ Top ]

BROWSER_MOZILLA =  'Mozilla'

[line 157]

Constant for the name of the Web browser.


[ Top ]

BROWSER_MSNBOT =  'MSNBot'

[line 158]

Constant for the name of the Web browser.


[ Top ]

BROWSER_MSNTV =  'MSN TV'

[line 159]

Constant for the name of the Web browser.


[ Top ]

BROWSER_NETSCAPE =  'Netscape'

[line 160]

Constant for the name of the Web browser.


[ Top ]

BROWSER_NOKIA =  'Nokia Browser'

[line 161]

Constant for the name of the Web browser.


[ Top ]

BROWSER_OPERA =  'Opera'

[line 162]

Constant for the name of the Web browser.


[ Top ]

BROWSER_OPERA_MINI =  'Opera Mini'

[line 163]

Constant for the name of the Web browser.


[ Top ]

BROWSER_OPERA_MOBILE =  'Opera Mobile'

[line 164]

Constant for the name of the Web browser.


[ Top ]

BROWSER_PHOENIX =  'Phoenix'

[line 165]

Constant for the name of the Web browser.


[ Top ]

BROWSER_SAFARI =  'Safari'

[line 166]

Constant for the name of the Web browser.


[ Top ]

BROWSER_SAMSUNG =  'Samsung Internet'

[line 167]

Constant for the name of the Web browser.


[ Top ]

BROWSER_SLURP =  'Yahoo! Slurp'

[line 168]

Constant for the name of the Web browser.


[ Top ]

BROWSER_TABLET_OS =  'BlackBerry Tablet OS'

[line 169]

Constant for the name of the Web browser.


[ Top ]

BROWSER_UC =  'UC Browser'

[line 170]

Constant for the name of the Web browser.


[ Top ]

BROWSER_UNKNOWN =  'unknown'

[line 171]

Constant for the name of the Web browser.


[ Top ]

BROWSER_W3CVALIDATOR =  'W3C Validator'

[line 172]

Constant for the name of the Web browser.


[ Top ]

BROWSER_YAHOO_MM =  'Yahoo! Multimedia'

[line 173]

Constant for the name of the Web browser.


[ Top ]

PLATFORM_ANDROID =  'Android'

[line 179]

Constant for the name of the platform on which the Web browser runs.


[ Top ]

PLATFORM_BLACKBERRY =  'BlackBerry'

[line 180]

Constant for the name of the platform on which the Web browser runs.


[ Top ]

PLATFORM_FREEBSD =  'FreeBSD'

[line 181]

Constant for the name of the platform on which the Web browser runs.


[ Top ]

PLATFORM_IOS =  'iOS'

[line 182]

Constant for the name of the platform on which the Web browser runs.


[ Top ]

PLATFORM_LINUX =  'Linux'

[line 183]

Constant for the name of the platform on which the Web browser runs.


[ Top ]

PLATFORM_MACINTOSH =  'Macintosh'

[line 184]

Constant for the name of the platform on which the Web browser runs.


[ Top ]

PLATFORM_NETBSD =  'NetBSD'

[line 185]

Constant for the name of the platform on which the Web browser runs.


[ Top ]

PLATFORM_NOKIA =  'Nokia'

[line 186]

Constant for the name of the platform on which the Web browser runs.


[ Top ]

PLATFORM_OPENBSD =  'OpenBSD'

[line 187]

Constant for the name of the platform on which the Web browser runs.


[ Top ]

PLATFORM_OPENSOLARIS =  'OpenSolaris'

[line 188]

Constant for the name of the platform on which the Web browser runs.


[ Top ]

PLATFORM_SYMBIAN =  'Symbian'

[line 189]

Constant for the name of the platform on which the Web browser runs.


[ Top ]

PLATFORM_UNKNOWN =  'unknown'

[line 190]

Constant for the name of the platform on which the Web browser runs.


[ Top ]

PLATFORM_VERSION_UNKNOWN =  'unknown'

[line 191]

Constant for the name of the platform on which the Web browser runs.


[ Top ]

PLATFORM_WINDOWS =  'Windows'

[line 192]

Constant for the name of the platform on which the Web browser runs.


[ Top ]

PLATFORM_WINDOWS_CE =  'Windows CE'

[line 193]

Constant for the name of the platform on which the Web browser runs.


[ Top ]

PLATFORM_WINDOWS_PHONE =  'Windows Phone'

[line 194]

Constant for the name of the platform on which the Web browser runs.


[ Top ]

VERSION_UNKNOWN =  'unknown'

[line 200]

Version unknown constant.


[ Top ]



Documentation generated on Wed, 27 Mar 2019 15:49:11 -0400 by phpDocumentor 1.4.3