From 442f37c3139c21a7fc2d0bc81f9ac52ba157e986 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Wed, 30 Oct 2013 06:02:34 -0400
Subject: [PATCH] Fix list update after archive action on search result
---
plugins/archive/archive.php | 6 ++++++
plugins/archive/archive.js | 2 +-
2 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/plugins/archive/archive.js b/plugins/archive/archive.js
index 5097b53..17a1ecd 100644
--- a/plugins/archive/archive.js
+++ b/plugins/archive/archive.js
@@ -53,7 +53,7 @@
// callback for server response
rcmail.addEventListener('plugin.move2archive_response', function(result) {
if (result.update)
- rcmail.command('checkmail'); // refresh list
+ rcmail.command('list'); // refresh list
});
})
}
diff --git a/plugins/archive/archive.php b/plugins/archive/archive.php
index ca32e73..4a00d5f5 100644
--- a/plugins/archive/archive.php
+++ b/plugins/archive/archive.php
@@ -123,6 +123,7 @@
$result = array('reload' => false, 'update' => false, 'errors' => array());
$folders = array();
$uids = rcube_utils::get_input_value('_uid', RCUBE_INPUT_POST);
+ $search_request = get_input_value('_search', RCUBE_INPUT_GPC);
if ($uids == '*') {
$index = $storage->index(null, rcmail_sort_column(), rcmail_sort_order());
@@ -216,6 +217,11 @@
$rcmail->output->show_message($this->gettext('archived'), 'confirmation');
}
+ // refresh saved search set after moving some messages
+ if ($search_request && $rcmail->storage->get_search_set()) {
+ $_SESSION['search'] = $rcmail->storage->refresh_search();
+ }
+
if ($_POST['_from'] == 'show' && !empty($result['update'])) {
if ($next = get_input_value('_next_uid', RCUBE_INPUT_GPC)) {
$rcmail->output->command('show_message', $next);
--
Gitblit v1.9.1