From aafbe8efdca6dfef736e623dd5da83d64ae10aef Mon Sep 17 00:00:00 2001 From: Thomas Bruederli <thomas@roundcube.net> Date: Tue, 08 Apr 2014 09:48:27 -0400 Subject: [PATCH] Fix forwarding all ('*') messages of a search set --- program/steps/mail/compose.inc | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index 040d816..22ebaed 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -463,6 +463,11 @@ } } + // resolve _forward_uid=* to an absolute list of messages from a search result + if ($COMPOSE['param']['forward_uid'] == '*' && is_object($_SESSION['search'][1])) { + $COMPOSE['param']['forward_uid'] = $_SESSION['search'][1]->get(); + } + // clean HTML message body which can be submitted by URL if (!empty($COMPOSE['param']['body'])) { $COMPOSE['param']['body'] = rcmail_wash_html($COMPOSE['param']['body'], array('safe' => false, 'inline_html' => true), array()); @@ -1259,10 +1264,10 @@ $index = $storage->index(null, rcmail_sort_column(), rcmail_sort_order()); $COMPOSE['forward_uid'] = $index->get(); } - else if (strpos($COMPOSE['forward_uid'], ':')) { + else if (!is_array($COMPOSE['forward_uid']) && strpos($COMPOSE['forward_uid'], ':')) { $COMPOSE['forward_uid'] = rcube_imap_generic::uncompressMessageSet($COMPOSE['forward_uid']); } - else { + else if (is_string($COMPOSE['forward_uid'])) { $COMPOSE['forward_uid'] = explode(',', $COMPOSE['forward_uid']); } -- Gitblit v1.9.1