summaryrefslogtreecommitdiff
path: root/program/include
diff options
context:
space:
mode:
Diffstat (limited to 'program/include')
-rw-r--r--program/include/rcube_message.php11
1 files changed, 11 insertions, 0 deletions
diff --git a/program/include/rcube_message.php b/program/include/rcube_message.php
index ded019cdd..8ba607ce1 100644
--- a/program/include/rcube_message.php
+++ b/program/include/rcube_message.php
@@ -393,6 +393,17 @@ class rcube_message
else if ((($part_mimetype == 'text/plain' || $part_mimetype == 'text/html') && $mail_part->disposition != 'attachment') ||
$part_mimetype == 'message/delivery-status' || $part_mimetype == 'message/disposition-notification'
) {
+ // Allow plugins to handle also this part
+ $plugin = $this->app->plugins->exec_hook('message_part_structure',
+ array('object' => $this, 'structure' => $mail_part,
+ 'mimetype' => $part_mimetype, 'recursive' => true));
+
+ if ($plugin['abort'])
+ continue;
+
+ $mail_part = $plugin['structure'];
+ list($primary_type, $secondary_type) = explode('/', $plugin['mimetype']);
+
// add text part if it matches the prefs
if (!$this->parse_alternative ||
($secondary_type == 'html' && $this->opt['prefer_html']) ||