aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files
diff options
context:
space:
mode:
authorRoeland Jago Douma <roeland@famdouma.nl>2020-09-11 10:27:02 +0200
committerRoeland Jago Douma <roeland@famdouma.nl>2020-09-11 10:27:02 +0200
commit5724d4c6fede4fc1cfa5b2dca9b40822267e963a (patch)
treed8fd85279f780a66c624e3338cf32700a58b4f10 /apps/files
parent8ab2d5a8d95288ce6909fc7fb14b419ab15b5a86 (diff)
downloadnextcloud-server-5724d4c6fede4fc1cfa5b2dca9b40822267e963a.tar.gz
nextcloud-server-5724d4c6fede4fc1cfa5b2dca9b40822267e963a.zip
Fix files search provider
The move to OCS make it so no filesystem is setup. This makes the static file search code do boom. Explicitly getting the users filesystem helps. Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'apps/files')
-rw-r--r--apps/files/lib/Search/FilesSearchProvider.php12
1 files changed, 11 insertions, 1 deletions
diff --git a/apps/files/lib/Search/FilesSearchProvider.php b/apps/files/lib/Search/FilesSearchProvider.php
index 79ea4aa89f7..d36153706bf 100644
--- a/apps/files/lib/Search/FilesSearchProvider.php
+++ b/apps/files/lib/Search/FilesSearchProvider.php
@@ -31,6 +31,7 @@ namespace OCA\Files\Search;
use OC\Search\Provider\File;
use OC\Search\Result\File as FileResult;
use OCP\Files\IMimeTypeDetector;
+use OCP\Files\IRootFolder;
use OCP\IL10N;
use OCP\IURLGenerator;
use OCP\IUser;
@@ -53,14 +54,19 @@ class FilesSearchProvider implements IProvider {
/** @var IMimeTypeDetector */
private $mimeTypeDetector;
+ /** @var IRootFolder */
+ private $rootFolder;
+
public function __construct(File $fileSearch,
IL10N $l10n,
IURLGenerator $urlGenerator,
- IMimeTypeDetector $mimeTypeDetector) {
+ IMimeTypeDetector $mimeTypeDetector,
+ IRootFolder $rootFolder) {
$this->l10n = $l10n;
$this->fileSearch = $fileSearch;
$this->urlGenerator = $urlGenerator;
$this->mimeTypeDetector = $mimeTypeDetector;
+ $this->rootFolder = $rootFolder;
}
/**
@@ -92,6 +98,10 @@ class FilesSearchProvider implements IProvider {
* @inheritDoc
*/
public function search(IUser $user, ISearchQuery $query): SearchResult {
+
+ // Make sure we setup the users filesystem
+ $this->rootFolder->getUserFolder($user->getUID());
+
return SearchResult::complete(
$this->l10n->t('Files'),
array_map(function (FileResult $result) {