diff options
author | Thomas Bruederli <thomas@roundcube.net> | 2014-04-08 10:04:53 +0200 |
---|---|---|
committer | Thomas Bruederli <thomas@roundcube.net> | 2014-04-08 10:04:53 +0200 |
commit | f0c94a3dc308d22f3e79fd4df3f1b2016c14e1c0 (patch) | |
tree | fea1456415f76d53ba65180907c0859f60c75ec8 | |
parent | 0f48e6e660cb5aa0d7bfdf11967b648c78cb64f9 (diff) |
Don't display error when moving a message to the same folder it already resides
-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'); |