Improve handeling of unlimited max upload size

remotes/origin/stable6
Robin Appelman 12 years ago
parent 761540e78b
commit 32b8fd8fb7
  1. 2
      apps/files/ajax/upload.php
  2. 1
      lib/files/filesystem.php
  3. 8
      lib/helper.php

@ -47,7 +47,7 @@ $totalSize = 0;
foreach ($files['size'] as $size) {
$totalSize += $size;
}
if ($totalSize > $maxUploadFilesize) {
if ($maxUploadFilesize >= 0 and $totalSize > $maxUploadFilesize) {
OCP\JSON::error(array('data' => array('message' => $l->t('Not enough storage available'),
'uploadMaxFilesize' => $maxUploadFilesize,
'maxHumanFilesize' => $maxHumanFilesize)));

@ -30,6 +30,7 @@
namespace OC\Files;
const FREE_SPACE_UNKNOWN = -2;
const FREE_SPACE_UNLIMITED = -3;
class Filesystem {
public static $loaded = false;

@ -764,7 +764,13 @@ class OC_Helper {
public static function maxUploadFilesize($dir) {
$upload_max_filesize = OCP\Util::computerFileSize(ini_get('upload_max_filesize'));
$post_max_size = OCP\Util::computerFileSize(ini_get('post_max_size'));
$maxUploadFilesize = min($upload_max_filesize, $post_max_size);
if ($upload_max_filesize === 0 and $post_max_size === 0) {
$maxUploadFilesize = \OC\Files\FREE_SPACE_UNLIMITED;
} elseif ($upload_max_filesize === 0 or $post_max_size === 0) {
$maxUploadFilesize = max($upload_max_filesize, $post_max_size); //only the non 0 value counts
} else {
$maxUploadFilesize = min($upload_max_filesize, $post_max_size);
}
$freeSpace = \OC\Files\Filesystem::free_space($dir);
if($freeSpace !== \OC\Files\FREE_SPACE_UNKNOWN){

Loading…
Cancel
Save