summaryrefslogtreecommitdiffstats
path: root/lib/private/server.php
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@owncloud.com>2016-01-11 10:30:03 +0100
committerRoeland Jago Douma <rullzer@owncloud.com>2016-01-13 16:35:14 +0100
commit67b7ebccd134d68329fae201669924118a4d98fc (patch)
treeeae8adce95c898cbb481e5c35b54b41cb506aef0 /lib/private/server.php
parentb4de427c1e0d3de5f937b3514c4dd2b8c59d7b15 (diff)
downloadnextcloud-server-67b7ebccd134d68329fae201669924118a4d98fc.tar.gz
nextcloud-server-67b7ebccd134d68329fae201669924118a4d98fc.zip
[Share 2.0] Add share provider factory
* Add providers * Add share manager to server container * Use share manager from server container * Properly get the share manager
Diffstat (limited to 'lib/private/server.php')
-rw-r--r--lib/private/server.php28
1 files changed, 27 insertions, 1 deletions
diff --git a/lib/private/server.php b/lib/private/server.php
index fe71b748e08..79bd96652ed 100644
--- a/lib/private/server.php
+++ b/lib/private/server.php
@@ -564,6 +564,25 @@ class Server extends ServerContainer implements IServerContainer {
$request
);
});
+ $this->registerService('ShareManager', function(Server $c) {
+ $config = $c->getConfig();
+ $factoryClass = $config->getSystemValue('sharing.managerFactory', '\OC\Share20\ProviderFactory');
+ /** @var \OC\Share20\IProviderFactory $factory */
+ $factory = new $factoryClass();
+
+ $manager = new \OC\Share20\Manager(
+ $c->getLogger(),
+ $c->getConfig(),
+ $c->getSecureRandom(),
+ $c->getHasher(),
+ $c->getMountManager(),
+ $c->getGroupManager(),
+ $c->getL10N('core'),
+ $factory
+ );
+
+ return $manager;
+ });
}
/**
@@ -1181,5 +1200,12 @@ class Server extends ServerContainer implements IServerContainer {
public function getUserStoragesService() {
return \OC_Mount_Config::$app->getContainer()->query('OCA\\Files_External\\Service\\UserStoragesService');
}
-
+
+
+ /**
+ * @return \OC\Share20\Manager
+ */
+ public function getShareManager() {
+ return $this->query('ShareManager');
+ }
}