add a default user quota

This commit is contained in:
Robin Appelman 2012-02-24 14:10:19 +01:00
parent e039015ca1
commit 9f5bce81b0
2 changed files with 36 additions and 4 deletions

View File

@ -26,11 +26,37 @@
*/ */
class OC_FileProxy_Quota extends OC_FileProxy{ class OC_FileProxy_Quota extends OC_FileProxy{
private $userQuota=-1;
/**
* get the quota for the current user
* @return int
*/
private function getQuota(){
if($this->userQuota!=-1){
return $this->userQuota;
}
$userQuota=OC_Preferences::getValue(OC_User::getUser(),'files','quota','default');
if($userQuota=='default'){
$userQuota=OC_AppConfig::getValue('files','default_quota','none');
}
if($userQuota=='none'){
$this->userQuota=0;
}else{
$this->userQuota=OC_Helper::computerFileSize($userQuota);
}
return $this->userQuota;
}
/**
* get the free space in the users home folder
* @return int
*/
private function getFreeSpace(){ private function getFreeSpace(){
$rootInfo=OC_FileCache::get(''); $rootInfo=OC_FileCache::get('');
$usedSpace=$rootInfo['size']; $usedSpace=$rootInfo['size'];
$totalSpace=OC_Preferences::getValue(OC_User::getUser(),'files','quota',0); $totalSpace=$this->getQuota();
$totalSpace=OC_Helper::computerFileSize($totalSpace);
if($totalSpace==0){ if($totalSpace==0){
return 0; return 0;
} }

View File

@ -8,8 +8,14 @@ OC_JSON::checkAdminUser();
$username = $_POST["username"]; $username = $_POST["username"];
//make sure the quota is in the expected format //make sure the quota is in the expected format
$quota= OC_Helper::computerFileSize($_POST["quota"]); $quota=$_POST["quota"];
$quota=OC_Helper::humanFileSize($quota); if($quota!='none' and $quota!='default'){
$quota= OC_Helper::computerFileSize($quota);
$quota=OC_Helper::humanFileSize($quota);
}
if($quota==0){
$quota='default';
}
// Return Success story // Return Success story
OC_Preferences::setValue($username,'files','quota',$quota); OC_Preferences::setValue($username,'files','quota',$quota);