From 5688d5baa28e310467528c4f3c187bf8f6edf0fb Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Fri, 01 Mar 2013 18:12:04 -0500
Subject: [PATCH] Avoid loading already registered attachments when opening a draft message (on page reload)

---
 program/steps/mail/compose.inc |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc
index de75c88..25cf63f 100644
--- a/program/steps/mail/compose.inc
+++ b/program/steps/mail/compose.inc
@@ -978,6 +978,11 @@
 {
   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 @@
           }
       }
 
-      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',

--
Gitblit v1.9.1