diff options
Diffstat (limited to 'program')
| -rw-r--r-- | program/include/rcmail.php | 4 | ||||
| -rw-r--r-- | program/js/app.js | 2 | ||||
| -rw-r--r-- | program/steps/mail/move_del.inc | 16 | 
3 files changed, 15 insertions, 7 deletions
| diff --git a/program/include/rcmail.php b/program/include/rcmail.php index 87cf99237..81fe7d797 100644 --- a/program/include/rcmail.php +++ b/program/include/rcmail.php @@ -2022,8 +2022,8 @@ class rcmail extends rcube          // message UID (or comma-separated list of IDs) is provided in          // the form of <ID>-<MBOX>[,<ID>-<MBOX>]* -        $_uid  = $uids ?: get_input_value('_uid', RCUBE_INPUT_GPC); -        $_mbox = $mbox ?: (string)get_input_value('_mbox', RCUBE_INPUT_GPC); +        $_uid  = $uids ?: rcube_utils::get_input_value('_uid', RCUBE_INPUT_GPC); +        $_mbox = $mbox ?: (string)rcube_utils::get_input_value('_mbox', RCUBE_INPUT_GPC);          if (is_array($uid)) {              return $uid; diff --git a/program/js/app.js b/program/js/app.js index fca75d57f..e81abceb4 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -708,7 +708,7 @@ function rcube_webmail()        case 'list':          // re-send for the selected folder -        if (props && props != '' && this.env.search_request) { +        if (props && props != '' && this.env.search_request && this.gui_objects.qsearchbox.value) {            var oldmbox = this.env.search_scope == 'all' ? '*' : this.env.mailbox;            this.env.search_mods[props] = this.env.search_mods[oldmbox];  // copy search mods from active search            this.env.mailbox = props; diff --git a/program/steps/mail/move_del.inc b/program/steps/mail/move_del.inc index 7df22590a..ae367b4f7 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-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 @@ if ($RCMAIL->action == 'move' && !empty($_POST['_uid']) && strlen($_POST['_targe      $target = rcube_utils::get_input_value('_target_mbox', rcube_utils::INPUT_POST, true);      $trash  = $RCMAIL->config->get('trash_mbox'); +    $success = true;      foreach (rcmail::get_uids() as $mbox => $uids) { -        $moved += (int)$RCMAIL->storage->move_message($uids, $target, $mbox); -        $count += count($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'); | 
