From eaf3832e40234f5e88644d2dcdd01cf8f8d7a67d Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Thu, 27 Jun 2013 03:48:11 -0400
Subject: [PATCH] Add some displayed attachment info into javascript environment

---
 program/steps/mail/get.inc |   32 +++++++++++++++++++++++---------
 1 files changed, 23 insertions(+), 9 deletions(-)

diff --git a/program/steps/mail/get.inc b/program/steps/mail/get.inc
index 5efa5c5..57942f6 100644
--- a/program/steps/mail/get.inc
+++ b/program/steps/mail/get.inc
@@ -38,17 +38,21 @@
 
 // similar code as in program/steps/mail/show.inc
 if (!empty($_GET['_uid'])) {
+  $uid = get_input_value('_uid', RCUBE_INPUT_GET);
   $RCMAIL->config->set('prefer_html', true);
-  $MESSAGE = new rcube_message(get_input_value('_uid', RCUBE_INPUT_GET));
+  $MESSAGE = new rcube_message($uid);
 }
 
 // check connection status
 check_storage_status();
 
+$part_id = get_input_value('_part', RCUBE_INPUT_GPC);
+
 // show part page
 if (!empty($_GET['_frame'])) {
-  if (($part_id = get_input_value('_part', RCUBE_INPUT_GPC)) && ($part = $MESSAGE->mime_parts[$part_id])) {
-    $OUTPUT->set_pagetitle(rcmail_attachment_name($part));
+  if ($part_id && ($part = $MESSAGE->mime_parts[$part_id])) {
+    $filename = rcmail_attachment_name($part);
+    $OUTPUT->set_pagetitle($filename);
   }
 
   // register UI objects
@@ -56,6 +60,11 @@
     'messagepartframe'    => 'rcmail_message_part_frame',
     'messagepartcontrols' => 'rcmail_message_part_controls',
   ));
+
+  $OUTPUT->set_env('mailbox', $RCMAIL->storage->get_folder());
+  $OUTPUT->set_env('uid', $uid);
+  $OUTPUT->set_env('part', $part_id);
+  $OUTPUT->set_env('filename', $filename);
 
   $OUTPUT->send('messagepart');
   exit;
@@ -98,9 +107,8 @@
   exit;
 }
 
-else if (strlen($pid = get_input_value('_part', RCUBE_INPUT_GET))) {
-
-  if ($part = $MESSAGE->mime_parts[$pid]) {
+else if (strlen($part_id)) {
+  if ($part = $MESSAGE->mime_parts[$part_id]) {
     $mimetype = rcmail_fix_mimetype($part->mimetype);
 
     // allow post-processing of the message body
@@ -384,7 +392,9 @@
 header('HTTP/1.1 404 Not Found');
 exit;
 
-
+/**
+ * Handles nicely storage connection errors
+ */
 function check_storage_status()
 {
     $error = rcmail::get_instance()->storage->get_error_code();
@@ -417,7 +427,9 @@
     }
 }
 
-
+/**
+ * Attachment properties table
+ */
 function rcmail_message_part_controls($attrib)
 {
     global $MESSAGE, $RCMAIL;
@@ -444,7 +456,9 @@
     return $table->show($attrib);
 }
 
-
+/**
+ * Attachment preview frame
+ */
 function rcmail_message_part_frame($attrib)
 {
     global $MESSAGE, $RCMAIL;

--
Gitblit v1.9.1