Aleksander Machniak
2012-07-09 84dfbf541f66a552e9f2d21dbc717df493f0a3b2
- Don't add attachments content into reply/forward/draft message body (#1488557)
3 files modified
30 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/include/rcube_message.php 26 ●●●●● patch | view | raw | blame | history
program/steps/mail/compose.inc 3 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Don't add attachments content into reply/forward/draft message body (#1488557)
- Fix 'no connection' errors on page unloads (#1488547)
- Plugin API: Add 'unauthenticated' hook (#1488138)
- Show explicit error message when provided hostname is invalid (#1488550)
program/include/rcube_message.php
@@ -278,6 +278,32 @@
    /**
     * 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
     * and build flat lists of content parts and attachments
     *
program/steps/mail/compose.inc
@@ -632,7 +632,8 @@
    if (!empty($MESSAGE->parts)) {
      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;
        }