On Thu, Jul 24, 2008 at 00:35, James MacLachlan <[EMAIL PROTECTED]> wrote:
> This patch resolves our issue which is identical Ticket #1485152, we
> are running PHP 5.1.6, RPM from CentOS 5. Hope it helps.
Actually you're doing the same as in rc_mime_content_type() but only
with file_info(). Maybe rc_mime_content_type() should first try
file_info() and then mime_content_type(). The latter one is deprecated
anyway.
I propose the following patch (untested):
Index: program/include/rcube_shared.inc
===================================================================
--- program/include/rcube_shared.inc (revision 1607)
+++ program/include/rcube_shared.inc (working copy)
@@ -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);
}
}
-
- $finfo = finfo_open(FILEINFO_MIME, $mime_magic);
- if (!$finfo) {
- return $failover;
+ else if (function_exists('mime_content_type')) {
+ $mime_type = mime_content_type($path);
}
- $mime_type = finfo_file($finfo,$path);
+
if (!$mime_type) {
- return $failover;
+ $mime_type = $failover;
}
- finfo_close($finfo);
return $mime_type;
}
~Thomas
_______________________________________________
List info: http://lists.roundcube.net/dev/