diff options
author | alecpl <alec@alec.pl> | 2010-10-20 11:41:48 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2010-10-20 11:41:48 +0000 |
commit | e0bd7054b7e566bf156e8afdc6d4c790fed0c0f2 (patch) | |
tree | 6a862ddff28efd13bbc1c37e1d50d3355d7f64f1 /program/steps/mail | |
parent | 2ae58f1b6782ad03cb4801b1eb2684f0d9351b32 (diff) |
- Add workaround for some Outlook's wrong content-types, per discussion in #1487051
Diffstat (limited to 'program/steps/mail')
-rw-r--r-- | program/steps/mail/func.inc | 10 | ||||
-rw-r--r-- | program/steps/mail/get.inc | 1 | ||||
-rw-r--r-- | program/steps/mail/show.inc | 2 |
3 files changed, 12 insertions, 1 deletions
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index 668d8c7e5..629e68bfd 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -1717,6 +1717,16 @@ function rcmail_user_date() return $date; } +// Fixes some content-type names +function rcmail_fix_mimetype($name) +{ + // Some versions of Outlook create garbage Content-Type: + // application/pdf.A520491B_3BF7_494D_8855_7FAC2C6C0608 + if (preg_match('/^application\/pdf.+/', $name)) + $name = 'application/pdf'; + + return $name; +} function rcmail_search_filter($attrib) { diff --git a/program/steps/mail/get.inc b/program/steps/mail/get.inc index 3c4e4fbfc..5b9e97776 100644 --- a/program/steps/mail/get.inc +++ b/program/steps/mail/get.inc @@ -91,6 +91,7 @@ else if ($pid = get_input_value('_part', RCUBE_INPUT_GET)) { header("Content-Type: text/$ctype_secondary; charset=" . ($part->charset ? $part->charset : RCMAIL_CHARSET)); } else { + $mimetype = rcmail_fix_mimetype($mimetype); header("Content-Type: $mimetype"); header("Content-Transfer-Encoding: binary"); } diff --git a/program/steps/mail/show.inc b/program/steps/mail/show.inc index 328e9d0c7..c3046f634 100644 --- a/program/steps/mail/show.inc +++ b/program/steps/mail/show.inc @@ -172,7 +172,7 @@ function rcmail_message_attachments($attrib) 'return %s.command(\'load-attachment\',{part:\'%s\', mimetype:\'%s\'},this)', JS_OBJECT_NAME, $attach_prop->mime_id, - $attach_prop->mimetype), + rcmail_fix_mimetype($attach_prop->mimetype)), 'title' => Q($title), ), Q($filename))); |