Changeset 2959 in subversion
- Timestamp:
- Sep 17, 2009 8:07:58 AM (4 years ago)
- Location:
- trunk/roundcubemail
- Files:
-
- 7 edited
-
CHANGELOG (modified) (1 diff)
-
program/steps/mail/check_recent.inc (modified) (2 diffs)
-
program/steps/mail/folders.inc (modified) (2 diffs)
-
program/steps/mail/getunread.inc (modified) (1 diff)
-
program/steps/mail/list.inc (modified) (2 diffs)
-
program/steps/mail/mark.inc (modified) (2 diffs)
-
program/steps/mail/move_del.inc (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/roundcubemail/CHANGELOG
r2957 r2959 2 2 =========================== 3 3 4 - Fix incorrect count of new messages in folder list when using multiple IMAP clients (#1485995) 5 - Fix all folders checking for new messages with disabled caching (#1486128) 4 6 - Support skins in 'archive' and 'markasjunk' plugins 5 7 - Added 'html_editor' hook (#1486068) -
trunk/roundcubemail/program/steps/mail/check_recent.inc
r2860 r2959 69 69 } 70 70 } 71 else { 72 send_unread_count($mbox_name); 73 } 71 74 } 72 else if ($ unseen = $IMAP->messagecount($mbox_name, 'UNSEEN', $check_all)) {73 $OUTPUT->command('set_unread_count', $mbox_name, $unseen);75 else if ($check_all) { 76 send_unread_count($mbox_name); 74 77 } 75 78 } … … 77 80 $OUTPUT->send(); 78 81 82 83 function send_unread_count($mbox_name) 84 { 85 global $RCMAIL; 86 87 $old_unseen = $_SESSION['unseen_count'][$mbox_name]; 88 $unseen = $RCMAIL->imap->messagecount($mbox_name, 'UNSEEN', true); 89 90 if ($unseen != $old_unseen) 91 $RCMAIL->output->command('set_unread_count', $mbox_name, $unseen, ($mbox_name == 'INBOX')); 92 93 // @TODO: this data is doubled (session and cache tables) if caching is enabled 94 $_SESSION['unseen_count'][$mbox_name] = $unseen; 95 } 96 79 97 ?> -
trunk/roundcubemail/program/steps/mail/folders.inc
r2758 r2959 61 61 $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text()); 62 62 $OUTPUT->command('set_unread_count', $mbox_name, 0); 63 $_SESSION['unseen_count'][$mbox_name] = 0; 63 64 } 64 65 else … … 68 69 69 70 $OUTPUT->send($commands); 71 70 72 ?> -
trunk/roundcubemail/program/steps/mail/getunread.inc
r1917 r2959 25 25 { 26 26 $inbox = ($IMAP->get_mailbox_name() == 'INBOX'); 27 foreach ($a_folders as $mbox_row) 28 $OUTPUT->command('set_unread_count', $mbox_row, $IMAP->messagecount($mbox_row, 'UNSEEN'), $inbox && $mbox_row == 'INBOX'); 27 foreach ($a_folders as $mbox_row) { 28 $unseen = $IMAP->messagecount($mbox_row, 'UNSEEN', !isset($_SESSION['unseen_count'][$mbox_row])); 29 $_SESSION['unseen_count'][$mbox_row] = $unseen; 30 31 if ($unseen) { 32 $OUTPUT->command('set_unread_count', $mbox_row, $unseen, $inbox && $mbox_row == 'INBOX'); 33 } 34 } 29 35 } 30 36 31 37 $OUTPUT->send(); 38 32 39 ?> -
trunk/roundcubemail/program/steps/mail/list.inc
r2634 r2959 61 61 $a_headers = $IMAP->list_headers($mbox_name, NULL, $sort_col, $sort_order); 62 62 63 // count UNSEEN messages... 64 $old_unseen = $_SESSION['unseen_count'][$mbox_name]; 63 65 $unseen = $count ? $IMAP->messagecount($mbox_name, 'UNSEEN', !empty($_REQUEST['_refresh'])) : 0; 66 $_SESSION['unseen_count'][$mbox_name] = $unseen; 67 68 // ...and update mailboxlist 69 if ($unseen != $old_unseen) 70 $OUTPUT->command('set_unread_count', $mbox_name, $unseen, ($mbox_name == 'INBOX')); 64 71 65 72 // update message count display … … 81 88 else 82 89 $OUTPUT->show_message('nomessagesfound', 'notice'); 83 84 // update mailboxlist85 $OUTPUT->command('set_unread_count', $mbox_name, $unseen, ($mbox_name == 'INBOX'));86 90 87 91 // send response -
trunk/roundcubemail/program/steps/mail/mark.inc
r2758 r2959 63 63 if ($flag == 'SEEN' || $flag == 'UNSEEN' || ($flag == 'DELETED' && !$CONFIG['skip_deleted'])) { 64 64 $mbox_name = $IMAP->get_mailbox_name(); 65 $OUTPUT->command('set_unread_count', $mbox_name, $IMAP->messagecount($mbox_name, 'UNSEEN'), ($mbox_name == 'INBOX')); 65 $unseen = $IMAP->messagecount($mbox_name, 'UNSEEN'); 66 $old_unseen = $_SESSION['unseen_count'][$mbox_name]; 67 if ($old_unseen != $unseen) { 68 $OUTPUT->command('set_unread_count', $mbox_name, $unseen, ($mbox_name == 'INBOX')); 69 $_SESSION['unseen_count'][$mbox_name] = $unseen; 70 } 66 71 } 67 72 else if ($flag == 'DELETED' && $CONFIG['skip_deleted']) { … … 97 102 $mbox = $IMAP->get_mailbox_name(); 98 103 $unseen_count = $msg_count ? $IMAP->messagecount($mbox, 'UNSEEN') : 0; 99 $OUTPUT->command('set_unread_count', $mbox, $unseen_count, ($mbox == 'INBOX')); 104 $old_unseen = $_SESSION['unseen_count'][$mbox]; 105 if ($old_unseen != $unseen_count) { 106 $OUTPUT->command('set_unread_count', $mbox, $unseen_count, ($mbox == 'INBOX')); 107 $_SESSION['unseen_count'][$mbox] = $unseen_count; 108 } 100 109 $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text($msg_count)); 101 110 -
trunk/roundcubemail/program/steps/mail/move_del.inc
r2930 r2959 103 103 $mbox = $IMAP->get_mailbox_name(); 104 104 $unseen_count = $msg_count ? $IMAP->messagecount($mbox, 'UNSEEN') : 0; 105 $OUTPUT->command('set_unread_count', $mbox, $unseen_count, ($mbox == 'INBOX')); 105 $old_unseen = $_SESSION['unseen_count'][$mbox]; 106 107 if ($old_unseen != $unseen_count) { 108 $OUTPUT->command('set_unread_count', $mbox, $unseen_count, ($mbox == 'INBOX')); 109 $_SESSION['unseen_count'][$mbox] = $unseen_count; 110 } 106 111 107 112 if ($RCMAIL->action=='moveto' && $target) { 108 $OUTPUT->command('set_unread_count', $target, $IMAP->messagecount($target, 'UNSEEN')); 113 $unseen_count = $IMAP->messagecount($target, 'UNSEEN', true); 114 $old_unseen = $_SESSION['unseen_count'][$target]; 115 if ($old_unseen != $unseen_count) { 116 $OUTPUT->command('set_unread_count', $target, $unseen_count); 117 $_SESSION['unseen_count'][$target] = $unseen_count; 118 } 109 119 } 110 120
Note: See TracChangeset
for help on using the changeset viewer.
