Merge pull request #32050 from nextcloud/share-cache-owner-name

This commit is contained in:
John Molakvoæ 2022-04-22 08:13:38 +02:00 committed by GitHub
commit 54532b2df3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -38,6 +38,7 @@ use OCP\Files\Search\ISearchBinaryOperator;
use OCP\Files\Search\ISearchComparison;
use OCP\Files\Search\ISearchOperator;
use OCP\Files\StorageNotAvailableException;
use OCP\ICacheFactory;
use OCP\IUserManager;
/**
@ -172,12 +173,21 @@ class Cache extends CacheJail {
private function getOwnerDisplayName() {
if (!$this->ownerDisplayName) {
/** @var ICacheFactory $cacheFactory */
$cacheFactory = \OC::$server->get(ICacheFactory::class);
$memcache = $cacheFactory->createLocal('share_owner_name');
$uid = $this->storage->getOwner('');
$user = $this->userManager->get($uid);
if ($user) {
$this->ownerDisplayName = $user->getDisplayName();
$cached = $memcache->get($uid);
if ($cached) {
$this->ownerDisplayName = $cached;
} else {
$this->ownerDisplayName = $uid;
$user = $this->userManager->get($uid);
if ($user) {
$this->ownerDisplayName = $user->getDisplayName();
} else {
$this->ownerDisplayName = $uid;
}
$memcache->set($uid, $this->ownerDisplayName, 60 * 60);
}
}
return $this->ownerDisplayName;