Branch 'roundcubemail-plugins-kolab-3.1' - plugins/kolab_addressbook

Aleksander Machniak machniak at kolabsys.com
Fri Dec 5 12:50:44 CET 2014


 plugins/kolab_addressbook/lib/rcube_kolab_contacts.php |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

New commits:
commit 3f84c5f47c4cc90376b150fdb52fb5cecb98ba65
Author: root <root at localhost.localdomain>
Date:   Fri Dec 5 12:50:08 2014 +0100

    Fix duplicate contacts on the list after contact delete (#4027)

diff --git a/plugins/kolab_addressbook/lib/rcube_kolab_contacts.php b/plugins/kolab_addressbook/lib/rcube_kolab_contacts.php
index dca4d35..72929d2 100644
--- a/plugins/kolab_addressbook/lib/rcube_kolab_contacts.php
+++ b/plugins/kolab_addressbook/lib/rcube_kolab_contacts.php
@@ -337,10 +337,14 @@ class rcube_kolab_contacts extends rcube_addressbook
                 }
             }
         }
-        else if (isset($this->dataset)) {
-            $this->result->count = isset($query) ? $this->storagefolder->count($query) : 0;
-            foreach ($this->dataset as $idx => $record) {
-                $this->result->add($this->_to_rcube_contact($record));
+        else if (!empty($this->dataset)) {
+            $this->result->count = isset($query) ? $this->storagefolder->count($query) : count($this->dataset);
+
+            $start_row = $subset < 0 ? $this->page_size + $subset : 0;
+            $last_row  = min($subset != 0 ? $start_row + abs($subset) : $this->page_size, $this->result->count);
+
+            for ($i = $start_row; $i < $last_row; $i++) {
+                $this->result->add($this->_to_rcube_contact($this->dataset[$i]));
             }
         }
 




More information about the commits mailing list