From faf8766fd2a34ad1eaf1545bab659ab459c074ad Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Thu, 31 Jul 2008 17:08:17 -0400
Subject: [PATCH] Save outgoing mail to selectable folder (#1324581)

---
 program/steps/mail/compose.inc |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc
index 800a9de..8e5a7c2 100644
--- a/program/steps/mail/compose.inc
+++ b/program/steps/mail/compose.inc
@@ -105,10 +105,6 @@
   {
     $_SESSION['compose']['forward_uid'] = $msg_uid;
   }
-  else if ($compose_mode == RCUBE_COMPOSE_DRAFT)
-  {
-    $_SESSION['compose']['draft_uid'] = $msg_uid;
-  }
 }
 
 /****** compose mode functions ********/
@@ -649,12 +645,17 @@
       $button = Q(rcube_label('delete'));
 
     foreach ($_SESSION['compose']['attachments'] as $id => $a_prop)
+    {
+      if (empty($a_prop))
+        continue;
+      
       $out .= html::tag('li', array('id' => "rcmfile".$id),
         html::a(array(
             'href' => "#delete",
             'title' => rcube_label('delete'),
-              'onclick' => sprintf("return %s.command(\'remove-attachment\',\'rcmfile%d\', this)", JS_OBJECT_NAME, $id)),
+            'onclick' => sprintf("return %s.command('remove-attachment','rcmfile%d', this)", JS_OBJECT_NAME, $id)),
           $button) . Q($a_prop['name']));
+    }
   }
 
   $OUTPUT->add_gui_object('attachmentlist', $attrib['id']);
@@ -775,6 +776,14 @@
 }
 
 
+function rcmail_store_target_selection($attrib)
+{
+  $attrib['name'] = '_store_target';
+  $select = rcmail_mailbox_select(array('noselection' => '- '.rcube_label('dontsave').' -'));
+  return $select->show(rcmail::get_instance()->config->get('sent_mbox'), $attrib);
+}
+
+
 function get_form_tags($attrib)
 {
   global $RCMAIL, $MESSAGE_FORM;
@@ -812,6 +821,7 @@
   'priorityselector' => 'rcmail_priority_selector',
   'editorselector' => 'rcmail_editor_selector',
   'receiptcheckbox' => 'rcmail_receipt_checkbox',
+  'storetarget' => 'rcmail_store_target_selection',
 ));
 
 /****** get contacts for this user and add them to client scripts ********/
@@ -827,7 +837,7 @@
     if ($sql_arr['email'])
       $a_contacts[] = format_email_recipient($sql_arr['email'], $sql_arr['name']);
   }
-if (isset($CONFIG['ldap_public']))
+if (!empty($CONFIG['ldap_public']) && is_array($CONFIG['ldap_public']))
   {
   /* LDAP autocompletion */ 
   foreach ($CONFIG['ldap_public'] as $ldapserv_config) 

--
Gitblit v1.9.1