]> git.donarmstrong.com Git - roundcube.git/blobdiff - program/steps/mail/mark.inc
Imported Upstream version 0.3.1
[roundcube.git] / program / steps / mail / mark.inc
index 718ac0dad9933baa052cff6bcd78f6889c64fa17..81b87d8a14cbc2c858da0a545288450715dcefb9 100644 (file)
@@ -14,7 +14,7 @@
  | Author: Thomas Bruederli <roundcube@gmail.com>                        |
  +-----------------------------------------------------------------------+
 
- $Id: mark.inc 2758 2009-07-16 15:01:05Z thomasb $
+ $Id: mark.inc 2960 2009-09-17 12:36:32Z alec $
 
 */
 
@@ -61,8 +61,7 @@ if (($uids = get_input_value('_uid', RCUBE_INPUT_POST)) && ($flag = get_input_va
   }
     
   if ($flag == 'SEEN' || $flag == 'UNSEEN' || ($flag == 'DELETED' && !$CONFIG['skip_deleted'])) {
-    $mbox_name = $IMAP->get_mailbox_name();
-    $OUTPUT->command('set_unread_count', $mbox_name, $IMAP->messagecount($mbox_name, 'UNSEEN'), ($mbox_name == 'INBOX'));
+    rcmail_send_unread_count($IMAP->get_mailbox_name());
   }
   else if ($flag == 'DELETED' && $CONFIG['skip_deleted']) {
     if ($_POST['_from'] == 'show') {
@@ -96,7 +95,11 @@ if (($uids = get_input_value('_uid', RCUBE_INPUT_POST)) && ($flag = get_input_va
       // update mailboxlist
       $mbox = $IMAP->get_mailbox_name();
       $unseen_count = $msg_count ? $IMAP->messagecount($mbox, 'UNSEEN') : 0;
-      $OUTPUT->command('set_unread_count', $mbox, $unseen_count, ($mbox == 'INBOX'));
+      $old_unseen = $_SESSION['unseen_count'][$mbox];
+      if ($old_unseen != $unseen_count) {
+        $OUTPUT->command('set_unread_count', $mbox, $unseen_count, ($mbox == 'INBOX'));
+       $_SESSION['unseen_count'][$mbox] = $unseen_count;
+      }
       $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text($msg_count));
 
       // add new rows from next page (if any)