summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2015-11-19 10:55:07 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2015-11-19 10:55:07 +0100
commit3869db12902df17fdff3275a228486167d792090 (patch)
treea3f349da65b0bff352e4489b69eb161549ef9e1a
parent4ff34daedb17a93aa8afc7ee1004b7c71386f794 (diff)
parent5fc414abfdb959494f1be51bfbd3f148c4aa9205 (diff)
downloadnextcloud-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.php16
-rw-r--r--apps/dav/lib/connector/sabre/serverfactory.php2
-rw-r--r--apps/dav/lib/server.php7
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());