[Pkg-owncloud-commits] [owncloud] 37/239: Now using the "Home" storage detection approach for quota
David Prévot
taffit at moszumanska.debian.org
Fri Nov 29 01:32:14 UTC 2013
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository owncloud.
commit 69e8e7dbd5039652cceb078025248c308ffd0d55
Author: Vincent Petry <pvince81 at owncloud.com>
Date: Thu Nov 21 12:17:47 2013 +0100
Now using the "Home" storage detection approach for quota
To find out whether to apply a quota, we now try and detect whether the
storage to wrap is a "Home" storage.
---
lib/private/files/storage/home.php | 17 +++++++++++++++++
lib/private/util.php | 20 +++++---------------
2 files changed, 22 insertions(+), 15 deletions(-)
diff --git a/lib/private/files/storage/home.php b/lib/private/files/storage/home.php
index b4ceb8f..1c2a682 100644
--- a/lib/private/files/storage/home.php
+++ b/lib/private/files/storage/home.php
@@ -22,6 +22,12 @@ class Home extends Local {
*/
protected $user;
+ /**
+ * @brief Construct a Home storage instance
+ * @param array $arguments array with "user" containing the
+ * storage owner and "legacy" containing "true" if the storage is
+ * a legacy storage with "local::" URL instead of the new "home::" one.
+ */
public function __construct($arguments) {
$this->user = $arguments['user'];
$datadir = $this->user->getHome();
@@ -40,10 +46,21 @@ class Home extends Local {
return $this->id;
}
+ /**
+ * @return \OC\Files\Cache\HomeCache
+ */
public function getCache($path = '') {
if (!isset($this->cache)) {
$this->cache = new \OC\Files\Cache\HomeCache($this);
}
return $this->cache;
}
+
+ /**
+ * @brief Returns the owner of this home storage
+ * @return \OC\User\User owner of this home storage
+ */
+ public function getUser() {
+ return $this->user;
+ }
}
diff --git a/lib/private/util.php b/lib/private/util.php
index 88f1f19..959d36a 100755
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -57,21 +57,11 @@ class OC_Util {
// set up quota for home storages, even for other users
// which can happen when using sharing
- if (strlen($mountPoint) > 1) {
- // the user name will be extracted from the mountpoint
- // with the format '/username/' (no suffix)
- $user = null;
- // find second separator
- $nextSepPos = strpos($mountPoint, '/', 1);
- // next separator is the last one, format matches
- if ($nextSepPos === strlen($mountPoint) - 1) {
- $user = substr($mountPoint, 1, $nextSepPos - 1);
- }
- if ($user) {
- $quota = OC_Util::getUserQuota($user);
- if ($quota !== \OC\Files\SPACE_UNLIMITED) {
- return new \OC\Files\Storage\Wrapper\Quota(array('storage' => $storage, 'quota' => $quota));
- }
+ if ($storage instanceof \OC\Files\Storage\Home) {
+ $user = $storage->getUser()->getUID();
+ $quota = OC_Util::getUserQuota($user);
+ if ($quota !== \OC\Files\SPACE_UNLIMITED) {
+ return new \OC\Files\Storage\Wrapper\Quota(array('storage' => $storage, 'quota' => $quota));
}
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git
More information about the Pkg-owncloud-commits
mailing list