From ddafe4e4109a8d6d412c3c138412ee2ca3d58dbf Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Sat, 27 Oct 2012 10:12:37 -0400
Subject: [PATCH] Merge branch 'dev-compose-newwindow'

---
 program/include/rcube_message.php |   20 +++++---------------
 1 files changed, 5 insertions(+), 15 deletions(-)

diff --git a/program/include/rcube_message.php b/program/include/rcube_message.php
index d15cc75..38d1817 100644
--- a/program/include/rcube_message.php
+++ b/program/include/rcube_message.php
@@ -210,26 +210,16 @@
                 if (!$recursive) {
                     $level = explode('.', $part->mime_id);
 
-                    // Level too high
-                    if (count($level) > 2) {
+                    // Skip if level too deep or part has a file name
+                    if (count($level) > 2 || $part->filename) {
                         continue;
                     }
 
                     // HTML part can be on the lower level, if not...
                     if (count($level) > 1) {
-                        // It can be an alternative or related message part
-                        // find parent part
-                        $parent = null;
-                        foreach ($this->mime_parts as $part) {
-                            if ($part->mime_id == $level[0]) {
-                                $parent = $part;
-                            }
-                        }
-
-                        if (!$parent) {
-                            continue;
-                        }
-
+                        array_pop($level);
+                        $parent = $this->mime_parts[join('.', $level)];
+                        // ... parent isn't multipart/alternative or related
                         if ($parent->mimetype != 'multipart/alternative' && $parent->mimetype != 'multipart/related') {
                             continue;
                         }

--
Gitblit v1.9.1