diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index fc261bd42904bd6a4dea6b41d1373a06fa887b97..542763c7065940a588af6c2950d6199e031a7a0d 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -165,8 +165,7 @@ function getBrowserInfo($user_agent) elseif (preg_match('/chrome/i', $user_agent, $reg)) { $name='chrome'; } elseif (preg_match('/iceweasel/i', $user_agent)) { $name='iceweasel'; $version=$reg[2]; } elseif (preg_match('/epiphany/i', $user_agent)) { $name='epiphany'; $version=$reg[2]; } - elseif ((empty($phone) || preg_match('/iphone/i', $user_agent)) && preg_match('/safari(\/|\s)([\d\.]*)/i', - $user_agent, $reg)) { $name='safari'; $version=$reg[2]; } // Safari is often present in string for mobile but its not. + elseif (preg_match('/safari(\/|\s)([\d\.]*)/i', $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', $user_agent, $reg)) { $name='opera'; $version=$reg[2]; } elseif (preg_match('/msie(\/|\s)([\d\.]*)/i', $user_agent, $reg)) { $name='ie'; $version=$reg[2]; } // MS products at end diff --git a/test/phpunit/FunctionsLibTest.php b/test/phpunit/FunctionsLibTest.php index aaaa46527eb82f1b4dc8875140a6b38e059b8960..fd62a4f345f262dac3104c3cb99bb9e0c2203324 100755 --- a/test/phpunit/FunctionsLibTest.php +++ b/test/phpunit/FunctionsLibTest.php @@ -163,6 +163,12 @@ class FunctionsLibTest extends PHPUnit_Framework_TestCase $tmp=getBrowserInfo($user_agent); $this->assertEquals('ie',$tmp['browsername']); $this->assertEquals('11.0',$tmp['browserversion']); + + //iPad + $user_agent = 'Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25'; + $tmp=getBrowserInfo($user_agent); + $this->assertEquals('ie',$tmp['browsername']); + $this->assertEquals('11.0',$tmp['browserversion']); }