| | |
| | | | 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: | |
| | |
| | | |
| | | */ |
| | | |
| | | // 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); |
| | |
| | | $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); |
| | | |
| | |
| | | |
| | | // update mailboxlist |
| | | $mbox = $IMAP->get_mailbox_name(); |
| | | $OUTPUT->command('set_unread_count', $mbox, $IMAP->messagecount($mbox, 'UNSEEN'), ($mbox == 'INBOX')); |
| | | $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; |
| | | } |
| | | |
| | | 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())); |
| | |
| | | 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); |
| | | } |
| | | } |