Aleksander Machniak
2014-03-31 73076d7ea69df0e1dedf231aeb7f4602532a6ff3
Set In-Reply-To and References for forwarded messages (#1489593)
2 files modified
29 ■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/steps/mail/compose.inc 28 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -4,6 +4,7 @@
- Added toolbar button to move message in message view
- Improve UI integration of ACL settings
- Drop support for PHP < 5.3.7
- Set In-Reply-To and References for forwarded messages (#1489593)
- Fix directories check in Installer on Windows (#1489576)
- Fix issue when default_addressbook option is set to integer value (#1489407)
- Fix Opera > 15 detection (#1489562)
program/steps/mail/compose.inc
@@ -179,14 +179,20 @@
    if (!$MESSAGE->headers) {
        // error
    }
    else if ($compose_mode == RCUBE_COMPOSE_REPLY) {
        $COMPOSE['reply_uid']   = $msg_uid;
    else if ($compose_mode == RCUBE_COMPOSE_FORWARD || $compose_mode == RCUBE_COMPOSE_REPLY) {
        if ($compose_mode == RCUBE_COMPOSE_REPLY) {
        $COMPOSE['reply_msgid'] = $MESSAGE->headers->messageID;
        $COMPOSE['references']  = trim($MESSAGE->headers->references . " " . $MESSAGE->headers->messageID);
        if (!empty($COMPOSE['param']['all'])) {
            $MESSAGE->reply_all = $COMPOSE['param']['all'];
        }
        }
        else {
            $COMPOSE['forward_uid'] = $msg_uid;
        }
        $COMPOSE['reply_msgid'] = $MESSAGE->headers->messageID;
        $COMPOSE['references']  = trim($MESSAGE->headers->references . " " . $MESSAGE->headers->messageID);
        // Save the sent message in the same folder of the message being replied to
        if ($RCMAIL->config->get('reply_same_folder') && ($sent_folder = $COMPOSE['mailbox'])
@@ -242,8 +248,9 @@
    }
}
if (!empty($COMPOSE['reply_msgid']))
if (!empty($COMPOSE['reply_msgid'])) {
  $OUTPUT->set_env('reply_msgid', $COMPOSE['reply_msgid']);
}
$MESSAGE->compose = array();
@@ -1241,6 +1248,7 @@
    $storage = $RCMAIL->get_storage();
    $names   = array();
    $refs    = array();
    $loaded_attachments = array();
    foreach ((array)$COMPOSE['attachments'] as $attachment) {
@@ -1323,6 +1331,18 @@
        else if ($path) {
            @unlink($path);
        }
        if ($message->headers->messageID) {
            $refs[] = $message->headers->messageID;
        }
    }
    // set In-Reply-To and References headers
    if (count($refs) == 1) {
        $COMPOSE['reply_msgid'] = $refs[0];
    }
    if (!empty($refs)) {
        $COMPOSE['references'] = implode(' ', $refs);
    }
}