From ff08eed202d77935f277bf221f753dad6f657fdb Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Sat, 02 Feb 2008 15:30:01 -0500
Subject: [PATCH] Also respect receipt and priority settings when re-opening a draft message

---
 CHANGELOG                      |    6 ++++++
 program/steps/mail/compose.inc |    8 ++++++--
 program/lib/imap.inc           |    7 ++++++-
 3 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index cda9d8e..8203ec5 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,12 @@
 CHANGELOG RoundCube Webmail
 ---------------------------
 
+2008/02/02 (thomasb)
+----------
+- Always update $CONFIG with user prefs (#1484729)
+- Don't ask for MDN confirmations on drafted messages (#1484691)
+- 
+
 2008/01/31 (robin)
 - Remember search results (closes #1483883), patch by the_glu
 
diff --git a/program/lib/imap.inc b/program/lib/imap.inc
index 8cb5d4a..a7462a3 100644
--- a/program/lib/imap.inc
+++ b/program/lib/imap.inc
@@ -126,6 +126,7 @@
 	var $f;
 	var $internaldate;
 	var $references;
+	var $priority;
 	var $mdn_to;
 	var $mdn_sent = false;
 	var $is_reply = false;
@@ -1515,7 +1516,7 @@
     $request .= " FETCH $message_set (BODY.PEEK[HEADER.FIELDS ";
     $request .= "(DATE FROM TO SUBJECT REPLY-TO IN-REPLY-TO CC BCC ";
     $request .= "CONTENT-TRANSFER-ENCODING CONTENT-TYPE MESSAGE-ID ";
-    $request .= "REFERENCES DISPOSITION-NOTIFICATION-TO)])\r\n";
+    $request .= "REFERENCES DISPOSITION-NOTIFICATION-TO X-PRIORITY)])\r\n";
 
 	if (!fputs($fp, $request)) {
 	    return false;
@@ -1625,6 +1626,10 @@
 					case 'message-id':
 						$result[$id]->messageID = $string;
 						break;
+					case 'x-priority':
+						if (preg_match('/^(\d+)/', $string, $matches))
+							$result[$id]->priority = intval($matches[1]);
+						break;
     				} // end switch ()
     			} // end while ()
 		    } else {
diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc
index 915d5a0..908bc27 100644
--- a/program/steps/mail/compose.inc
+++ b/program/steps/mail/compose.inc
@@ -736,6 +736,8 @@
 
 function rcmail_priority_selector($attrib)
 {
+  global $MESSAGE;
+  
   list($form_start, $form_end) = get_form_tags($attrib);
   unset($attrib['form']);
   
@@ -749,7 +751,7 @@
                        rcube_label('highest')),
                  array(5, 4, 0, 2, 1));
                  
-  $sel = isset($_POST['_priority']) ? $_POST['_priority'] : 0;
+  $sel = isset($_POST['_priority']) ? $_POST['_priority'] : intval($MESSAGE['headers']->priority);
 
   $out = $form_start ? "$form_start\n" : '';
   $out .= $selector->show($sel);
@@ -761,6 +763,8 @@
 
 function rcmail_receipt_checkbox($attrib)
 {
+  global $MESSAGE;
+  
   list($form_start, $form_end) = get_form_tags($attrib);
   unset($attrib['form']);
   
@@ -772,7 +776,7 @@
   $checkbox = new checkbox($attrib);
 
   $out = $form_start ? "$form_start\n" : '';
-  $out .= $checkbox->show(0);
+  $out .= $checkbox->show($MESSAGE['headers']->mdn_to ? 1 : 0);
   $out .= $form_end ? "\n$form_end" : '';
 
   return $out;

--
Gitblit v1.9.1