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