From a43e0c95cb6004ce67c7dc357eb6683851895fcb Mon Sep 17 00:00:00 2001
From: svncommit <devs@roundcube.net>
Date: Thu, 06 Apr 2006 13:35:42 -0400
Subject: [PATCH] Corrected issue forwarding attachments without disposition headers
---
program/steps/mail/compose.inc | 31 +++++++++++++++++++------------
1 files changed, 19 insertions(+), 12 deletions(-)
diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc
index b616f07..5969e05 100644
--- a/program/steps/mail/compose.inc
+++ b/program/steps/mail/compose.inc
@@ -396,19 +396,26 @@
foreach ($FORWARD_MESSAGE['parts'] as $part)
{
- if ($part->disposition != 'attachment')
- continue;
+ if ($part->disposition=='attachment' || $part->disposition=='inline' || $part->headers['content-id'] ||
+ (empty($part->disposition) && ($part->d_parameters['filename'] || $part->ctype_parameters['name'])))
+ {
+ $tmp_path = tempnam($temp_dir, 'rcmAttmnt');
+ if ($fp = fopen($tmp_path, 'w'))
+ {
+ fwrite($fp, $IMAP->mime_decode($part->body, $part->headers['content-transfer-encoding']));
+ fclose($fp);
- $tmp_path = tempnam($temp_dir, 'rcmAttmnt');
- if ($fp = fopen($tmp_path, 'w'))
- {
- fwrite($fp, $IMAP->mime_decode($part->body, $part->headers['content-transfer-encoding']));
- fclose($fp);
-
- $_SESSION['compose']['attachments'][] = array('name' => $part->d_parameters['filename'],
- 'mimetype' => $part->ctype_primary . '/' . $part->ctype_secondary,
- 'path' => $tmp_path);
- }
+ if ($part->d_parameters['filename'])
+ $_SESSION['compose']['attachments'][] = array('name' => $part->d_parameters['filename'],
+ 'mimetype' => $part->ctype_primary . '/' . $part->ctype_secondary,
+ 'path' => $tmp_path);
+
+ else if ($part->ctype_parameters['name'])
+ $_SESSION['compose']['attachments'][] = array('name' => $part->ctype_parameters['name'],
+ 'mimetype' => $part->ctype_primary . '/' . $part->ctype_secondary,
+ 'path' => $tmp_path);
+ }
+ }
}
$_SESSION['compose']['forward_attachments'] = TRUE;
--
Gitblit v1.9.1