From 741ddced5bece22908591c7ea30f67ca65151041 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 15 Nov 2013 04:45:44 -0500
Subject: [PATCH] Fix Internet Explorer 11 detection (#1489434)

---
 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 3412829..6d5decf 100644
--- a/program/lib/Roundcube/rcube_browser.php
+++ b/program/lib/Roundcube/rcube_browser.php
@@ -37,7 +37,7 @@
         $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 @@
         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))

--
Gitblit v1.9.1