From 04c61804f81a3ed839ef35e7fa70185f713498fd Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Wed, 20 Dec 2006 09:27:47 -0500
Subject: [PATCH] Fixed wrong message listing when showing search results

---
 program/steps/mail/move_del.inc |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/program/steps/mail/move_del.inc b/program/steps/mail/move_del.inc
index a7aa5c7..b0079f7 100644
--- a/program/steps/mail/move_del.inc
+++ b/program/steps/mail/move_del.inc
@@ -59,10 +59,15 @@
   exit;
   }
 
+// refresh saved seach set after moving some messages
+if (($search_request = $_GET['_search']) && $IMAP->search_set)
+  $_SESSION['search'][$search_request] = $IMAP->refresh_search();
+
 
 // update message count display
-$pages = ceil($IMAP->messagecount()/$IMAP->page_size);
-$commands = sprintf("this.set_rowcount('%s');\n", rcmail_get_messagecount_text());
+$msg_count = $IMAP->messagecount();
+$pages = ceil($msg_count / $IMAP->page_size);
+$commands = sprintf("this.set_rowcount('%s');\n", rcmail_get_messagecount_text($msg_count));
 $commands .= sprintf("this.set_env('pagecount', %d);\n", $pages);
 
 
@@ -78,12 +83,16 @@
 // add new rows from next page (if any)
 if ($_GET['_from']!='show' && $pages>1 && $IMAP->list_page < $pages)
   {
-  $a_headers = $IMAP->list_headers($mbox, null, $_SESSION['sort_col'], $_SESSION['sort_order']);
+  $sort_col   = isset($_SESSION['sort_col'])   ? $_SESSION['sort_col']   : $CONFIG['message_sort_col'];
+  $sort_order = isset($_SESSION['sort_order']) ? $_SESSION['sort_order'] : $CONFIG['message_sort_order'];
+  
+  $a_headers = $IMAP->list_headers($mbox, NULL, $sort_col, $sort_order);
   $a_headers = array_slice($a_headers, -$count, $count);
+
   $commands .= rcmail_js_message_list($a_headers);
   }
 
-  
+
 // send response
 rcube_remote_response($commands);
 

--
Gitblit v1.9.1