Thomas Bruederli
2015-04-17 a3644638aaf0418598196a870204e0b632a4c8ad
program/steps/mail/mark.inc
@@ -4,7 +4,7 @@
 | program/steps/mail/mark.inc                                           |
 |                                                                       |
 | This file is part of the Roundcube Webmail client                     |
 | Copyright (C) 2005-2013, The Roundcube Dev Team                       |
 | Copyright (C) 2005-2014, The Roundcube Dev Team                       |
 |                                                                       |
 | Licensed under the GNU General Public License version 3 or            |
 | any later version with exceptions for skins & plugins.                |
@@ -36,7 +36,7 @@
    'unflagged' => 'UNFLAGGED',
);
if (($uids = rcube_utils::get_input_value('_uid', rcube_utils::INPUT_POST))
if (($_uids = rcube_utils::get_input_value('_uid', rcube_utils::INPUT_POST))
    && ($flag = rcube_utils::get_input_value('_flag', rcube_utils::INPUT_POST))
) {
    $flag = $a_flags_map[$flag] ? $a_flags_map[$flag] : strtoupper($flag);
@@ -45,10 +45,12 @@
        // count messages before changing anything
        $old_count = $RCMAIL->storage->count(NULL, $threading ? 'THREADS' : 'ALL');
        $old_pages = ceil($old_count / $RCMAIL->storage->get_pagesize());
        $count     = sizeof(explode(',', $uids));
    }
    $marked = $RCMAIL->storage->set_flag($uids, $flag);
    foreach (rcmail::get_uids() as $mbox => $uids) {
        $marked += (int)$RCMAIL->storage->set_flag($uids, $flag, $mbox);
        $count += count($uids);
    }
    if (!$marked) {
        // send error message
@@ -66,7 +68,9 @@
    if ($flag == 'DELETED' && $read_deleted && !empty($_POST['_ruid'])) {
        $ruids = rcube_utils::get_input_value('_ruid', rcube_utils::INPUT_POST);
        $read  = $RCMAIL->storage->set_flag($ruids, 'SEEN');
        foreach (rcmail::get_uids($ruids) as $mbox => $uids) {
            $read += (int)$RCMAIL->storage->set_flag($uids, 'SEEN', $mbox);
        }
        if ($read && !$skip_deleted) {
            $OUTPUT->command('flag_deleted_as_read', $ruids);
@@ -74,7 +78,9 @@
    }
    if ($flag == 'SEEN' || $flag == 'UNSEEN' || ($flag == 'DELETED' && !$skip_deleted)) {
        rcmail_send_unread_count($RCMAIL->storage->get_folder());
        foreach (rcmail::get_uids() as $mbox => $uids) {
            rcmail_send_unread_count($mbox);
        }
    }
    else if ($flag == 'DELETED' && $skip_deleted) {
        if ($_POST['_from'] == 'show') {
@@ -128,7 +134,7 @@
            }
            // add new rows from next page (if any)
            if ($count && $uids != '*' && ($jump_back || $nextpage_count > 0)) {
            if ($old_count && $_uids != '*' && ($jump_back || $nextpage_count > 0)) {
                $a_headers = $RCMAIL->storage->list_messages($mbox, NULL,
                    rcmail_sort_column(), rcmail_sort_order(), $jump_back ? NULL : $count);