diff options
author | alecpl <alec@alec.pl> | 2010-03-04 14:39:47 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2010-03-04 14:39:47 +0000 |
commit | a039c626eef6ad0e6c915d1618fbd0e6e40f57a2 (patch) | |
tree | 59d6ce47deb52121b9793d9521a6636204323185 /program/steps/mail | |
parent | bbc8565e5afa7e5352bc3aaf7cf067066ec6d4b1 (diff) |
- Fix deleting all messages from last list page (#1486293)
Diffstat (limited to 'program/steps/mail')
-rw-r--r-- | program/steps/mail/mark.inc | 6 | ||||
-rw-r--r-- | program/steps/mail/move_del.inc | 5 |
2 files changed, 7 insertions, 4 deletions
diff --git a/program/steps/mail/mark.inc b/program/steps/mail/mark.inc index 014108ffc..3e0ee9ecb 100644 --- a/program/steps/mail/mark.inc +++ b/program/steps/mail/mark.inc @@ -81,7 +81,7 @@ if (($uids = get_input_value('_uid', RCUBE_INPUT_POST)) && ($flag = get_input_va $remaining = $msg_count - $IMAP->page_size * ($IMAP->list_page - 1); // jump back one page (user removed the whole last page) - if ($IMAP->list_page > 1 && $nextpage_count <= 0 && $remaining == 0) { + if ($IMAP->list_page > 1 && $remaining == 0) { $IMAP->set_page($IMAP->list_page-1); $_SESSION['page'] = $IMAP->list_page; $jump_back = true; @@ -96,6 +96,7 @@ if (($uids = get_input_value('_uid', RCUBE_INPUT_POST)) && ($flag = get_input_va $mbox = $IMAP->get_mailbox_name(); $unseen_count = $msg_count ? $IMAP->messagecount($mbox, 'UNSEEN') : 0; $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; @@ -107,7 +108,8 @@ if (($uids = get_input_value('_uid', RCUBE_INPUT_POST)) && ($flag = get_input_va $sort_col = isset($_SESSION['sort_col']) ? $_SESSION['sort_col'] : $CONFIG['message_sort_col']; $sort_order = isset($_SESSION['sort_order']) ? $_SESSION['sort_order'] : $CONFIG['message_sort_order']; - $a_headers = $IMAP->list_headers($mbox, NULL, $sort_col, $sort_order, $count); + $a_headers = $IMAP->list_headers($mbox, NULL, $sort_col, $sort_order, + $jump_back ? NULL : $count); rcmail_js_message_list($a_headers, false, false); } diff --git a/program/steps/mail/move_del.inc b/program/steps/mail/move_del.inc index 2895867e3..b8bd16557 100644 --- a/program/steps/mail/move_del.inc +++ b/program/steps/mail/move_del.inc @@ -88,7 +88,7 @@ else $remaining = $msg_count - $IMAP->page_size * ($IMAP->list_page - 1); // jump back one page (user removed the whole last page) - if ($IMAP->list_page > 1 && $nextpage_count <= 0 && $remaining == 0) { + if ($IMAP->list_page > 1 && $remaining == 0) { $IMAP->set_page($IMAP->list_page-1); $_SESSION['page'] = $IMAP->list_page; $jump_back = true; @@ -121,7 +121,8 @@ else $sort_col = isset($_SESSION['sort_col']) ? $_SESSION['sort_col'] : $CONFIG['message_sort_col']; $sort_order = isset($_SESSION['sort_order']) ? $_SESSION['sort_order'] : $CONFIG['message_sort_order']; - $a_headers = $IMAP->list_headers($mbox, NULL, $sort_col, $sort_order, $count); + $a_headers = $IMAP->list_headers($mbox, NULL, $sort_col, $sort_order, + $jump_back ? NULL : $count); rcmail_js_message_list($a_headers, false, false); } |