/**
* attachment_common.php
*
- * Copyright (c) 1999-2005 The SquirrelMail Project Team
- * Licensed under the GNU GPL. For full terms see the file COPYING.
- *
* This file provides the handling of often-used attachment types.
*
+ * @copyright © 1999-2006 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
* @todo document attachment $type hook arguments
$attachment_common_show_images_list = array();
global $FileExtensionToMimeType, $attachment_common_types;
+/**
+ * Mapping of file extensions to mime types
+ *
+ * Used for application/octet-stream mime type detection.
+ * Supported extensions: bmp, gif, htm, html, jpg, jpeg, php,
+ * png, rtf, txt, patch (since 1.4.2), vcf
+ * @global array $FileExtensionToMimeType
+ */
$FileExtensionToMimeType = array('bmp' => 'image/x-bitmap',
'gif' => 'image/gif',
'htm' => 'text/html',
'html' => 'text/html',
+ 'jpe' => 'image/jpeg',
'jpg' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'php' => 'text/plain',
/* Register browser-supported image types */
sqgetGlobalVar('attachment_common_types', $attachment_common_types);
+// FIXME: do we use $attachment_common_types that is not extracted by sqgetGlobalVar() ?
if (isset($attachment_common_types)) {
+ // var is used to detect activation of jpeg image types
+ unset($jpeg_done);
/* Don't run this before being logged in. That may happen
when plugins include mime.php */
foreach ($attachment_common_types as $val => $v) {
if ($val == 'image/gif')
register_attachment_common('image/gif', 'link_image');
- elseif (($val == 'image/jpeg' || $val == 'image/pjpeg') and
+ elseif (($val == 'image/jpeg' || $val == 'image/pjpeg' || $val == 'image/jpg') and
(!isset($jpeg_done))) {
$jpeg_done = 1;
+ register_attachment_common('image/jpg', 'link_image');
register_attachment_common('image/jpeg', 'link_image');
register_attachment_common('image/pjpeg', 'link_image');
}
register_attachment_common('image/png', 'link_image');
elseif ($val == 'image/x-xbitmap')
register_attachment_common('image/x-xbitmap', 'link_image');
+ elseif ($val == '*/*' || $val == 'image/*') {
+ /**
+ * browser (Firefox) declared that anything is acceptable.
+ * Lets register some common image types.
+ */
+ if (! isset($jpeg_done)) {
+ $jpeg_done = 1;
+ register_attachment_common('image/jpg', 'link_image');
+ register_attachment_common('image/jpeg', 'link_image');
+ register_attachment_common('image/pjpeg', 'link_image');
+ }
+ register_attachment_common('image/gif', 'link_image');
+ register_attachment_common('image/png', 'link_image');
+ register_attachment_common('image/x-xbitmap', 'link_image');
+ // register_attachment_common('image/x-ico', 'link_image');
+ // register_attachment_common('image/x-icon', 'link_image');
+ // register_attachment_common('image/bmp', 'link_image');
+ // register_attachment_common('image/x-ms-bmp', 'link_image');
+ }
}
unset($jpeg_done);
}