From 2eef77c6e349bc29d066068facd26b454d2392b6 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Thu, 09 Jan 2014 05:19:30 -0500
Subject: [PATCH] Fix issue where filesystem path was added to all-attachments (zip) file (#1489507)
---
plugins/zipdownload/zipdownload.php | 23 +++++++++++++++--------
1 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/plugins/zipdownload/zipdownload.php b/plugins/zipdownload/zipdownload.php
index 5943126..3e3516e 100644
--- a/plugins/zipdownload/zipdownload.php
+++ b/plugins/zipdownload/zipdownload.php
@@ -106,9 +106,20 @@
$zip->open($tmpfname, ZIPARCHIVE::OVERWRITE);
foreach ($message->attachments as $part) {
- $pid = $part->mime_id;
- $part = $message->mime_parts[$pid];
- $disp_name = $this->_convert_filename($part->filename);
+ $pid = $part->mime_id;
+ $part = $message->mime_parts[$pid];
+ $filename = $part->filename;
+
+ if ($filename === null || $filename === '') {
+ $ext = (array) rcube_mime::get_mime_extensions($part->mimetype);
+ $ext = array_shift($ext);
+ $filename = $rcmail->gettext('messagepart') . ' ' . $pid;
+ if ($ext) {
+ $filename .= '.' . $ext;
+ }
+ }
+
+ $disp_name = $this->_convert_filename($filename);
if ($part->body) {
$orig_message_raw = $part->body;
@@ -205,11 +216,7 @@
$subject = $this->_convert_filename($subject);
$subject = substr($subject, 0, 16);
- if (isset($subject) && $subject !="")
- $disp_name = $subject . ".eml";
- else
- $disp_name = "message_rfc822.eml";
-
+ $disp_name = ($subject ? $subject : 'message_rfc822') . ".eml";
$disp_name = $uid . "_" . $disp_name;
$tmpfn = tempnam($temp_dir, 'zipmessage');
--
Gitblit v1.9.1