summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-07-17 19:00:30 +0000
committerthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-07-17 19:00:30 +0000
commiteaaf07ebdfb56e9212b7b2f1896411f74d98327c (patch)
treef21a7539176ce694915150316e6be162adf70c4c
parent5d4b91348662eba5a2b38eed2a39db0dd0664c92 (diff)
Filter LDAP groups by search query
git-svn-id: https://svn.roundcube.net/trunk@4931 208e9e7b-5314-0410-a742-e7e81cd9613c
-rw-r--r--roundcubemail/program/include/rcube_ldap.php13
1 files changed, 8 insertions, 5 deletions
diff --git a/roundcubemail/program/include/rcube_ldap.php b/roundcubemail/program/include/rcube_ldap.php
index 2fb25ab44..41d722e5b 100644
--- a/roundcubemail/program/include/rcube_ldap.php
+++ b/roundcubemail/program/include/rcube_ldap.php
@@ -1101,11 +1101,14 @@ class rcube_ldap extends rcube_addressbook
for ($i=0; $i<$ldap_data["count"]; $i++)
{
$group_name = $ldap_data[$i]['cn'][0];
- $group_id = base64_encode($group_name);
- $groups[$group_id]['ID'] = $group_id;
- $groups[$group_id]['name'] = $group_name;
- $groups[$group_id]['members'] = $ldap_data[$i]['member'];
- $group_sortnames[] = strtolower($group_name);
+ if (!$search || strstr(strtolower($group_name), strtolower($search)))
+ {
+ $group_id = base64_encode($group_name);
+ $groups[$group_id]['ID'] = $group_id;
+ $groups[$group_id]['name'] = $group_name;
+ $groups[$group_id]['members'] = $ldap_data[$i]['member'];
+ $group_sortnames[] = strtolower($group_name);
+ }
}
array_multisort($group_sortnames, SORT_ASC, SORT_STRING, $groups);
$this->group_cache = $groups;