diff options
author | Roeland Jago Douma <rullzer@owncloud.com> | 2016-01-20 08:30:37 +0100 |
---|---|---|
committer | Roeland Jago Douma <rullzer@owncloud.com> | 2016-01-20 08:33:36 +0100 |
commit | 7a946a05f58f615c90d152f64673eaf62c59c39c (patch) | |
tree | b8f4b67f475eaa03e08d25c135a1d9b6fb37c5a1 /lib | |
parent | f076bfac32bfd5439dbabb47dda36e4d43d2079a (diff) | |
download | nextcloud-server-7a946a05f58f615c90d152f64673eaf62c59c39c.tar.gz nextcloud-server-7a946a05f58f615c90d152f64673eaf62c59c39c.zip |
Properly DI the servercontainer
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/server.php | 2 | ||||
-rw-r--r-- | lib/private/share20/iproviderfactory.php | 7 | ||||
-rw-r--r-- | lib/private/share20/providerfactory.php | 19 |
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() ); } |