From 90d76939979ff3e32c5ec4408668f4be64cac3fa Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Fri, 15 Sep 2017 12:14:08 +0200 Subject: allow apps to disable versions for some files Signed-off-by: Bjoern Schiessle --- apps/files_versions/lib/Storage.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'apps/files_versions/lib/Storage.php') diff --git a/apps/files_versions/lib/Storage.php b/apps/files_versions/lib/Storage.php index 5e3f87b3646..25c64b89000 100644 --- a/apps/files_versions/lib/Storage.php +++ b/apps/files_versions/lib/Storage.php @@ -47,6 +47,7 @@ use OC\Files\Filesystem; use OC\Files\View; use OCA\Files_Versions\AppInfo\Application; use OCA\Files_Versions\Command\Expire; +use OCA\Files_Versions\Events\CreateVersionEvent; use OCP\Files\NotFoundException; use OCP\Lock\ILockingProvider; use OCP\User; @@ -179,6 +180,17 @@ class Storage { $files_view = new View('/'.$uid .'/files'); $users_view = new View('/'.$uid); + $eventDispatcher = \OC::$server->getEventDispatcher(); + $id = $files_view->getFileInfo($filename)->getId(); + $nodes = \OC::$server->getRootFolder()->getById($id); + foreach ($nodes as $node) { + $event = new CreateVersionEvent($node); + $eventDispatcher->dispatch('OCA\Files_Versions::createVersion', $event); + if ($event->shouldCreateVersion() === false) { + return false; + } + } + // no use making versions for empty files if ($files_view->filesize($filename) === 0) { return false; -- cgit v1.2.3