Browse Source

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

tags/v25.0.0beta1
John Molakvoæ 2 years ago
parent
commit
54532b2df3
No account linked to committer's email address
1 changed files with 14 additions and 4 deletions
  1. 14
    4
      apps/files_sharing/lib/Cache.php

+ 14
- 4
apps/files_sharing/lib/Cache.php 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;

Loading…
Cancel
Save