diff options
author | Aleksander Machniak <alec@alec.pl> | 2013-11-15 10:45:44 +0100 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2013-11-15 10:45:44 +0100 |
commit | 741ddced5bece22908591c7ea30f67ca65151041 (patch) | |
tree | 2256231d905d9c0b75ecae503dfd7350ae6b9ca0 /program/lib/Roundcube | |
parent | 596301c10bde5e98b6cfdde51be843ffbf087e8d (diff) |
Fix Internet Explorer 11 detection (#1489434)
Diffstat (limited to 'program/lib/Roundcube')
-rw-r--r-- | program/lib/Roundcube/rcube_browser.php | 7 |
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)) |