diff options
author | Brion Vibber <brion@pobox.com> | 2010-11-03 17:05:26 -0700 |
---|---|---|
committer | Brion Vibber <brion@pobox.com> | 2010-11-03 17:05:26 -0700 |
commit | 2692b5fc8400d04f25823e5bc00e3d4f98100a3b (patch) | |
tree | 1dca60d7902ff9fb5f008e38f3c655f5569cf6d0 /lib/mediafile.php | |
parent | 28e009898f6ce6dd72471a5ae4abbc91e6b00193 (diff) |
Fix for ticket #2853: fix for some unknown MIME type error cases by adjusting the PEAR error handling temporarily around MIME_Type_Extension usage.
Diffstat (limited to 'lib/mediafile.php')
-rw-r--r-- | lib/mediafile.php | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/mediafile.php b/lib/mediafile.php index 23338cc0e..aad3575d7 100644 --- a/lib/mediafile.php +++ b/lib/mediafile.php @@ -278,6 +278,9 @@ class MediaFile static function getUploadedFileType($f, $originalFilename=false) { require_once 'MIME/Type.php'; require_once 'MIME/Type/Extension.php'; + + // We have to disable auto handling of PEAR errors + PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); $mte = new MIME_Type_Extension(); $cmd = &PEAR::getStaticProperty('MIME_Type', 'fileCmd'); @@ -330,6 +333,8 @@ class MediaFile } } if ($supported === true || in_array($filetype, $supported)) { + // Restore PEAR error handlers for our DB code... + PEAR::staticPopErrorHandling(); return $filetype; } $media = MIME_Type::getMedia($filetype); @@ -344,6 +349,8 @@ class MediaFile // TRANS: %s is the file type that was denied. $hint = sprintf(_('"%s" is not a supported file type on this server.'), $filetype); } + // Restore PEAR error handlers for our DB code... + PEAR::staticPopErrorHandling(); throw new ClientException($hint); } |