From 6d5dbae53cd4b4b97da0b0c558292a7f1062a524 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Fri, 25 Jul 2008 11:13:15 -0400
Subject: [PATCH] Prefer File_Info over mime_content_type + detect mime type when uploading + some code style

---
 program/include/rcube_shared.inc |   31 +++++++++++++------------------
 1 files changed, 13 insertions(+), 18 deletions(-)

diff --git a/program/include/rcube_shared.inc b/program/include/rcube_shared.inc
index 4cab270..000483e 100644
--- a/program/include/rcube_shared.inc
+++ b/program/include/rcube_shared.inc
@@ -556,31 +556,26 @@
  */
 function rc_mime_content_type($path, $failover = 'unknown/unknown')
 {
-    global $CONFIG;
+    $mime_type = null;
+    $mime_magic = rcmail::get_instance()->config->get('mime_magic');
 
-    $mime_magic = $CONFIG['mime_magic'];
-
-    if (function_exists('mime_content_type')) {
-	$finfo = mime_content_type($path); 
-	if ($finfo)
-	    return $finfo;
+    if (!extension_loaded('fileinfo')) {
+        @dl('fileinfo.' . PHP_SHLIB_SUFFIX);
     }
-    
-    if (!extension_loaded('fileinfo')) { 
-        if (!dl('fileinfo.' . PHP_SHLIB_SUFFIX)) {
-            return $failover;
+
+    if (function_exists('finfo_open')) {
+        if ($finfo = finfo_open(FILEINFO_MIME, $mime_magic)) {
+            $mime_type = finfo_file($finfo, $path);
+            finfo_close($finfo);
         }
     }
+    else if (function_exists('mime_content_type')) {
+      $mime_type = mime_content_type($path); 
+    }
     
-    $finfo = finfo_open(FILEINFO_MIME, $mime_magic);
-    if (!$finfo) {
-        return $failover;
-    }
-    $mime_type = finfo_file($finfo,$path);
     if (!$mime_type) {
-        return $failover;
+        $mime_type = $failover;
     }
-    finfo_close($finfo);
 
     return $mime_type;
 }

--
Gitblit v1.9.1