Fix regression where LDAP results could be counted incorrectly when using VLV

... broken by d08bd0a51f where we added searching in users+groups in one request
pull/6833/head
Aleksander Machniak 8 years ago
parent a647f994d8
commit 3f10f9a2e6

@ -573,7 +573,8 @@ class rcube_ldap extends rcube_addressbook
// filter entries for this page
for ($i = $start_row; $i < min($entries['count'], $last_row); $i++)
$this->result->add($this->_ldap2result($entries[$i]));
if ($entries[$i])
$this->result->add($this->_ldap2result($entries[$i]));
return $this->result;
}
@ -922,7 +923,8 @@ class rcube_ldap extends rcube_addressbook
// we have a search result resource, get all entries
if (!$count && $result) {
$result = $result->entries();
$result_count = $result->count();
$result = $result->entries();
unset($result['count']);
}
@ -947,10 +949,11 @@ class rcube_ldap extends rcube_addressbook
if ($count && $res) {
$result += $res;
}
else if (!$count && $res && $res->count()) {
else if (!$count && $res && ($res_count = $res->count())) {
$res = $res->entries();
unset($res['count']);
$result = array_merge($result, $res);
$result_count += $res_count;
}
}
@ -960,7 +963,7 @@ class rcube_ldap extends rcube_addressbook
usort($result, array($this, '_entry_sort_cmp'));
}
$result['count'] = count($result);
$result['count'] = $result_count;
$this->result_entries = $result;
}

Loading…
Cancel
Save