| | |
| | | /** |
| | | * Object constructor |
| | | * |
| | | * @param array LDAP connection properties |
| | | * @param array LDAP connection properties |
| | | * @param boolean Enables debug mode |
| | | * @param string Current user mail domain name |
| | | * @param integer User-ID |
| | |
| | | foreach ($p['fieldmap'] as $rf => $lf) |
| | | $this->fieldmap[$rf] = $this->_attr_name(strtolower($lf)); |
| | | } |
| | | else { |
| | | else if (!empty($p)) { |
| | | // read deprecated *_field properties to remain backwards compatible |
| | | foreach ($p as $prop => $value) |
| | | if (preg_match('/^(.+)_field$/', $prop, $matches)) |
| | |
| | | $entries = @ldap_get_entries($this->conn, $result); |
| | | } |
| | | |
| | | for ($i=0; $i < $entries["count"]; $i++) |
| | | for ($i=0; $i < $entries['count']; $i++) |
| | | { |
| | | $entry = $entries[$i]; |
| | | |
| | |
| | | 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)); |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | |
| | | if ($this->prop['sizelimit'] && count($group_members) > $this->prop['sizelimit']) |
| | | break; |
| | | } |
| | |
| | | |
| | | for ($i=0; $i < $entry[$attr]['count']; $i++) |
| | | { |
| | | if (empty($entry[$attr][$i])) |
| | | continue; |
| | | |
| | | $result = @ldap_read($this->conn, $entry[$attr][$i], '(objectclass=*)', |
| | | $attrib, 0, (int)$this->prop['sizelimit'], (int)$this->prop['timelimit']); |
| | | |
| | |
| | | // 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'; |