Aleksander Machniak
2016-05-06 6d1337e1df0e18ac03ac9bf7d5b9a79e2f6b0e6f
Fix regression where setting Answered/Forwarded flag didn't work when sending an email
1 files modified
6 ■■■■ changed files
program/steps/mail/sendmail.inc 6 ●●●● patch | view | raw | blame | history
program/steps/mail/sendmail.inc
@@ -191,7 +191,7 @@
// remember reply/forward UIDs in special headers
if ($savedraft) {
    // Note: We ignore <UID>.<PART> forwards/replies here
    if (($uid = $COMPOSE['reply_uid']) && !preg_match('/^\d+[0-9.]+$/', $uid)) {
    if (($uid = $COMPOSE['reply_uid']) && !preg_match('/^\d+\.[0-9.]+$/', $uid)) {
        $headers['X-Draft-Info'] = array('type' => 'reply', 'uid' => $uid);
    }
    else if (!empty($COMPOSE['forward_uid'])
@@ -557,7 +557,7 @@
    if ($COMPOSE['reply_uid']) {
        foreach (rcmail::get_uids($COMPOSE['reply_uid'], $COMPOSE['mailbox']) as $mbox => $uids) {
            // skip <UID>.<PART> replies
            if (!preg_match('/^\d+[0-9.]+$/', implode(',', (array) $uids))) {
            if (!preg_match('/^\d+\.[0-9.]+$/', implode(',', (array) $uids))) {
                $RCMAIL->storage->set_flag($uids, 'ANSWERED', $mbox);
            }
        }
@@ -565,7 +565,7 @@
    else if ($COMPOSE['forward_uid']) {
        foreach (rcmail::get_uids($COMPOSE['forward_uid'], $COMPOSE['mailbox']) as $mbox => $uids) {
            // skip <UID>.<PART> forwards
            if (!preg_match('/^\d+[0-9.]+$/', implode(',', (array) $uids))) {
            if (!preg_match('/^\d+\.[0-9.]+$/', implode(',', (array) $uids))) {
                $RCMAIL->storage->set_flag($uids, 'FORWARDED', $mbox);
            }
        }