From 4dae735feb47918008e289f19d7d5d17462a0682 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Fri, 20 Jun 2008 08:05:42 -0400
Subject: [PATCH] Flag original message as Forwarded when sending mail

---
 program/steps/mail/compose.inc  |    4 ----
 program/lib/imap.inc            |   15 +++++++--------
 program/steps/mail/sendmail.inc |    6 ++++--
 3 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/program/lib/imap.inc b/program/lib/imap.inc
index 7a1ac0a..ce02071 100644
--- a/program/lib/imap.inc
+++ b/program/lib/imap.inc
@@ -147,6 +147,7 @@
 	var $deleted = false;
 	var $recent = false;
 	var $answered = false;
+	var $forwarded = false;
 	var $junk = false;
 }
 
@@ -1741,11 +1742,6 @@
 					// process flags
 					$flags_str = eregi_replace('[\\\"]', '', $flags_str);
 					$flags_a   = explode(' ', $flags_str);
-
-                    /*
-                    trigger_error("<!-- ID: $id FLAGS: ".implode(",", $flags_a)." //-->\n",
-                        E_USER_WARNING);
-                    */
 					
 					if (is_array($flags_a)) {
 						reset($flags_a);
@@ -1758,9 +1754,11 @@
 							    $result[$id]->recent = true;
 							} else if (strcasecmp($val, 'Answered') == 0) {
 							    $result[$id]->answered = true;
-							} else if (strcasecmp($val, "\$MDNSent") == 0) {
+							} else if (strcasecmp($val, '$Forwarded') == 0) {
+							    $result[$id]->forwarded = true;
+							} else if (strcasecmp($val, '$MDNSent') == 0) {
 							    $result[$id]->mdn_sent = true;
-    				                        }
+							}
 						}
 						$result[$id]->flags = $flags_a;
 					}
@@ -1915,7 +1913,8 @@
         'ANSWERED' => '\\Answered',
         'DRAFT'    => '\\Draft',
         'FLAGGED'  => '\\Flagged',
-        'MDNSENT'  => "\$MDNSent");
+        'FORWARDED' => '$Forwarded',
+        'MDNSENT'  => '$MDNSent');
         
 	$flag = strtoupper($flag);
 	$flag = $flags[$flag];
diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc
index 800a9de..5d23c15 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 ********/
diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc
index 44f2bdf..babde48 100644
--- a/program/steps/mail/sendmail.inc
+++ b/program/steps/mail/sendmail.inc
@@ -348,11 +348,13 @@
     return;
     }
   
-  // set repliead flag
+  // set replied/forwarded flag
   if ($_SESSION['compose']['reply_uid'])
     $IMAP->set_flag($_SESSION['compose']['reply_uid'], 'ANSWERED');
+  else if ($_SESSION['compose']['forward_uid'])
+    $IMAP->set_flag($_SESSION['compose']['forward_uid'], 'FORWARDED');
 
-  } // End of SMTP Delivery Block
+} // End of SMTP Delivery Block
 
 
 

--
Gitblit v1.9.1