[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