From f7e9533d1eee8fadf5250be5bd2a0b3c672f3f6d Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Mon, 8 Oct 2018 14:35:35 +0200 Subject: [PATCH] Allow the creationg of previews of files stored in appdata To allow us to create previews of files stored in appdata we need to construct the view differently. Signed-off-by: Roeland Jago Douma --- lib/private/Preview/GeneratorHelper.php | 19 ++++++++----------- lib/private/PreviewManager.php | 3 ++- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/lib/private/Preview/GeneratorHelper.php b/lib/private/Preview/GeneratorHelper.php index 587f8174b0280..2f1a1f8aeff02 100644 --- a/lib/private/Preview/GeneratorHelper.php +++ b/lib/private/Preview/GeneratorHelper.php @@ -26,6 +26,7 @@ use OCP\Files\File; use OCP\Files\IRootFolder; use OCP\Files\SimpleFS\ISimpleFile; +use OCP\IConfig; use OCP\IImage; use OCP\Image as OCPImage; use OCP\Preview\IProvider; @@ -38,8 +39,12 @@ class GeneratorHelper { /** @var IRootFolder */ private $rootFolder; - public function __construct(IRootFolder $rootFolder) { + /** @var IConfig */ + private $config; + + public function __construct(IRootFolder $rootFolder, IConfig $config) { $this->rootFolder = $rootFolder; + $this->config = $config; } /** @@ -60,16 +65,8 @@ public function getThumbnail(IProvider $provider, File $file, $maxWidth, $maxHei * This is required to create the old view and path */ private function getViewAndPath(File $file) { - $absPath = ltrim($file->getPath(), '/'); - $owner = explode('/', $absPath)[0]; - - $userFolder = $this->rootFolder->getUserFolder($owner)->getParent(); - - $nodes = $userFolder->getById($file->getId()); - $file = $nodes[0]; - - $view = new View($userFolder->getPath()); - $path = $userFolder->getRelativePath($file->getPath()); + $view = new View($file->getParent()->getPath()); + $path = $file->getName(); return [$view, $path]; } diff --git a/lib/private/PreviewManager.php b/lib/private/PreviewManager.php index de03861badc69..931b0035c4f87 100644 --- a/lib/private/PreviewManager.php +++ b/lib/private/PreviewManager.php @@ -195,7 +195,8 @@ public function getPreview(File $file, $width = -1, $height = -1, $crop = false, $this, $this->appData, new GeneratorHelper( - $this->rootFolder + $this->rootFolder, + $this->config ), $this->eventDispatcher );