Skip to content
Snippets Groups Projects
Commit f33b7267 authored by Arthur Schiwon's avatar Arthur Schiwon
Browse files

LDAP: implement support for ownCloud Display Names

parent 59bb9931
No related branches found
No related tags found
No related merge requests found
......@@ -208,6 +208,50 @@ class USER_LDAP extends lib\Access implements \OCP\UserInterface {
return false;
}
/**
* @brief get display name of the user
* @param $uid user ID of the user
* @return display name
*/
public function getDisplayName($uid) {
$cacheKey = 'getDisplayName'.$uid;
if(!is_null($displayName = $this->connection->getFromCache($cacheKey))) {
return $displayName;
}
$displayName = $this->readAttribute(
$this->username2dn($uid),
$this->connection->ldapUserDisplayName);
if($displayName && (count($displayName) > 0)) {
$this->connection->writeToCache($cacheKey, $displayName);
return $displayName[0];
}
return null;
}
/**
* @brief Get a list of all display names
* @returns array with all displayNames (value) and the correspondig uids (key)
*
* Get a list of all display names and user ids.
*/
public function getDisplayNames($search = '', $limit = null, $offset = null) {
$cacheKey = 'getDisplayNames-'.$search.'-'.$limit.'-'.$offset;
if(!is_null($displayNames = $this->connection->getFromCache($cacheKey))) {
return $displayNames;
}
$displayNames = array();
$users = $this->getUsers($search, $limit, $offset);
foreach ($users as $user) {
$displayNames[$user] = $this->getDisplayName($user);
}
$this->connection->writeToCache($cacheKey, $displayNames);
return $displayNames;
}
/**
* @brief Check if backend implements actions
* @param $actions bitwise-or'ed actions
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment