|
|
|
@ -210,18 +210,20 @@ class rcube_message
|
|
|
|
|
if (!$recursive) {
|
|
|
|
|
$level = explode('.', $part->mime_id);
|
|
|
|
|
|
|
|
|
|
// Skip if level too deep or part has a file name
|
|
|
|
|
if (count($level) > 2 || $part->filename) {
|
|
|
|
|
// Skip if part is an attachment
|
|
|
|
|
if ($this->is_attachment($part)) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// HTML part can be on the lower level, if not...
|
|
|
|
|
if (count($level) > 1) {
|
|
|
|
|
array_pop($level);
|
|
|
|
|
// Check if the part belongs to higher-level's alternative/related
|
|
|
|
|
while (array_pop($level) !== null) {
|
|
|
|
|
if (!count($level)) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$parent = $this->mime_parts[join('.', $level)];
|
|
|
|
|
// ... parent isn't multipart/alternative or related
|
|
|
|
|
if ($parent->mimetype != 'multipart/alternative' && $parent->mimetype != 'multipart/related') {
|
|
|
|
|
continue;
|
|
|
|
|
continue 2;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|