Thomas Bruederli
2014-06-04 3412e50b54e3daac8745234e21ab6e72be0ed165
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-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.                |
@@ -35,12 +35,20 @@
    $target = rcube_utils::get_input_value('_target_mbox', rcube_utils::INPUT_POST, true);
    $trash  = $RCMAIL->config->get('trash_mbox');
    foreach (rcmail_get_uids() as $mbox => $uids) {
        $moved += (int)$RCMAIL->storage->move_message($uids, $target, $mbox);
        $count += count($uids);
    $success = true;
    foreach (rcmail::get_uids() as $mbox => $uids) {
        if ($mbox === $target) {
            $count += count($uids);
        }
        else if ($RCMAIL->storage->move_message($uids, $target, $mbox)) {
            $count += count($uids);
        }
        else {
            $success = false;
        }
    }
    if (!$moved) {
    if (!$success) {
        // send error message
        if ($_POST['_from'] != 'show')
            $OUTPUT->command('list_mailbox');
@@ -52,11 +60,17 @@
        $OUTPUT->show_message('messagemoved', 'confirmation');
    }
    $addrows = true;
    if (!empty($_POST['_refresh'])) {
        // FIXME: send updated message rows instead of releading the entire list
        $OUTPUT->command('refresh_list');
    }
    else {
        $addrows = true;
    }
}
// delete messages 
else if ($RCMAIL->action=='delete' && !empty($_POST['_uid'])) {
    foreach (rcmail_get_uids() as $mbox => $uids) {
    foreach (rcmail::get_uids() as $mbox => $uids) {
        $del += (int)$RCMAIL->storage->delete_message($uids, $mbox);
        $count += count($uids);
    }