diff --git a/api/src/Mail.php b/api/src/Mail.php index 20735d5145..806d623fad 100644 --- a/api/src/Mail.php +++ b/api/src/Mail.php @@ -484,10 +484,12 @@ class Mail { $this->sessionData = array(); self::$activeFolderCache = Cache::getCache(Cache::INSTANCE,'email','activeMailbox'.trim($GLOBALS['egw_info']['user']['account_id']),null,array(),60*60*10); - - foreach (self::$activeFolderCache[$this->profileID] as $key => $value) + if (is_array(self::$activeFolderCache[$this->profileID])) { - $this->sessionData[$key] = $value; + foreach (self::$activeFolderCache[$this->profileID] as $key => $value) + { + $this->sessionData[$key] = $value; + } } } diff --git a/api/src/Mail/Smime.php b/api/src/Mail/Smime.php index 33fc29d51b..e38661375f 100644 --- a/api/src/Mail/Smime.php +++ b/api/src/Mail/Smime.php @@ -177,7 +177,7 @@ class Smime extends Horde_Crypt_Smime */ public function extractSignedContents($data) { - return Horde_Mime_Part::parseMessage(parent::extractSignedContents($data)); + return Horde_Mime_Part::parseMessage(parent::extractSignedContents($data), array('forcemime' => true)); } } diff --git a/mail/inc/class.mail_ui.inc.php b/mail/inc/class.mail_ui.inc.php index 114dd5b780..e44ad88dd1 100644 --- a/mail/inc/class.mail_ui.inc.php +++ b/mail/inc/class.mail_ui.inc.php @@ -2384,7 +2384,7 @@ $filter['before']= date("d-M-Y", $cutoffdate2); } else // only encrypted message { - $message_parts = Horde_Mime_Part::parseMessage($_message); + $message_parts = Horde_Mime_Part::parseMessage($_message, array('forcemime' => true)); } if (!Mail\Smime::isSmimeSignatureOnly($params['mimeType'])) diff --git a/mail/js/app.js b/mail/js/app.js index 92d3792df7..7a24d65cd3 100644 --- a/mail/js/app.js +++ b/mail/js/app.js @@ -5748,11 +5748,22 @@ app.classes.mail = AppJS.extend( { var attachmentArea = this.et2.getWidgetById(egw(window).is_popup()?'mail_displayattachments':'previewAttachmentArea'); var content = this.et2.getArrayMgr('content'); + var mailPreview = this.et2.getWidgetById('mailPreviewContainer'); if (attachmentArea && _attachments && _attachments.length > 0) { content.data[attachmentArea.id] = _attachments; this.et2.setArrayMgr('contnet', content); attachmentArea.set_value({content:_attachments}); + if (attachmentArea.id == 'previewAttachmentArea') + { + var a_node = attachmentArea.getDOMNode(); + var m_node = mailPreview.getDOMNode(); + var offset = m_node.offsetTop - a_node.offsetTop; + if (a_node.offsetTop + a_node.offsetHeight > m_node.offsetTop) + { + m_node.style.setProperty('top', m_node.offsetTop + offset+"px"); + } + } } }, /**