From 6b0106a32446a125fd8a4ea7b9637c2378d52f72 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Tue, 22 Jul 2014 13:10:42 -0400
Subject: [PATCH] Fix some mime-type to extension mapping checks in Installer (#1489983)

---
 CHANGELOG                          |    1 +
 program/include/rcmail_install.php |    4 ++--
 installer/test.php                 |    7 ++-----
 3 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index b63c6f4..518281b 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -37,6 +37,7 @@
 - Improve text messages display and conversion to HTML (#1488937)
 - Don't remove links when html signature is converted to text (#1489621)
 - Fix mbox files import
+- Fix some mime-type to extension mapping checks in Installer (#1489983)
 
 RELEASE 1.0.2
 -------------
diff --git a/installer/test.php b/installer/test.php
index b1b67e5..72c7a1f 100644
--- a/installer/test.php
+++ b/installer/test.php
@@ -210,7 +210,6 @@
 
 <h3>Test filetype detection</h3>
 
-<p>
 <?php
 
 if ($errors = $RCI->check_mime_detection()) {
@@ -225,12 +224,9 @@
 }
 else {
   $RCI->pass('Fileinfo/mime_content_type configuration');
+  echo "<br/>";
 }
 
-?>
-</p>
-<p>
-<?php
 
 if ($errors = $RCI->check_mime_extensions()) {
   $RCI->fail('Mimetype to file extension mapping');
@@ -239,6 +235,7 @@
 }
 else {
   $RCI->pass('Mimetype to file extension mapping');
+  echo "<br/>";
 }
 
 ?>
diff --git a/program/include/rcmail_install.php b/program/include/rcmail_install.php
index eec21ec..9945f1d 100644
--- a/program/include/rcmail_install.php
+++ b/program/include/rcmail_install.php
@@ -476,7 +476,7 @@
     $types = array(
       'application/zip'   => 'zip',
       'application/x-tar' => 'tar',
-      'application/java-archive' => 'jar',
+      'application/pdf'   => 'pdf',
       'image/gif'     => 'gif',
       'image/svg+xml' => 'svg',
     );
@@ -484,7 +484,7 @@
     $errors = array();
     foreach ($types as $mimetype => $expected) {
       $ext = rcube_mime::get_mime_extensions($mimetype);
-      if ($ext[0] != $expected) {
+      if (!in_array($expected, (array) $ext)) {
         $errors[] = array($mimetype, $ext, $expected);
       }
     }

--
Gitblit v1.9.1