@@ -976,7 +976,11 @@ private function fetchList($list, $manyAttributes) {
976976 * Executes an LDAP search
977977 */
978978 public function searchUsers ($ filter , $ attr = null , $ limit = null , $ offset = null ) {
979- return $ this ->search ($ filter , $ this ->connection ->ldapBaseUsers , $ attr , $ limit , $ offset );
979+ $ result = [];
980+ foreach ($ this ->connection ->ldapBaseUsers as $ base ) {
981+ $ result = array_merge ($ result , $ this ->search ($ filter , [$ base ], $ attr , $ limit , $ offset ));
982+ }
983+ return $ result ;
980984 }
981985
982986 /**
@@ -987,7 +991,12 @@ public function searchUsers($filter, $attr = null, $limit = null, $offset = null
987991 * @return false|int
988992 */
989993 public function countUsers ($ filter , $ attr = array ('dn ' ), $ limit = null , $ offset = null ) {
990- return $ this ->count ($ filter , $ this ->connection ->ldapBaseUsers , $ attr , $ limit , $ offset );
994+ $ result = false ;
995+ foreach ($ this ->connection ->ldapBaseUsers as $ base ) {
996+ $ count = $ this ->count ($ filter , [$ base ], $ attr , $ limit , $ offset );
997+ $ result = is_int ($ count ) ? (int )$ result + $ count : $ result ;
998+ }
999+ return $ result ;
9911000 }
9921001
9931002 /**
@@ -1001,7 +1010,11 @@ public function countUsers($filter, $attr = array('dn'), $limit = null, $offset
10011010 * Executes an LDAP search
10021011 */
10031012 public function searchGroups ($ filter , $ attr = null , $ limit = null , $ offset = null ) {
1004- return $ this ->search ($ filter , $ this ->connection ->ldapBaseGroups , $ attr , $ limit , $ offset );
1013+ $ result = [];
1014+ foreach ($ this ->connection ->ldapBaseGroups as $ base ) {
1015+ $ result = array_merge ($ result , $ this ->search ($ filter , [$ base ], $ attr , $ limit , $ offset ));
1016+ }
1017+ return $ result ;
10051018 }
10061019
10071020 /**
@@ -1013,7 +1026,12 @@ public function searchGroups($filter, $attr = null, $limit = null, $offset = nul
10131026 * @return int|bool
10141027 */
10151028 public function countGroups ($ filter , $ attr = array ('dn ' ), $ limit = null , $ offset = null ) {
1016- return $ this ->count ($ filter , $ this ->connection ->ldapBaseGroups , $ attr , $ limit , $ offset );
1029+ $ result = false ;
1030+ foreach ($ this ->connection ->ldapBaseGroups as $ base ) {
1031+ $ count = $ this ->count ($ filter , [$ base ], $ attr , $ limit , $ offset );
1032+ $ result = is_int ($ count ) ? (int )$ result + $ count : $ result ;
1033+ }
1034+ return $ result ;
10171035 }
10181036
10191037 /**
@@ -1024,7 +1042,12 @@ public function countGroups($filter, $attr = array('dn'), $limit = null, $offset
10241042 * @return int|bool
10251043 */
10261044 public function countObjects ($ limit = null , $ offset = null ) {
1027- return $ this ->count ('objectclass=* ' , $ this ->connection ->ldapBase , array ('dn ' ), $ limit , $ offset );
1045+ $ result = false ;
1046+ foreach ($ this ->connection ->ldapBase as $ base ) {
1047+ $ count = $ this ->count ('objectclass=* ' , [$ base ], ['dn ' ], $ limit , $ offset );
1048+ $ result = is_int ($ count ) ? (int )$ result + $ count : $ result ;
1049+ }
1050+ return $ result ;
10281051 }
10291052
10301053 /**
0 commit comments