summaryrefslogtreecommitdiffstats
path: root/lib/private
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@arthur-schiwon.de>2016-08-16 18:31:59 +0200
committerArthur Schiwon <blizzz@arthur-schiwon.de>2016-08-16 18:31:59 +0200
commit717e22267a1c23dda1b25b9d01bb1fada9ce8ab7 (patch)
tree544774d1018e19d462e79360b3fc86b6cdd39b16 /lib/private
parent4946cc220de5926ef86dc8557ffb5c990f6482d3 (diff)
parent9db189174c26326bbb58d96f614a415cd15542d1 (diff)
downloadnextcloud-server-717e22267a1c23dda1b25b9d01bb1fada9ce8ab7.tar.gz
nextcloud-server-717e22267a1c23dda1b25b9d01bb1fada9ce8ab7.zip
Merge branch 'master' into implement_712
Diffstat (limited to 'lib/private')
-rw-r--r--lib/private/CapabilitiesManager.php21
-rw-r--r--lib/private/Server.php2
-rw-r--r--lib/private/legacy/util.php14
3 files changed, 27 insertions, 10 deletions
diff --git a/lib/private/CapabilitiesManager.php b/lib/private/CapabilitiesManager.php
index 99a37d652a1..159fa97c708 100644
--- a/lib/private/CapabilitiesManager.php
+++ b/lib/private/CapabilitiesManager.php
@@ -22,15 +22,22 @@
namespace OC;
+use OCP\AppFramework\QueryException;
use OCP\Capabilities\ICapability;
+use OCP\ILogger;
class CapabilitiesManager {
- /**
- * @var \Closure[]
- */
+ /** @var \Closure[] */
private $capabilities = array();
+ /** @var ILogger */
+ private $logger;
+
+ public function __construct(ILogger $logger) {
+ $this->logger = $logger;
+ }
+
/**
* Get an array of al the capabilities that are registered at this manager
*
@@ -40,7 +47,13 @@ class CapabilitiesManager {
public function getCapabilities() {
$capabilities = [];
foreach($this->capabilities as $capability) {
- $c = $capability();
+ try {
+ $c = $capability();
+ } catch (QueryException $e) {
+ $this->logger->error('CapabilitiesManager: {message}', ['app' => 'core', 'message' => $e->getMessage()]);
+ continue;
+ }
+
if ($c instanceof ICapability) {
$capabilities = array_replace_recursive($capabilities, $c->getCapabilities());
} else {
diff --git a/lib/private/Server.php b/lib/private/Server.php
index 245bbb338e2..44fc605826c 100644
--- a/lib/private/Server.php
+++ b/lib/private/Server.php
@@ -629,7 +629,7 @@ class Server extends ServerContainer implements IServerContainer {
return new Manager();
});
$this->registerService('CapabilitiesManager', function (Server $c) {
- $manager = new \OC\CapabilitiesManager();
+ $manager = new \OC\CapabilitiesManager($c->getLogger());
$manager->registerCapability(function () use ($c) {
return new \OC\OCS\CoreCapabilities($c->getConfig());
});
diff --git a/lib/private/legacy/util.php b/lib/private/legacy/util.php
index 83274f82792..a31d02dc01e 100644
--- a/lib/private/legacy/util.php
+++ b/lib/private/legacy/util.php
@@ -165,6 +165,7 @@ class OC_Util {
// install storage availability wrapper, before most other wrappers
\OC\Files\Filesystem::addStorageWrapper('oc_availability', function ($mountPoint, $storage) {
+ /** @var \OCP\Files\Storage $storage */
if (!$storage->instanceOfStorage('\OC\Files\Storage\Shared') && !$storage->isLocal()) {
return new \OC\Files\Storage\Wrapper\Availability(['storage' => $storage]);
}
@@ -290,16 +291,19 @@ class OC_Util {
/**
* Get the quota of a user
*
- * @param string $user
+ * @param string $userId
* @return int Quota bytes
*/
- public static function getUserQuota($user) {
- $userQuota = \OC::$server->getUserManager()->get($user)->getQuota();
+ public static function getUserQuota($userId) {
+ $user = \OC::$server->getUserManager()->get($userId);
+ if (is_null($user)) {
+ return \OCP\Files\FileInfo::SPACE_UNLIMITED;
+ }
+ $userQuota = $user->getQuota();
if($userQuota === 'none') {
return \OCP\Files\FileInfo::SPACE_UNLIMITED;
- }else{
- return OC_Helper::computerFileSize($userQuota);
}
+ return OC_Helper::computerFileSize($userQuota);
}
/**