summaryrefslogtreecommitdiff
path: root/program/lib/Roundcube/rcube_browser.php
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2013-11-15 10:45:44 +0100
committerAleksander Machniak <alec@alec.pl>2013-11-15 10:45:44 +0100
commit741ddced5bece22908591c7ea30f67ca65151041 (patch)
tree2256231d905d9c0b75ecae503dfd7350ae6b9ca0 /program/lib/Roundcube/rcube_browser.php
parent596301c10bde5e98b6cfdde51be843ffbf087e8d (diff)
Fix Internet Explorer 11 detection (#1489434)
Diffstat (limited to 'program/lib/Roundcube/rcube_browser.php')
-rw-r--r--program/lib/Roundcube/rcube_browser.php7
1 files changed, 6 insertions, 1 deletions
diff --git a/program/lib/Roundcube/rcube_browser.php b/program/lib/Roundcube/rcube_browser.php
index 34128291b..6d5decf3e 100644
--- a/program/lib/Roundcube/rcube_browser.php
+++ b/program/lib/Roundcube/rcube_browser.php
@@ -37,7 +37,7 @@ class rcube_browser
$this->opera = strpos($HTTP_USER_AGENT, 'opera') !== false;
$this->ns4 = strpos($HTTP_USER_AGENT, 'mozilla/4') !== false && strpos($HTTP_USER_AGENT, 'msie') === false;
$this->ns = ($this->ns4 || strpos($HTTP_USER_AGENT, 'netscape') !== false);
- $this->ie = !$this->opera && strpos($HTTP_USER_AGENT, 'compatible; msie') !== false;
+ $this->ie = !$this->opera && (strpos($HTTP_USER_AGENT, 'compatible; msie') !== false || strpos($HTTP_USER_AGENT, 'trident/') !== false);
$this->khtml = strpos($HTTP_USER_AGENT, 'khtml') !== false;
$this->mz = !$this->ie && !$this->khtml && strpos($HTTP_USER_AGENT, 'mozilla/5') !== false;
$this->chrome = strpos($HTTP_USER_AGENT, 'chrome') !== false;
@@ -54,6 +54,11 @@ class rcube_browser
else if ($this->ie || $this->opera) {
$test = preg_match('/(msie|opera) ([0-9.]+)/', $HTTP_USER_AGENT, $regs);
$this->ver = $test ? (float)$regs[2] : 0;
+
+ // IE 11
+ if (!$this->ver && preg_match('/rv:([0-9.]+)/', $HTTP_USER_AGENT, $regs)) {
+ $this->ver = (float) $regs[1];
+ }
}
if (preg_match('/ ([a-z]{2})-([a-z]{2})/', $HTTP_USER_AGENT, $regs))