From be84ac71f88ef0f33f9ee1f8e703cf66cf351e79 Mon Sep 17 00:00:00 2001 From: Pranav Kant Date: Mon, 18 Jul 2016 17:02:38 +0530 Subject: [PATCH] Explicit is better than implicit For consistency, lets close the opened user login session here also. --- controller/documentcontroller.php | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/controller/documentcontroller.php b/controller/documentcontroller.php index d03bf9ae..91e6ac2b 100644 --- a/controller/documentcontroller.php +++ b/controller/documentcontroller.php @@ -470,29 +470,32 @@ class DocumentController extends Controller { //TODO: Support X-WOPIMaxExpectedSize header. $res = $row->getPathForToken($fileId, $version, $token); + $ownerid = $res['owner']; // Login the user to see his mount locations - $this->loginUser($res['owner']); + $this->loginUser($ownerid); + $filename = ''; // If some previous version is requested, fetch it from Files_Version app if ($version !== '0') { \OCP\JSON::checkAppEnabled('files_versions'); - $ownerid = $res['owner']; - // Setup the FS \OC_Util::tearDownFS(); \OC_Util::setupFS($ownerid, '/' . $ownerid . '/files'); - list($owner_uid, $filename) = \OCA\Files_Versions\Storage::getUidAndFilename($res['path']); - $versionName = '/files_versions/' . $filename . '.v' . $version; + list($ownerid, $filename) = \OCA\Files_Versions\Storage::getUidAndFilename($res['path']); + $filename = '/files_versions/' . $filename . '.v' . $version; \OC_Util::tearDownFS(); - - return new DownloadResponse($this->request, $owner_uid, $versionName); + } else { + $filename = '/files' . $res['path']; } - return new DownloadResponse($this->request, $res['owner'], '/files' . $res['path']); + // Close the session created for user login + \OC::$server->getSession()->close(); + + return new DownloadResponse($this->request, $ownerid, $filename); } /**