From 5688d5baa28e310467528c4f3c187bf8f6edf0fb Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Sat, 2 Mar 2013 00:12:04 +0100 Subject: Avoid loading already registered attachments when opening a draft message (on page reload) --- program/steps/mail/compose.inc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'program/steps/mail/compose.inc') diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index de75c88d5..25cf63f70 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -978,6 +978,11 @@ function rcmail_write_compose_attachments(&$message, $bodyIsHtml) { global $RCMAIL, $COMPOSE, $compose_mode; + $loaded_attachments = array(); + foreach ((array)$COMPOSE['attachments'] as $id => $attachment) { + $loaded_attachments[$attachment['name'] . $attachment['mimetype']] = $attachment; + } + $cid_map = $messages = array(); foreach ((array)$message->mime_parts as $pid => $part) { @@ -1005,7 +1010,8 @@ function rcmail_write_compose_attachments(&$message, $bodyIsHtml) } } - if (!$skip && ($attachment = rcmail_save_attachment($message, $pid))) { + if (!$skip && (($attachment = $loaded_attachments[rcmail_attachment_name($part) . $part->mimetype]) + || ($attachment = rcmail_save_attachment($message, $pid)))) { $COMPOSE['attachments'][$attachment['id']] = $attachment; if ($bodyIsHtml && ($part->content_id || $part->content_location)) { $url = sprintf('%s&_id=%s&_action=display-attachment&_file=rcmfile%s', -- cgit v1.2.3