From 4391a7809edae1b552f0720a43924212519900a9 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Fri, 13 Jan 2012 06:21:45 -0500
Subject: [PATCH] - Make mime type detection based on filename extension to be case-insensitive

---
 program/include/rcube_shared.inc |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/program/include/rcube_shared.inc b/program/include/rcube_shared.inc
index aef0834..6767c93 100644
--- a/program/include/rcube_shared.inc
+++ b/program/include/rcube_shared.inc
@@ -362,12 +362,14 @@
     $mime_type = null;
     $mime_magic = rcmail::get_instance()->config->get('mime_magic');
     $mime_ext = @include(RCMAIL_CONFIG_DIR . '/mimetypes.php');
-    $suffix = $name ? substr($name, strrpos($name, '.')+1) : '*';
 
     // use file name suffix with hard-coded mime-type map
-    if (is_array($mime_ext)) {
-        $mime_type = $mime_ext[$suffix];
+    if (is_array($mime_ext) && $name) {
+        if ($suffix = substr($name, strrpos($name, '.')+1)) {
+            $mime_type = $mime_ext[strtolower($suffix)];
+        }
     }
+
     // try fileinfo extension if available
     if (!$mime_type && function_exists('finfo_open')) {
         if ($finfo = finfo_open(FILEINFO_MIME, $mime_magic)) {
@@ -378,10 +380,12 @@
             finfo_close($finfo);
         }
     }
+
     // try PHP's mime_content_type
     if (!$mime_type && !$is_stream && function_exists('mime_content_type')) {
       $mime_type = @mime_content_type($path);
     }
+
     // fall back to user-submitted string
     if (!$mime_type) {
         $mime_type = $failover;

--
Gitblit v1.9.1