From 32b4e4214ffbbe285e5a575543e74a42dc92c0f5 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Mon, 8 Oct 2018 14:35:35 +0200 Subject: 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(-) (limited to 'lib') diff --git a/lib/private/Preview/GeneratorHelper.php b/lib/private/Preview/GeneratorHelper.php index 6535fde058b..83042caacfb 100644 --- a/lib/private/Preview/GeneratorHelper.php +++ b/lib/private/Preview/GeneratorHelper.php @@ -26,6 +26,7 @@ use OC\Files\View; use OCP\Files\File; use OCP\Files\IRootFolder; use OCP\Files\SimpleFS\ISimpleFile; +use OCP\IConfig; use OCP\IImage; use OCP\Image as img; 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 @@ class GeneratorHelper { * 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 db575a8cbe0..6b64e263eec 100644 --- a/lib/private/PreviewManager.php +++ b/lib/private/PreviewManager.php @@ -193,7 +193,8 @@ class PreviewManager implements IPreview { $this, $this->appData, new GeneratorHelper( - $this->rootFolder + $this->rootFolder, + $this->config ), $this->eventDispatcher ); -- cgit v1.2.3