From b9854b8cbecb21ada9ba4f25090d53f520ac6e9e Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Mon, 28 May 2012 09:19:43 -0400
Subject: [PATCH] Add Flash support detection

---
 CHANGELOG                   |    2 +-
 program/steps/mail/show.inc |    3 +++
 program/js/app.js           |   21 +++++++++++++++++++++
 3 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 3656675..b125dbe 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,7 +1,7 @@
 CHANGELOG Roundcube Webmail
 ===========================
 
-- Don't display PDF and TIFF attachments inline without browser support (#1488452, #1487929)
+- Don't display Pdf/Tiff/Flash attachments inline without browser support (#1488452, #1487929)
 - Fix html2text conversion of strong|b|a|th|h tags when used in upper case
 - Add listcontrols template container in Larry skin (#1488498)
 - Fix host autoselection when default_host is an array (#1488495)
diff --git a/program/js/app.js b/program/js/app.js
index 32ab69f..e487a60 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -6384,6 +6384,9 @@
     if (this.env.browser_capabilities.pdf === undefined)
       this.env.browser_capabilities.pdf = this.pdf_support_check();
 
+    if (this.env.browser_capabilities.flash === undefined)
+      this.env.browser_capabilities.flash = this.flash_support_check();
+
     if (this.env.browser_capabilities.tif === undefined)
       this.tif_support_check();
   };
@@ -6447,6 +6450,24 @@
     return 0;
   };
 
+  this.flash_support_check = function()
+  {
+    var plugin = navigator.mimeTypes ? navigator.mimeTypes["application/x-shockwave-flash"] : {};
+
+    if (plugin && plugin.enabledPlugin)
+        return 1;
+
+    if (window.ActiveXObject) {
+      try {
+        if (axObj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"))
+          return 1;
+      }
+      catch (e) {}
+    }
+
+    return 0;
+  };
+
 }  // end object rcube_webmail
 
 
diff --git a/program/steps/mail/show.inc b/program/steps/mail/show.inc
index bf17576..7fcfafc 100644
--- a/program/steps/mail/show.inc
+++ b/program/steps/mail/show.inc
@@ -69,6 +69,9 @@
   if (empty($_SESSION['browser_caps']['pdf']) && ($key = array_search('application/pdf', $mimetypes)) !== false) {
     unset($mimetypes[$key]);
   }
+  if (empty($_SESSION['browser_caps']['flash']) && ($key = array_search('application/x-shockwave-flash', $mimetypes)) !== false) {
+    unset($mimetypes[$key]);
+  }
   // @TODO: we could convert TIFF to JPEG and display it
   if (empty($_SESSION['browser_caps']['tif']) && ($key = array_search('image/tiff', $mimetypes)) !== false) {
     unset($mimetypes[$key]);

--
Gitblit v1.9.1