From dbd7f6dea61982f34d3005ac2ad63f0cd3ff9be8 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Fri, 18 Nov 2016 11:21:45 +0100 Subject: [PATCH] cache the displayname of the share owner Signed-off-by: Robin Appelman --- apps/files_sharing/lib/Cache.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/files_sharing/lib/Cache.php b/apps/files_sharing/lib/Cache.php index 21f3ff622f..038be1c3fe 100644 --- a/apps/files_sharing/lib/Cache.php +++ b/apps/files_sharing/lib/Cache.php @@ -59,6 +59,8 @@ class Cache extends CacheJail { private $rootUnchanged = true; + private $ownerDisplayName; + /** * @param \OCA\Files_Sharing\SharedStorage $storage * @param IStorage $sourceStorage @@ -120,13 +122,20 @@ class Cache extends CacheJail { $entry['permissions'] = $sharePermissions; } $entry['uid_owner'] = $this->storage->getOwner($path); - $entry['displayname_owner'] = \OC_User::getDisplayName($entry['uid_owner']); + $entry['displayname_owner'] = $this->getOwnerDisplayName(); if ($path === '') { $entry['is_share_mount_point'] = true; } return $entry; } + private function getOwnerDisplayName() { + if (!$this->ownerDisplayName) { + $this->ownerDisplayName = \OC_User::getDisplayName($this->storage->getOwner('')); + } + return $this->ownerDisplayName; + } + /** * remove all entries for files that are stored on the storage from the cache */