aboutsummaryrefslogtreecommitdiffstats
path: root/apps/user_ldap/lib/access.php
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@owncloud.com>2015-10-08 20:32:15 +0200
committerArthur Schiwon <blizzz@owncloud.com>2015-10-08 20:32:15 +0200
commitdd2e887a8d9be9cb95a52582612bf95e2f8eb247 (patch)
tree778efd5200a7e8989d92afd6d7792daf86515379 /apps/user_ldap/lib/access.php
parent4a5cecd6fa64b33a63c39d289565837e6d8ac340 (diff)
downloadnextcloud-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.php23
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])