summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2012-02-05 14:17:19 +0000
committeralecpl <alec@alec.pl>2012-02-05 14:17:19 +0000
commit337dc54132b05fc53a8073481be141918a1034df (patch)
tree81e1b8a4ef605f5a1171b1291a3d6cadf0f5a716
parentf545eaded23e8719152958c538fdf0fac64007a9 (diff)
- Support AD's objectClass=group
-rw-r--r--program/include/rcube_ldap.php6
1 files changed, 4 insertions, 2 deletions
diff --git a/program/include/rcube_ldap.php b/program/include/rcube_ldap.php
index c3893d84c..70ae263ad 100644
--- a/program/include/rcube_ldap.php
+++ b/program/include/rcube_ldap.php
@@ -554,7 +554,7 @@ class rcube_ldap extends rcube_addressbook
$entries = @ldap_get_entries($this->conn, $result);
}
- for ($i=0; $i < $entries["count"]; $i++)
+ for ($i=0; $i < $entries['count']; $i++)
{
$entry = $entries[$i];
@@ -564,6 +564,7 @@ class rcube_ldap extends rcube_addressbook
foreach ((array)$entry['objectclass'] as $objectclass)
{
switch (strtolower($objectclass)) {
+ case "group":
case "groupofnames":
case "kolabgroupofnames":
$group_members = array_merge($group_members, $this->_list_group_members($dn, $entry, 'member', $count));
@@ -577,7 +578,7 @@ class rcube_ldap extends rcube_addressbook
break;
}
}
-
+
if ($this->prop['sizelimit'] && count($group_members) > $this->prop['sizelimit'])
break;
}
@@ -1538,6 +1539,7 @@ class rcube_ldap extends rcube_addressbook
// check objectClass attributes of group and act accordingly
for ($j=0; $j < $ldap_data[$i]['objectclass']['count']; $j++) {
switch (strtolower($ldap_data[$i]['objectclass'][$j])) {
+ case 'group':
case 'groupofnames':
case 'kolabgroupofnames':
$groups[$group_id]['member_attr'] = 'member';