From f8cc8e1c9ed9df37f71286354347eea4f4b51abb Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Wed, 30 Aug 2017 12:15:01 +0200 Subject: [PATCH 1/2] add a new dav event to allow apps to register their own sabredav plugins Signed-off-by: Bjoern Schiessle --- apps/dav/lib/Server.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/dav/lib/Server.php b/apps/dav/lib/Server.php index 994ac04033..896af09f1c 100644 --- a/apps/dav/lib/Server.php +++ b/apps/dav/lib/Server.php @@ -163,6 +163,9 @@ class Server { $this->server->addPlugin(new CopyEtagHeaderPlugin()); + // allow setup of additional plugins + $dispatcher->dispatch('OCA\DAV\Connector\Sabre::addPlugin', $event); + // Some WebDAV clients do require Class 2 WebDAV support (locking), since // we do not provide locking we emulate it using a fake locking plugin. if($request->isUserAgent([ From 454d136a065cc89cbe3add605ea4654f7ac3d097 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Wed, 30 Aug 2017 12:32:52 +0200 Subject: [PATCH 2/2] also allow to register additional plugins if the old endpoint is used Signed-off-by: Bjoern Schiessle --- apps/dav/appinfo/v1/webdav.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/dav/appinfo/v1/webdav.php b/apps/dav/appinfo/v1/webdav.php index a1ad4ab489..a47316ee93 100644 --- a/apps/dav/appinfo/v1/webdav.php +++ b/apps/dav/appinfo/v1/webdav.php @@ -67,5 +67,10 @@ $server = $serverFactory->createServer($baseuri, $requestUri, $authPlugin, funct return \OC\Files\Filesystem::getView(); }); +$dispatcher = \OC::$server->getEventDispatcher(); +// allow setup of additional plugins +$event = new \OCP\SabrePluginEvent($server); +$dispatcher->dispatch('OCA\DAV\Connector\Sabre::addPlugin', $event); + // And off we go! $server->exec();