mirror of
https://github.com/nextcloud/server.git
synced 2026-06-10 17:23:59 -04:00
adapt free space calculation to the way it is done for the trash bin
This commit is contained in:
parent
a3999036f7
commit
ddde1b65db
1 changed files with 15 additions and 7 deletions
|
|
@ -378,12 +378,14 @@ class Storage {
|
|||
$versions_fileview = new \OC\Files\View('/'.$uid.'/files_versions');
|
||||
|
||||
// get available disk space for user
|
||||
$softQuota = true;
|
||||
$quota = \OC_Preferences::getValue($uid, 'files', 'quota');
|
||||
if ( $quota === null || $quota === 'default') {
|
||||
$quota = \OC_Appconfig::getValue('files', 'default_quota');
|
||||
}
|
||||
if ( $quota === null || $quota === 'none' ) {
|
||||
$quota = \OC\Files\Filesystem::free_space('/') / count(\OCP\User::getUsers());
|
||||
$quota = \OC\Files\Filesystem::free_space('/');
|
||||
$softQuota = false;
|
||||
} else {
|
||||
$quota = \OCP\Util::computerFileSize($quota);
|
||||
}
|
||||
|
|
@ -397,15 +399,21 @@ class Storage {
|
|||
}
|
||||
|
||||
// calculate available space for version history
|
||||
$files_view = new \OC\Files\View('/'.$uid.'/files');
|
||||
$rootInfo = $files_view->getFileInfo('/');
|
||||
$free = $quota-$rootInfo['size']; // remaining free space for user
|
||||
if ( $free > 0 ) {
|
||||
$availableSpace = ($free * self::DEFAULTMAXSIZE / 100) - $versionsSize; // how much space can be used for versions
|
||||
// subtract size of files and current versions size from quota
|
||||
if ($softQuota) {
|
||||
$files_view = new \OC\Files\View('/'.$uid.'/files');
|
||||
$rootInfo = $files_view->getFileInfo('/');
|
||||
$free = $quota-$rootInfo['size']; // remaining free space for user
|
||||
if ( $free > 0 ) {
|
||||
$availableSpace = ($free * self::DEFAULTMAXSIZE / 100) - $versionsSize; // how much space can be used for versions
|
||||
} else {
|
||||
$availableSpace = $free-$versionsSize;
|
||||
}
|
||||
} else {
|
||||
$availableSpace = $free-$versionsSize;
|
||||
$availableSpace = $quota;
|
||||
}
|
||||
|
||||
|
||||
// after every 1000s run reduce the number of all versions not only for the current file
|
||||
$random = rand(0, 1000);
|
||||
if ($random == 0) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue