diff options
author | Arthur Schiwon <blizzz@owncloud.com> | 2015-10-08 20:32:15 +0200 |
---|---|---|
committer | Arthur Schiwon <blizzz@owncloud.com> | 2015-10-08 20:32:15 +0200 |
commit | dd2e887a8d9be9cb95a52582612bf95e2f8eb247 (patch) | |
tree | 778efd5200a7e8989d92afd6d7792daf86515379 /apps/user_ldap/lib/access.php | |
parent | 4a5cecd6fa64b33a63c39d289565837e6d8ac340 (diff) | |
download | nextcloud-server-dd2e887a8d9be9cb95a52582612bf95e2f8eb247.tar.gz nextcloud-server-dd2e887a8d9be9cb95a52582612bf95e2f8eb247.zip |
adjust handling changed return array structure from search() and fetchList()
Diffstat (limited to 'apps/user_ldap/lib/access.php')
-rw-r--r-- | apps/user_ldap/lib/access.php | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/apps/user_ldap/lib/access.php b/apps/user_ldap/lib/access.php index c7ec06f356a..1809700b1be 100644 --- a/apps/user_ldap/lib/access.php +++ b/apps/user_ldap/lib/access.php @@ -489,7 +489,7 @@ class Access extends LDAPUtility implements user\IUserTools { /** * gives back the user names as they are used ownClod internally - * @param array $ldapUsers an array with the ldap Users result in style of array ( array ('dn' => foo, 'uid' => bar), ... ) + * @param array $ldapUsers as returned by fetchList() * @return array an array with the user names to use in ownCloud * * gives back the user names as they are used ownClod internally @@ -500,7 +500,7 @@ class Access extends LDAPUtility implements user\IUserTools { /** * gives back the group names as they are used ownClod internally - * @param array $ldapGroups an array with the ldap Groups result in style of array ( array ('dn' => foo, 'cn' => bar), ... ) + * @param array $ldapGroups as returned by fetchList() * @return array an array with the group names to use in ownCloud * * gives back the group names as they are used ownClod internally @@ -510,7 +510,7 @@ class Access extends LDAPUtility implements user\IUserTools { } /** - * @param array $ldapObjects + * @param array $ldapObjects as returned by fetchList() * @param bool $isUsers * @return array */ @@ -523,7 +523,15 @@ class Access extends LDAPUtility implements user\IUserTools { $ownCloudNames = array(); foreach($ldapObjects as $ldapObject) { - $nameByLDAP = isset($ldapObject[$nameAttribute]) ? $ldapObject[$nameAttribute] : null; + $nameByLDAP = null; + if( isset($ldapObject[$nameAttribute]) + && is_array($ldapObject[$nameAttribute]) + && isset($ldapObject[$nameAttribute][0]) + ) { + // might be set, but not necessarily. if so, we use it. + $nameByLDAP = $ldapObject[$nameAttribute][0]; + } + $ocName = $this->dn2ocname($ldapObject['dn'], $nameByLDAP, $isUsers); if($ocName) { $ownCloudNames[] = $ocName; @@ -531,7 +539,9 @@ class Access extends LDAPUtility implements user\IUserTools { //cache the user names so it does not need to be retrieved //again later (e.g. sharing dialogue). $this->cacheUserExists($ocName); - $this->cacheUserDisplayName($ocName, $nameByLDAP); + if(!is_null($nameByLDAP)) { + $this->cacheUserDisplayName($ocName, $nameByLDAP); + } } } continue; @@ -994,6 +1004,9 @@ class Access extends LDAPUtility implements user\IUserTools { foreach($attr as $key) { $key = mb_strtolower($key, 'UTF-8'); if(isset($item[$key])) { + if(is_array($item[$key]) && isset($item[$key]['count'])) { + unset($item[$key]['count']); + } if($key !== 'dn') { $selection[$i][$key] = $this->resemblesDN($key) ? $this->sanitizeDN($item[$key]) |