From 072fdef114759dcc1c5b7ba351ff523f25b75563 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Sat, 25 Oct 2008 12:29:34 -0400
Subject: [PATCH] - Don't send disposition notification receipts for messages marked as 'read' (#1485523)

---
 program/steps/mail/show.inc |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/program/steps/mail/show.inc b/program/steps/mail/show.inc
index 4f0a3b0..8b36c9a 100644
--- a/program/steps/mail/show.inc
+++ b/program/steps/mail/show.inc
@@ -69,10 +69,6 @@
 
   $OUTPUT->set_pagetitle($MESSAGE->subject);
   
-  // mark message as read
-  if (!$MESSAGE->headers->seen)
-    $IMAP->set_flag($MESSAGE->uid, 'SEEN');
-
   // give message uid to the client
   $OUTPUT->set_env('uid', $MESSAGE->uid);
   // set environement
@@ -87,7 +83,7 @@
     
   // check for unset disposition notification
   if ($MESSAGE->headers->mdn_to &&
-      !$MESSAGE->headers->mdn_sent &&
+      !$MESSAGE->headers->mdn_sent && !$MESSAGE->headers->seen &&
       $IMAP->check_permflag('MDNSENT') &&
       $mbox_name != $CONFIG['drafts_mbox'] &&
       $mbox_name != $CONFIG['sent_mbox'])
@@ -140,6 +136,10 @@
     $OUTPUT->set_env('next_uid', $next);
   if ($last >0)
     $OUTPUT->set_env('last_uid', $last);
+
+  // mark message as read
+  if (!$MESSAGE->headers->seen)
+    $IMAP->set_flag($MESSAGE->uid, 'SEEN');
   }
 
 

--
Gitblit v1.9.1