From c2e697fe8170b2fe014f391874e00c1ee27f40bc Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Thu, 24 Sep 2009 09:50:31 -0400
Subject: [PATCH] - added Chrome detection (#1486163)
---
program/include/rcube_message.php | 24 ++++++++++++++++--------
1 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/program/include/rcube_message.php b/program/include/rcube_message.php
index 9fe9858..7c2457e 100644
--- a/program/include/rcube_message.php
+++ b/program/include/rcube_message.php
@@ -323,8 +323,16 @@
$p->ctype_primary = 'text';
$p->ctype_secondary = 'plain';
$p->body = rcube_label('encryptedmessage');
+ $p->size = strlen($p->body);
- $this->parts[] = $p;
+ // maybe some plugins are able to decode this encrypted message part
+ $data = $this->app->plugins->exec_hook('message_part_encrypted', array('object' => $this, 'struct' => $structure, 'part' => $p));
+ if (is_array($data['parts'])) {
+ $this->parts = array_merge($this->parts, $data['parts']);
+ }
+ else if ($data['part']) {
+ $this->parts[] = $p;
+ }
}
// message contains multiple parts
else if (is_array($structure->parts) && !empty($structure->parts)) {
@@ -382,19 +390,19 @@
if ($message_ctype_secondary == 'appledouble' && $secondary_type == 'applefile')
continue;
- // part belongs to a related message
- if ($message_ctype_secondary == 'related') {
+ // part belongs to a related message and is linked
+ if ($message_ctype_secondary == 'related'
+ && preg_match('!^image/!', $mail_part->mimetype)
+ && ($mail_part->headers['content-id'] || $mail_part->headers['content-location'])) {
if ($mail_part->headers['content-id'])
$mail_part->content_id = preg_replace(array('/^</', '/>$/'), '', $mail_part->headers['content-id']);
if ($mail_part->headers['content-location'])
$mail_part->content_location = $mail_part->headers['content-base'] . $mail_part->headers['content-location'];
-
- if ($mail_part->content_id || $mail_part->content_location) {
- $this->inline_parts[] = $mail_part;
- }
+
+ $this->inline_parts[] = $mail_part;
}
// is a regular attachment
- else {
+ else if (preg_match('!^[a-z]+/[a-z0-9-.]+$!i', $mail_part->mimetype)) {
if (!$mail_part->filename)
$mail_part->filename = 'Part '.$mail_part->mime_id;
$this->attachments[] = $mail_part;
--
Gitblit v1.9.1