Browse Source

Merge pull request #3507 from nextcloud/if-backend-implements-get-display-name-dont-force-one

Don't force displayname if backend already provides one
tags/v12.0.0beta1
Lukas Reschke 7 years ago
parent
commit
cdc48d301e
1 changed files with 12 additions and 1 deletions
  1. 12
    1
      lib/private/legacy/user.php

+ 12
- 1
lib/private/legacy/user.php View File

@@ -187,7 +187,18 @@ class OC_User {
if ($uid) {
if (self::getUser() !== $uid) {
self::setUserId($uid);
self::setDisplayName($uid);
$setUidAsDisplayName = true;
if($backend instanceof \OCP\UserInterface
&& $backend->implementsActions(OC_User_Backend::GET_DISPLAYNAME)) {

$backendDisplayName = $backend->getDisplayName($uid);
if(is_string($backendDisplayName) && trim($backendDisplayName) !== '') {
$setUidAsDisplayName = false;
}
}
if($setUidAsDisplayName) {
self::setDisplayName($uid);
}
self::getUserSession()->setLoginName($uid);
$request = OC::$server->getRequest();
self::getUserSession()->createSessionToken($request, $uid, $uid);

Loading…
Cancel
Save