From a3644638aaf0418598196a870204e0b632a4c8ad Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Fri, 17 Apr 2015 06:28:40 -0400
Subject: [PATCH] Allow preference sections to define CSS class names

---
 program/steps/addressbook/move.inc |   24 +++++++++++++++---------
 1 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/program/steps/addressbook/move.inc b/program/steps/addressbook/move.inc
index 7a730af..e832765 100644
--- a/program/steps/addressbook/move.inc
+++ b/program/steps/addressbook/move.inc
@@ -142,10 +142,6 @@
 }
 
 if (!$deleted || $deleted != $all) {
-    // update saved search after data changed
-    if ($deleted) {
-        rcmail_search_update();
-    }
     $OUTPUT->command('list_contacts');
 }
 else {
@@ -157,8 +153,13 @@
         $result = new rcube_result_set($count, $first);
         $pages  = ceil((count($records) + $delcnt) / $PAGE_SIZE);
 
+        // last page and it's empty, display previous one
+        if ($result->count && $result->count <= ($PAGE_SIZE * ($page - 1))) {
+            $OUTPUT->command('list_page', 'prev');
+            $rowcount = $RCMAIL->gettext('loading');
+        }
         // get records from the next page to add to the list
-        if ($_GET['_from'] != 'show' && $pages > 1 && $page < $pages) {
+        else if ($pages > 1 && $page < $pages) {
             // sort the records
             ksort($records, SORT_LOCALE_STRING);
 
@@ -180,10 +181,15 @@
     else {
         // count contacts for this user
         $result = $CONTACTS->count();
-        // get records from the next page to add to the list
-        $pages = ceil(($result->count + $deleted) / $PAGE_SIZE);
+        $pages  = ceil(($result->count + $deleted) / $PAGE_SIZE);
 
-        if ($_GET['_from'] != 'show' && $pages > 1 && $page < $pages) {
+        // last page and it's empty, display previous one
+        if ($result->count && $result->count <= ($PAGE_SIZE * ($page - 1))) {
+            $OUTPUT->command('list_page', 'prev');
+            $rowcount = $RCMAIL->gettext('loading');
+        }
+        // get records from the next page to add to the list
+        else if ($pages > 1 && $page < $pages) {
             $CONTACTS->set_page($page);
             $records = $CONTACTS->list_records(null, -$deleted);
         }
@@ -191,7 +197,7 @@
 
     // update message count display
     $OUTPUT->set_env('pagecount', ceil($result->count / $PAGE_SIZE));
-    $OUTPUT->command('set_rowcount', rcmail_get_rowcount_text($result));
+    $OUTPUT->command('set_rowcount', $rowcount ? $rowcount : rcmail_get_rowcount_text($result));
 
     // add new rows from next page (if any)
     if (!empty($records)) {

--
Gitblit v1.9.1