From 99e28b96b3bd3ea2e385374f5279cbef2376494a Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Thu, 3 Jul 2014 17:17:54 +0000 Subject: [PATCH] Add save all attachments as zip to mail display popup --- mail/inc/class.mail_ui.inc.php | 17 ++++++++++++++++- mail/templates/default/display.xet | 1 + mail/templates/default/index.xet | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/mail/inc/class.mail_ui.inc.php b/mail/inc/class.mail_ui.inc.php index 5f91dd8ecb..ab9e1a7cf8 100644 --- a/mail/inc/class.mail_ui.inc.php +++ b/mail/inc/class.mail_ui.inc.php @@ -2098,6 +2098,10 @@ class mail_ui $rowID = $_requesteddata['id']; //unset($_REQUEST); } + if($_requesteddata['mail_displayattachments'][0]['save_zip']) + { + $this->download_zip($_requesteddata['mail_id']); + } $preventRedirect=false; if(isset($_GET['id'])) $rowID = $_GET['id']; if(isset($_GET['part'])) $partID = $_GET['part']; @@ -2829,6 +2833,17 @@ class mail_ui function download_zip($message_id) { // First, get all attachment IDs + if(!is_numeric($message_id)) + { + $hA = self::splitRowID($message_id); + $message_id = $hA['msgUID']; + $mailbox = $hA['folder']; + } + else + { + $mailbox = $this->mail_bo->sessionData['mailbox']; + } + $attachments = $this->mail_bo->getMessageAttachments($message_id); // put them in VFS so they can be zipped @@ -2845,9 +2860,9 @@ class mail_ui } $file_list = array(); + $this->mail_bo->reopen($mailbox); foreach($attachments as $file) { - $this->mail_bo->reopen($this->mail_bo->sessionData['mailbox']); $attachment = $this->mail_bo->getAttachment($message_id,$file['partID'],$file['is_winmail'],false); if (!($fp = egw_vfs::fopen($path.$file['filename'],'wb')) || diff --git a/mail/templates/default/display.xet b/mail/templates/default/display.xet index d9142029fa..f582d905fa 100644 --- a/mail/templates/default/display.xet +++ b/mail/templates/default/display.xet @@ -78,6 +78,7 @@ + diff --git a/mail/templates/default/index.xet b/mail/templates/default/index.xet index 342e812621..1298acff87 100644 --- a/mail/templates/default/index.xet +++ b/mail/templates/default/index.xet @@ -102,7 +102,7 @@ -