From cbeea3d4d092f6ae2310175a57fe15b43d608b33 Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Thu, 17 Sep 2009 08:36:32 -0400 Subject: [PATCH] - some code improvements for r2959 change --- program/steps/mail/move_del.inc | 27 +++++++++++++++------------ 1 files changed, 15 insertions(+), 12 deletions(-) diff --git a/program/steps/mail/move_del.inc b/program/steps/mail/move_del.inc index df7bef9..30102d9 100644 --- a/program/steps/mail/move_del.inc +++ b/program/steps/mail/move_del.inc @@ -5,7 +5,7 @@ | program/steps/mail/move_del.inc | | | | This file is part of the RoundCube Webmail client | - | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | + | Copyright (C) 2005-2009, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -19,6 +19,10 @@ */ +// only process ajax requests +if (!$OUTPUT->ajax_call) + return; + // count messages before changing anything $old_count = $IMAP->messagecount(); $old_pages = ceil($old_count / $IMAP->page_size); @@ -28,10 +32,6 @@ $count = sizeof(explode(',', ($uids = get_input_value('_uid', RCUBE_INPUT_POST)))); $target = get_input_value('_target_mbox', RCUBE_INPUT_POST); $mbox = get_input_value('_mbox', RCUBE_INPUT_POST); - - // flag messages as read before moving them - if ($CONFIG['read_when_deleted'] && $target == $CONFIG['trash_mbox']) - $IMAP->set_flag($uids, 'SEEN'); $moved = $IMAP->move_message($uids, $target, $mbox); @@ -102,10 +102,15 @@ // 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; + } if ($RCMAIL->action=='moveto' && $target) { - $OUTPUT->command('set_unread_count', $target, $IMAP->messagecount($target, 'UNSEEN')); + rcmail_send_unread_count($target, true); } $OUTPUT->command('set_quota', rcmail_quota_content($IMAP->get_quota())); @@ -115,11 +120,9 @@ if ($addrows && ($jump_back || $nextpage_count > 0)) { $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); - if (!$jump_back) { - $a_headers = array_slice($a_headers, -$count, $count); - } + + $a_headers = $IMAP->list_headers($mbox, NULL, $sort_col, $sort_order, $count); + rcmail_js_message_list($a_headers, false, false); } } -- Gitblit v1.9.1