summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@owncloud.com>2016-01-20 08:30:37 +0100
committerRoeland Jago Douma <rullzer@owncloud.com>2016-01-20 08:33:36 +0100
commit7a946a05f58f615c90d152f64673eaf62c59c39c (patch)
treeb8f4b67f475eaa03e08d25c135a1d9b6fb37c5a1 /lib
parentf076bfac32bfd5439dbabb47dda36e4d43d2079a (diff)
downloadnextcloud-server-7a946a05f58f615c90d152f64673eaf62c59c39c.tar.gz
nextcloud-server-7a946a05f58f615c90d152f64673eaf62c59c39c.zip
Properly DI the servercontainer
Diffstat (limited to 'lib')
-rw-r--r--lib/private/server.php2
-rw-r--r--lib/private/share20/iproviderfactory.php7
-rw-r--r--lib/private/share20/providerfactory.php19
3 files changed, 23 insertions, 5 deletions
diff --git a/lib/private/server.php b/lib/private/server.php
index 79bd96652ed..642267e8568 100644
--- a/lib/private/server.php
+++ b/lib/private/server.php
@@ -568,7 +568,7 @@ class Server extends ServerContainer implements IServerContainer {
$config = $c->getConfig();
$factoryClass = $config->getSystemValue('sharing.managerFactory', '\OC\Share20\ProviderFactory');
/** @var \OC\Share20\IProviderFactory $factory */
- $factory = new $factoryClass();
+ $factory = new $factoryClass($this);
$manager = new \OC\Share20\Manager(
$c->getLogger(),
diff --git a/lib/private/share20/iproviderfactory.php b/lib/private/share20/iproviderfactory.php
index 9dabe2f6134..b38666978db 100644
--- a/lib/private/share20/iproviderfactory.php
+++ b/lib/private/share20/iproviderfactory.php
@@ -21,6 +21,7 @@
namespace OC\Share20;
use OC\Share20\Exception\ProviderException;
+use OCP\IServerContainer;
/**
* Interface IProviderFactory
@@ -31,6 +32,12 @@ use OC\Share20\Exception\ProviderException;
interface IProviderFactory {
/**
+ * IProviderFactory constructor.
+ * @param IServerContainer $serverContainer
+ */
+ public function __construct(IServerContainer $serverContainer);
+
+ /**
* @param string $id
* @return IShareProvider
* @throws ProviderException
diff --git a/lib/private/share20/providerfactory.php b/lib/private/share20/providerfactory.php
index 178db262d10..2e5282c1eb4 100644
--- a/lib/private/share20/providerfactory.php
+++ b/lib/private/share20/providerfactory.php
@@ -21,6 +21,7 @@
namespace OC\Share20;
use OC\Share20\Exception\ProviderException;
+use OCP\IServerContainer;
/**
* Class ProviderFactory
@@ -29,10 +30,20 @@ use OC\Share20\Exception\ProviderException;
*/
class ProviderFactory implements IProviderFactory {
+ /** @var IServerContainer */
+ private $serverContainer;
/** @var DefaultShareProvider */
private $defaultProvider = null;
/**
+ * IProviderFactory constructor.
+ * @param IServerContainer $serverContainer
+ */
+ public function __construct(IServerContainer $serverContainer) {
+ $this->serverContainer = $serverContainer;
+ }
+
+ /**
* Create the default share provider.
*
* @return DefaultShareProvider
@@ -40,10 +51,10 @@ class ProviderFactory implements IProviderFactory {
protected function defaultShareProvider() {
if ($this->defaultProvider === null) {
$this->defaultProvider = new DefaultShareProvider(
- \OC::$server->getDatabaseConnection(),
- \OC::$server->getUserManager(),
- \OC::$server->getGroupManager(),
- \OC::$server->getRootFolder()
+ $this->serverContainer->getDatabaseConnection(),
+ $this->serverContainer->getUserManager(),
+ $this->serverContainer->getGroupManager(),
+ $this->serverContainer->getRootFolder()
);
}