~ubuntu-branches/ubuntu/trusty/ldap-account-manager/trusty-proposed

« back to all changes in this revision

Viewing changes to lib/baseType.inc

  • Committer: Package Import Robot
  • Author(s): Roland Gruber
  • Date: 2013-07-21 11:15:58 UTC
  • mfrom: (1.2.21)
  • Revision ID: package-import@ubuntu.com-20130721111558-ex49xgcpo71fh0xg
Tags: 4.2.1-2
* Apache 2.4 support
* Fix "transition towards Apache 2.4" 
  support conf-enabled (Closes: #669824)
* Fix "[ldap-account-manager] Can't install ldap-account-manager"
  support conf-enabled (Closes: #711778)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<?php
2
2
/*
3
 
$Id: baseType.inc 4640 2012-11-11 11:33:11Z gruberroland $
 
3
$Id: baseType.inc 4876 2013-04-24 18:28:23Z gruberroland $
4
4
 
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));
139
139
                $ret = array();
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);
141
142
                if ($sr) {
142
143
                        $units = ldap_get_entries($_SESSION["ldap"]->server(), $sr);
143
144
                        cleanLDAPResult($units);
144
145
                        // extract Dns
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'])) {
 
151
                                                continue;
 
152
                                        }
 
153
                                }
 
154
                                $ret[] = $units[$i]['dn'];
147
155
                        }
148
156
                }
149
157
                // add root suffix if needed