Browse Source

Consolidate getQuota and setQuota methods in User instance

tags/v9.0beta1
Arthur Schiwon 8 years ago
parent
commit
3a796d1e15

+ 1
- 4
apps/files_trashbin/lib/trashbin.php View File

@@ -564,11 +564,8 @@ class Trashbin {
$config = \OC::$server->getConfig();

$softQuota = true;
$quota = $config->getUserValue($user, 'files', 'quota', null);
$quota = \OC::$server->getUserManager()->get($user)->getQuota();
$view = new \OC\Files\View('/' . $user);
if ($quota === null || $quota === 'default') {
$quota = $config->getAppValue('files', 'default_quota', null);
}
if ($quota === null || $quota === 'none') {
$quota = \OC\Files\Filesystem::free_space('/');
$softQuota = false;

+ 2
- 4
apps/files_versions/lib/storage.php View File

@@ -653,11 +653,9 @@ class Storage {
$versionsFileview = new \OC\Files\View('/'.$uid.'/files_versions');

// get available disk space for user
$user = \OC::$server->getUserManager()->get($uid);
$softQuota = true;
$quota = $config->getUserValue($uid, 'files', 'quota', null);
if ( $quota === null || $quota === 'default') {
$quota = $config->getAppValue('files', 'default_quota', null);
}
$quota = $user->getQuota();
if ( $quota === null || $quota === 'none' ) {
$quota = \OC\Files\Filesystem::free_space('/');
$softQuota = false;

+ 1
- 1
apps/provisioning_api/lib/users.php View File

@@ -278,7 +278,7 @@ class Users {
$quota = \OCP\Util::humanFileSize($quota);
}
}
$this->config->setUserValue($targetUserId, 'files', 'quota', $quota);
$targetUser->setQuota($quota);
break;
case 'password':
$targetUser->setPassword($parameters['_put']['value']);

+ 1
- 1
apps/user_ldap/lib/user/user.php View File

@@ -456,7 +456,7 @@ class User {
}
}
if(!is_null($quota)) {
$this->config->setUserValue($this->uid, 'files', 'quota', $quota);
$user = $this->userManager->get($this->uid)->setQuota($quota);
}
}


+ 2
- 2
lib/private/server.php View File

@@ -244,9 +244,9 @@ class Server extends ServerContainer implements IServerContainer {
$userSession->listen('\OC\User', 'logout', function () {
\OC_Hook::emit('OC_User', 'logout', array());
});
$userSession->listen('\OC\User', 'changeUser', function ($user) {
$userSession->listen('\OC\User', 'changeUser', function ($user, $feature) {
/** @var $user \OC\User\User */
\OC_Hook::emit('OC_User', 'changeUser', array('run' => true, 'user' => $user));
\OC_Hook::emit('OC_User', 'changeUser', array('run' => true, 'user' => $user, 'feature' => $feature));
});
return $userSession;
});

+ 35
- 4
lib/private/user/user.php View File

@@ -30,6 +30,7 @@
namespace OC\User;

use OC\Hooks\Emitter;
use OC_Helper;
use OCP\IAvatarManager;
use OCP\IImage;
use OCP\IURLGenerator;
@@ -140,7 +141,7 @@ class User implements IUser {
$result = $this->backend->setDisplayName($this->uid, $displayName);
if ($result) {
$this->displayName = $displayName;
$this->triggerChange();
$this->triggerChange('displayName');
}
return $result !== false;
} else {
@@ -161,7 +162,7 @@ class User implements IUser {
} else {
$this->config->setUserValue($this->uid, 'settings', 'email', $mailAddress);
}
$this->triggerChange();
$this->triggerChange('eMailAddress');
}

/**
@@ -338,6 +339,36 @@ class User implements IUser {
return $this->config->getUserValue($this->uid, 'settings', 'email', null);
}

/**
* get the users' quota
*
* @return string
* @since 9.0.0
*/
public function getQuota() {
$quota = $this->config->getUserValue($this->uid, 'files', 'quota', 'default');
if($quota === 'default') {
$quota = $this->config->getAppValue('files', 'default_quota', 'none');
}
return $quota;
}

/**
* set the users' quota
*
* @param string $quota
* @return void
* @since 9.0.0
*/
public function setQuota($quota) {
if($quota !== 'none' and $quota !== 'default') {
$quota= OC_Helper::computerFileSize($quota);
$quota=OC_Helper::humanFileSize($quota);
}
$this->config->setUserValue($this->uid, 'files', 'quota', $quota);
$this->triggerChange('quota');
}

/**
* get the avatar image if it exists
*
@@ -386,9 +417,9 @@ class User implements IUser {
return $url;
}

public function triggerChange() {
public function triggerChange($feature) {
if ($this->emitter) {
$this->emitter->emit('\OC\User', 'changeUser', array($this));
$this->emitter->emit('\OC\User', 'changeUser', array($this, $feature));
}
}


+ 1
- 5
lib/private/util.php View File

@@ -285,11 +285,7 @@ class OC_Util {
* @return int Quota bytes
*/
public static function getUserQuota($user) {
$config = \OC::$server->getConfig();
$userQuota = $config->getUserValue($user, 'files', 'quota', 'default');
if ($userQuota === 'default') {
$userQuota = $config->getAppValue('files', 'default_quota', 'none');
}
$userQuota = \OC::$server->getUserManager()->get($user)->getQuota();
if($userQuota === 'none') {
return \OCP\Files\FileInfo::SPACE_UNLIMITED;
}else{

+ 17
- 0
lib/public/iuser.php View File

@@ -178,4 +178,21 @@ interface IUser {
* @since 9.0.0
*/
public function setEMailAddress($mailAddress);

/**
* get the users' quota
*
* @return string
* @since 9.0.0
*/
public function getQuota();

/**
* set the users' quota
*
* @param string $quota
* @return void
* @since 9.0.0
*/
public function setQuota($quota);
}

+ 1
- 1
settings/ajax/setquota.php View File

@@ -56,7 +56,7 @@ if($quota !== 'none' and $quota !== 'default') {

// Return Success story
if($username) {
\OC::$server->getConfig()->setUserValue($username, 'files', 'quota', $quota);
$targetUserObject->setQuota($quota);
}else{//set the default quota when no username is specified
if($quota === 'default') {//'default' as default quota makes no sense
$quota='none';

+ 1
- 1
settings/controller/userscontroller.php View File

@@ -184,7 +184,7 @@ class UsersController extends Controller {
'displayname' => $user->getDisplayName(),
'groups' => (empty($userGroups)) ? $this->groupManager->getUserGroupIds($user) : $userGroups,
'subadmin' => $subAdminGroups,
'quota' => $this->config->getUserValue($user->getUID(), 'files', 'quota', 'default'),
'quota' => $user->getQuota(),
'storageLocation' => $user->getHome(),
'lastLogin' => $user->getLastLogin() * 1000,
'backend' => $user->getBackendClassName(),

Loading…
Cancel
Save