From 71b98ee82b178cd4af80d7e5816503c7dfbea045 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= <marcosgdf@gmail.com> Date: Mon, 23 Feb 2015 10:42:10 +0100 Subject: [PATCH] Safari can appear in iPad, iPod, iPhone and future Apple products, it is not fair to attach it to one of them. --- htdocs/core/lib/functions.lib.php | 3 +-- test/phpunit/FunctionsLibTest.php | 6 ++++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index fc261bd4290..542763c7065 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 aaaa46527eb..fd62a4f345f 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']); } -- GitLab