summaryrefslogtreecommitdiffstats
path: root/apps/files_versions/lib/Storage.php
diff options
context:
space:
mode:
authorBjoern Schiessle <bjoern@schiessle.org>2017-09-15 12:14:08 +0200
committerBjoern Schiessle <bjoern@schiessle.org>2017-09-15 12:14:31 +0200
commit90d76939979ff3e32c5ec4408668f4be64cac3fa (patch)
treee139a54ff40df58c065bf91bddccbbf5c99c20ec /apps/files_versions/lib/Storage.php
parent8500e114575d7e02ffda8070980cc77ba147e60f (diff)
downloadnextcloud-server-90d76939979ff3e32c5ec4408668f4be64cac3fa.tar.gz
nextcloud-server-90d76939979ff3e32c5ec4408668f4be64cac3fa.zip
allow apps to disable versions for some files
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
Diffstat (limited to 'apps/files_versions/lib/Storage.php')
-rw-r--r--apps/files_versions/lib/Storage.php12
1 files changed, 12 insertions, 0 deletions
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;