3
$Id: baseType.inc 4640 2012-11-11 11:33:11Z gruberroland $
3
$Id: baseType.inc 4876 2013-04-24 18:28:23Z gruberroland $
5
5
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
6
6
Copyright (C) 2005 - 2012 Roland Gruber
137
137
public function getSuffixList() {
138
138
$suffix = $_SESSION["config"]->get_Suffix(get_class($this));
140
$sr = @ldap_search($_SESSION["ldap"]->server(), escapeDN($suffix), "(|(objectClass=organizationalunit)(objectClass=country)(objectClass=organization)(objectClass=krbRealmContainer))", array("DN"), 0, 0, 0, LDAP_DEREF_NEVER);
140
$filter = "(|(objectClass=organizationalunit)(objectClass=country)(objectClass=organization)(objectClass=krbRealmContainer)(objectClass=container))";
141
$sr = @ldap_search($_SESSION["ldap"]->server(), escapeDN($suffix),$filter , array('dn', 'objectClass'), 0, 0, 0, LDAP_DEREF_NEVER);
142
143
$units = ldap_get_entries($_SESSION["ldap"]->server(), $sr);
143
144
cleanLDAPResult($units);
145
for ($i = 0; $i < sizeof($units); $i++) {
146
if ($units[$i]['dn']) $ret[] = $units[$i]['dn'];
146
$count = sizeof($units);
147
for ($i = 0; $i < $count; $i++) {
148
if (in_array('container', $units[$i]['objectclass'])) {
149
// Active Directory fix, hide system containers
150
if (preg_match('/.*cn=system,dc=.+/i', $units[$i]['dn']) || preg_match('/.*CN=program data,dc=.+/i', $units[$i]['dn'])) {
154
$ret[] = $units[$i]['dn'];
149
157
// add root suffix if needed