From b717681e3ae5be70b1b897716201ddc2e631b172 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Mon, 13 Apr 2015 11:29:10 +0200 Subject: [PATCH] cach user folder for file search results --- lib/private/search/result/file.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/private/search/result/file.php b/lib/private/search/result/file.php index be9c34b6e4..50b74e1ced 100644 --- a/lib/private/search/result/file.php +++ b/lib/private/search/result/file.php @@ -25,6 +25,7 @@ namespace OC\Search\Result; use OC\Files\Filesystem; use OCP\Files\FileInfo; +use OCP\Files\Folder; /** * A found file @@ -91,6 +92,11 @@ class File extends \OCP\Search\Result { $this->mime = $data->getMimetype(); } + /** + * @var Folder $userFolderCache + */ + static protected $userFolderCache = null; + /** * converts a path relative to the users files folder * eg /user/files/foo.txt -> /foo.txt @@ -98,8 +104,11 @@ class File extends \OCP\Search\Result { * @return string relative path */ protected function getRelativePath ($path) { - $root = \OC::$server->getUserFolder(); - return $root->getRelativePath($path); + if (!isset(self::$userFolderCache)) { + $user = \OC::$server->getUserSession()->getUser()->getUID(); + self::$userFolderCache = \OC::$server->getUserFolder($user); + } + return self::$userFolderCache->getRelativePath($path); } }