- Don't add attachments content into reply/forward/draft message body (#1488557)

pull/13/head
Aleksander Machniak 13 years ago
parent 98d096004d
commit 3efc74654a

@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail CHANGELOG Roundcube Webmail
=========================== ===========================
- Don't add attachments content into reply/forward/draft message body (#1488557)
- Fix 'no connection' errors on page unloads (#1488547) - Fix 'no connection' errors on page unloads (#1488547)
- Plugin API: Add 'unauthenticated' hook (#1488138) - Plugin API: Add 'unauthenticated' hook (#1488138)
- Show explicit error message when provided hostname is invalid (#1488550) - Show explicit error message when provided hostname is invalid (#1488550)

@ -276,6 +276,32 @@ class rcube_message
} }
/**
* Checks if part of the message is an attachment (or part of it)
*
* @param rcube_message_part $part Message part
*
* @return bool True if the part is an attachment part
*/
public function is_attachment($part)
{
foreach ($this->attachments as $att_part) {
if ($att_part->mime_id == $part->mime_id) {
return true;
}
// check if the part is a subpart of another attachment part (message/rfc822)
if ($att_part->mimetype == 'message/rfc822') {
if (in_array($part, (array)$att_part->parts)) {
return true;
}
}
}
return false;
}
/** /**
* Read the message structure returend by the IMAP server * Read the message structure returend by the IMAP server
* and build flat lists of content parts and attachments * and build flat lists of content parts and attachments

@ -629,7 +629,8 @@ function rcmail_prepare_message_body()
if (!empty($MESSAGE->parts)) { if (!empty($MESSAGE->parts)) {
foreach ($MESSAGE->parts as $part) { foreach ($MESSAGE->parts as $part) {
if ($part->type != 'content' || !$part->size) { // skip no-content and attachment parts (#1488557)
if ($part->type != 'content' || !$part->size || $MESSAGE->is_attachment($part)) {
continue; continue;
} }

Loading…
Cancel
Save