Permalink
Browse files

Merge branch 'MDL-31482-m21' of git://github.com/sammarshallou/moodle…

… into MOODLE_21_STABLE
  • Loading branch information...
2 parents 493e4f8 + 0f2d05e commit 7acc25342a3b905e10e727cb84509cd8de4fbc08 @nebgor nebgor committed Feb 8, 2012
Showing with 11 additions and 1 deletion.
  1. +2 −1 lib/moodlelib.php
  2. +9 −0 lib/simpletest/testmoodlelib.php
View
3 lib/moodlelib.php
@@ -7737,7 +7737,8 @@ function get_device_type() {
return 'tablet';
}
- if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.') !== false) {
+ // Safe way to check for IE6 and not get false positives for some IE 7/8 users
+ if (substr($_SERVER['HTTP_USER_AGENT'], 0, 34) === 'Mozilla/4.0 (compatible; MSIE 6.0;') {
return 'legacy';
}
View
9 lib/simpletest/testmoodlelib.php
@@ -296,6 +296,15 @@ function test_get_browser_version_classes() {
$this->assertEqual(array('gecko', 'gecko19'), get_browser_version_classes());
}
+ function test_get_device_type() {
+ // IE8 (common pattern ~1.5% of IE7/8 users have embedded IE6 agent))
+ $_SERVER['HTTP_USER_AGENT'] = 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; BT Openworld BB; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; Hotbar 10.2.197.0; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 2.0.50727)';
+ $this->assertEqual('default', get_device_type());
+ // Genuine IE6
+ $_SERVER['HTTP_USER_AGENT'] = 'Mozilla/4.0 (compatible; MSIE 6.0; AOL 9.0; Windows NT 5.1; SV1; FunWebProducts; .NET CLR 1.0.3705; Media Center PC 2.8)';
+ $this->assertEqual('legacy', get_device_type());
+ }
+
function test_optional_param() {
$_POST['username'] = 'post_user';
$_GET['username'] = 'get_user';

0 comments on commit 7acc253

Please sign in to comment.