diff options
author | Roeland Jago Douma <roeland@famdouma.nl> | 2018-05-14 19:58:19 +0200 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2018-05-14 19:58:19 +0200 |
commit | 39bb9c06d165af8b39ba2c3cdcd8d4f9727e6afd (patch) | |
tree | b4e48501e96444302381fbb79971991bb153a1ab /apps | |
parent | 0dcb6b267524b645d3e058b935bf8f6b31bf1f56 (diff) | |
download | nextcloud-server-39bb9c06d165af8b39ba2c3cdcd8d4f9727e6afd.tar.gz nextcloud-server-39bb9c06d165af8b39ba2c3cdcd8d4f9727e6afd.zip |
Delete the previews when a version is restored
Fixes #9469
When a version of a file is restored the previews are no longer valid.
Thus we should remove them so they are regenerated.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files_versions/lib/Storage.php | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/apps/files_versions/lib/Storage.php b/apps/files_versions/lib/Storage.php index 217bf02fd39..401544cc5d7 100644 --- a/apps/files_versions/lib/Storage.php +++ b/apps/files_versions/lib/Storage.php @@ -337,6 +337,9 @@ class Storage { return false; } + // Fetch the userfolder to trigger view hooks + $userFolder = \OC::$server->getUserFolder($uid); + $users_view = new View('/'.$uid); $files_view = new View('/'. User::getUser().'/files'); @@ -375,9 +378,14 @@ class Storage { if (self::copyFileContents($users_view, $fileToRestore, 'files' . $filename)) { $files_view->touch($file, $revision); Storage::scheduleExpire($uid, $file); + + $node = $userFolder->get($file); + + // TODO: move away from those legacy hooks! \OC_Hook::emit('\OCP\Versions', 'rollback', array( 'path' => $filename, 'revision' => $revision, + 'node' => $node, )); return true; } else if ($versionCreated) { |