mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-12-06 09:38:23 +01:00
Fix: chrome detection
This commit is contained in:
@@ -243,12 +243,13 @@ function getBrowserInfo()
|
||||
elseif (preg_match('/iemobile/i',$_SERVER["HTTP_USER_AGENT"])) { $os='windows'; $phone='unkown'; }
|
||||
elseif (preg_match('/windows ce/i',$_SERVER["HTTP_USER_AGENT"])) { $os='windows'; $phone='unkown'; }
|
||||
// Name
|
||||
if (preg_match('/firefox(\/|\s)*([\d\.]*)/i',$_SERVER["HTTP_USER_AGENT"],$reg)) { $name='firefox'; $version=$reg[2]; }
|
||||
elseif (preg_match('/chrome(\/|\s)*([\d\.]*)/i',$_SERVER["HTTP_USER_AGENT"],$reg)) { $name='chrome'; $version=$reg[2]; }
|
||||
if (preg_match('/firefox(\/|\s)([\d\.]*)/i', $_SERVER["HTTP_USER_AGENT"], $reg)) { $name='firefox'; $version=$reg[2]; }
|
||||
elseif (preg_match('/chrome(\/|\s)([\d\.]+)/i', $_SERVER["HTTP_USER_AGENT"], $reg)) { $name='chrome'; $version=$reg[2]; } // we can have 'chrome (Mozilla...) chrome x.y' in one string
|
||||
elseif (preg_match('/chrome/i', $_SERVER["HTTP_USER_AGENT"], $reg)) { $name='chrome'; }
|
||||
elseif (preg_match('/iceweasel/i',$_SERVER["HTTP_USER_AGENT"])) { $name='iceweasel'; $version=$reg[2]; }
|
||||
elseif ((empty($phone) || preg_match('/iphone/i',$_SERVER["HTTP_USER_AGENT"])) && preg_match('/safari(\/|\s)*([\d\.]*)/i',$_SERVER["HTTP_USER_AGENT"],$reg)) { $name='safari'; $version=$reg[2]; } // Safari is often present in string for mobile but its not.
|
||||
elseif (preg_match('/opera(\/|\s)*([\d\.]*)/i',$_SERVER["HTTP_USER_AGENT"],$reg)) { $name='opera'; $version=$reg[2]; }
|
||||
elseif (preg_match('/msie(\/|\s)*([\d\.]*)/i',$_SERVER["HTTP_USER_AGENT"],$reg)) { $name='ie'; $version=$reg[2]; } // MS products at end
|
||||
elseif ((empty($phone) || preg_match('/iphone/i',$_SERVER["HTTP_USER_AGENT"])) && preg_match('/safari(\/|\s)([\d\.]*)/i',$_SERVER["HTTP_USER_AGENT"], $reg)) { $name='safari'; $version=$reg[2]; } // Safari is often present in string for mobile but its not.
|
||||
elseif (preg_match('/opera(\/|\s)([\d\.]*)/i', $_SERVER["HTTP_USER_AGENT"], $reg)) { $name='opera'; $version=$reg[2]; }
|
||||
elseif (preg_match('/msie(\/|\s)([\d\.]*)/i', $_SERVER["HTTP_USER_AGENT"], $reg)) { $name='ie'; $version=$reg[2]; } // MS products at end
|
||||
// Other
|
||||
$firefox=0;
|
||||
if (in_array($name,array('firefox','iceweasel'))) $firefox=1;
|
||||
|
||||
@@ -140,6 +140,10 @@ class FunctionsTest extends PHPUnit_Framework_TestCase
|
||||
$tmp=getBrowserInfo();
|
||||
$this->assertEquals('chrome',$tmp['browsername']);
|
||||
$this->assertEquals('19.0.1042.0',$tmp['browserversion']);
|
||||
$_SERVER['HTTP_USER_AGENT']='chrome (Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11)';
|
||||
$tmp=getBrowserInfo();
|
||||
$this->assertEquals('chrome',$tmp['browsername']);
|
||||
$this->assertEquals('17.0.963.56',$tmp['browserversion']);
|
||||
$_SERVER['HTTP_USER_AGENT']='Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; de-at) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1';
|
||||
$tmp=getBrowserInfo();
|
||||
$this->assertEquals('safari',$tmp['browsername']);
|
||||
|
||||
Reference in New Issue
Block a user