]> git.nbdom.net Git - nb.git/commitdiff
lib/php/ldap.php
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Thu, 25 Jan 2018 05:29:22 +0000 (05:29 +0000)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Thu, 25 Jan 2018 05:29:22 +0000 (05:29 +0000)
lib/php/ldap.php

index 7c0ca1ba3d5924f518815edcac705d22af9625a6..919979700e91d287e27d30150a3b03826001a597 100644 (file)
@@ -158,11 +158,14 @@ class Ldap {
 
                $conn = $this->conn();
 
+               if (!isset($o['dn'])) $o['dn'] = true;
+               if (!isset($o['base'])) $o['base'] = null;
+# NB 25.01.18          if (!isset($o['filter'])) $o['filter'] = null;
+               if (!isset($o['filter'])) $o = array_merge($o,[ 'filter' => 'objectClass=*', 'attrs' => ['dn','objectClass'], 'dn' => true ]);
                if (!isset($o['attrs'])) $o['attrs'] = [];
+               if (!is_array($o['attrs'])) $o['attrs'] = [$o['attrs']];
                if (!isset($o['limit'])) $o['limit'] = 0;
-               if (!isset($o['base'])) $o['base'] = null;
-               if (!isset($o['filter'])) $o['filter'] = null;
-               $read = ldap_search($conn, $o['base'], $o['filter'], $o['attrs'], $o['limit']) or self::bye("Unable to search ldap server");
+               $read = ldap_search($conn, $o['base'], $o['filter'], $o['attrs'], 0, $o['limit']) or self::bye("Unable to search ldap server");
 
                # ldap_get_entries is shite !! It does not workds with binary datas, put all attrs in lower case 
                $info = [];
@@ -204,6 +207,14 @@ class Ldap {
 
        public function delete($dn) {
                return ldap_delete($this->conn(), $dn);
+               /*
+               foreach ($ldap->search([
+                       'base' => $this->user,
+                       'filter' => 'ObjectClass=*',
+               ]) as $row) {
+                       #$this->delete($dn);
+               }
+                */
        }
 
 }