From f0c94a3dc308d22f3e79fd4df3f1b2016c14e1c0 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Tue, 08 Apr 2014 04:04:53 -0400
Subject: [PATCH] Don't display error when moving a message to the same folder it already resides
---
program/include/rcmail.php | 4 ++--
program/js/app.js | 2 +-
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 87cf992..81fe7d7 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -2022,8 +2022,8 @@
// 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 fca75d5..e81abce 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -708,7 +708,7 @@
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 7df2259..ae367b4 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 @@
$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');
--
Gitblit v1.9.1