diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2015-11-19 10:55:07 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2015-11-19 10:55:07 +0100 |
commit | 3869db12902df17fdff3275a228486167d792090 (patch) | |
tree | a3f349da65b0bff352e4489b69eb161549ef9e1a | |
parent | 4ff34daedb17a93aa8afc7ee1004b7c71386f794 (diff) | |
parent | 5fc414abfdb959494f1be51bfbd3f148c4aa9205 (diff) | |
download | nextcloud-server-3869db12902df17fdff3275a228486167d792090.tar.gz nextcloud-server-3869db12902df17fdff3275a228486167d792090.zip |
Merge pull request #20537 from owncloud/add-internal-locking-to-new-webdav-endpoint
Add internal locking plugin
-rw-r--r-- | apps/dav/lib/connector/sabre/lockplugin.php | 16 | ||||
-rw-r--r-- | apps/dav/lib/connector/sabre/serverfactory.php | 2 | ||||
-rw-r--r-- | apps/dav/lib/server.php | 7 |
3 files changed, 10 insertions, 15 deletions
diff --git a/apps/dav/lib/connector/sabre/lockplugin.php b/apps/dav/lib/connector/sabre/lockplugin.php index 5840e59854c..8032d2b3fbf 100644 --- a/apps/dav/lib/connector/sabre/lockplugin.php +++ b/apps/dav/lib/connector/sabre/lockplugin.php @@ -39,18 +39,6 @@ class LockPlugin extends ServerPlugin { private $server; /** - * @var \Sabre\DAV\Tree - */ - private $tree; - - /** - * @param \Sabre\DAV\Tree $tree tree - */ - public function __construct(Tree $tree) { - $this->tree = $tree; - } - - /** * {@inheritdoc} */ public function initialize(\Sabre\DAV\Server $server) { @@ -66,7 +54,7 @@ class LockPlugin extends ServerPlugin { return; } try { - $node = $this->tree->getNodeForPath($request->getPath()); + $node = $this->server->tree->getNodeForPath($request->getPath()); } catch (NotFound $e) { return; } @@ -84,7 +72,7 @@ class LockPlugin extends ServerPlugin { return; } try { - $node = $this->tree->getNodeForPath($request->getPath()); + $node = $this->server->tree->getNodeForPath($request->getPath()); } catch (NotFound $e) { return; } diff --git a/apps/dav/lib/connector/sabre/serverfactory.php b/apps/dav/lib/connector/sabre/serverfactory.php index a33acc9f00b..0f0377e96bd 100644 --- a/apps/dav/lib/connector/sabre/serverfactory.php +++ b/apps/dav/lib/connector/sabre/serverfactory.php @@ -107,7 +107,7 @@ class ServerFactory { // FIXME: The following line is a workaround for legacy components relying on being able to send a GET to / $server->addPlugin(new \OCA\DAV\Connector\Sabre\DummyGetResponsePlugin()); $server->addPlugin(new \OCA\DAV\Connector\Sabre\ExceptionLoggerPlugin('webdav', $this->logger)); - $server->addPlugin(new \OCA\DAV\Connector\Sabre\LockPlugin($objectTree)); + $server->addPlugin(new \OCA\DAV\Connector\Sabre\LockPlugin()); $server->addPlugin(new \OCA\DAV\Connector\Sabre\ListenerPlugin($this->dispatcher)); // Finder on OS X requires Class 2 WebDAV support (locking), since we do // not provide locking we emulate it using a fake locking plugin. diff --git a/apps/dav/lib/server.php b/apps/dav/lib/server.php index ae0fe5123f4..229f33858d9 100644 --- a/apps/dav/lib/server.php +++ b/apps/dav/lib/server.php @@ -17,6 +17,9 @@ class Server { public function __construct(IRequest $request, $baseUri) { $this->request = $request; $this->baseUri = $baseUri; + $logger = \OC::$server->getLogger(); + $dispatcher = \OC::$server->getEventDispatcher(); + $root = new RootCollection(); $this->server = new \OCA\DAV\Connector\Sabre\Server($root); @@ -32,6 +35,10 @@ class Server { $this->server->addPlugin(new BlockLegacyClientPlugin(\OC::$server->getConfig())); $this->server->addPlugin(new Plugin($authBackend, 'ownCloud')); + $this->server->addPlugin(new \OCA\DAV\Connector\Sabre\DummyGetResponsePlugin()); + $this->server->addPlugin(new \OCA\DAV\Connector\Sabre\ExceptionLoggerPlugin('webdav', $logger)); + $this->server->addPlugin(new \OCA\DAV\Connector\Sabre\LockPlugin()); + $this->server->addPlugin(new \OCA\DAV\Connector\Sabre\ListenerPlugin($dispatcher)); // calendar plugins $this->server->addPlugin(new \Sabre\CalDAV\Plugin()); |