mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
Merge remote-tracking branch 'naderman/ticket/10908' into develop-olympus
* naderman/ticket/10908: [ticket/10908] Document that 0 filesize configuration means limited by PHP [ticket/10908] Download files only up to max_upload_filesize if limit is 0
This commit is contained in:
commit
0261a9acff
3 changed files with 31 additions and 6 deletions
|
@ -751,6 +751,31 @@ class fileupload
|
||||||
$filename = $url['path'];
|
$filename = $url['path'];
|
||||||
$filesize = 0;
|
$filesize = 0;
|
||||||
|
|
||||||
|
$remote_max_filesize = $this->max_filesize;
|
||||||
|
if (!$remote_max_filesize)
|
||||||
|
{
|
||||||
|
$max_filesize = @ini_get('upload_max_filesize');
|
||||||
|
|
||||||
|
if (!empty($max_filesize))
|
||||||
|
{
|
||||||
|
$unit = strtolower(substr($max_filesize, -1, 1));
|
||||||
|
$remote_max_filesize = (int) $max_filesize;
|
||||||
|
|
||||||
|
switch ($unit)
|
||||||
|
{
|
||||||
|
case 'g':
|
||||||
|
$remote_max_filesize *= 1024;
|
||||||
|
// no break
|
||||||
|
case 'm':
|
||||||
|
$remote_max_filesize *= 1024;
|
||||||
|
// no break
|
||||||
|
case 'k':
|
||||||
|
$remote_max_filesize *= 1024;
|
||||||
|
// no break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$errno = 0;
|
$errno = 0;
|
||||||
$errstr = '';
|
$errstr = '';
|
||||||
|
|
||||||
|
@ -779,9 +804,9 @@ class fileupload
|
||||||
$block = @fread($fsock, 1024);
|
$block = @fread($fsock, 1024);
|
||||||
$filesize += strlen($block);
|
$filesize += strlen($block);
|
||||||
|
|
||||||
if ($this->max_filesize && $filesize > $this->max_filesize)
|
if ($remote_max_filesize && $filesize > $remote_max_filesize)
|
||||||
{
|
{
|
||||||
$max_filesize = get_formatted_filesize($this->max_filesize, false);
|
$max_filesize = get_formatted_filesize($remote_max_filesize, false);
|
||||||
|
|
||||||
$file = new fileerror(sprintf($user->lang[$this->error_prefix . 'WRONG_FILESIZE'], $max_filesize['value'], $max_filesize['unit']));
|
$file = new fileerror(sprintf($user->lang[$this->error_prefix . 'WRONG_FILESIZE'], $max_filesize['value'], $max_filesize['unit']));
|
||||||
return $file;
|
return $file;
|
||||||
|
@ -807,9 +832,9 @@ class fileupload
|
||||||
{
|
{
|
||||||
$length = (int) str_replace('content-length: ', '', strtolower($line));
|
$length = (int) str_replace('content-length: ', '', strtolower($line));
|
||||||
|
|
||||||
if ($length && $length > $this->max_filesize)
|
if ($remote_max_filesize && $length && $length > $remote_max_filesize)
|
||||||
{
|
{
|
||||||
$max_filesize = get_formatted_filesize($this->max_filesize, false);
|
$max_filesize = get_formatted_filesize($remote_max_filesize, false);
|
||||||
|
|
||||||
$file = new fileerror(sprintf($user->lang[$this->error_prefix . 'WRONG_FILESIZE'], $max_filesize['value'], $max_filesize['unit']));
|
$file = new fileerror(sprintf($user->lang[$this->error_prefix . 'WRONG_FILESIZE'], $max_filesize['value'], $max_filesize['unit']));
|
||||||
return $file;
|
return $file;
|
||||||
|
|
|
@ -57,7 +57,7 @@ $lang = array_merge($lang, array(
|
||||||
'ATTACH_EXT_GROUPS_URL' => 'Extension groups',
|
'ATTACH_EXT_GROUPS_URL' => 'Extension groups',
|
||||||
'ATTACH_ID' => 'ID',
|
'ATTACH_ID' => 'ID',
|
||||||
'ATTACH_MAX_FILESIZE' => 'Maximum file size',
|
'ATTACH_MAX_FILESIZE' => 'Maximum file size',
|
||||||
'ATTACH_MAX_FILESIZE_EXPLAIN' => 'Maximum size of each file, with 0 being unlimited.',
|
'ATTACH_MAX_FILESIZE_EXPLAIN' => 'Maximum size of each file. If this value is 0, the uploadable filesize is only limited by your PHP configuration.',
|
||||||
'ATTACH_MAX_PM_FILESIZE' => 'Maximum file size messaging',
|
'ATTACH_MAX_PM_FILESIZE' => 'Maximum file size messaging',
|
||||||
'ATTACH_MAX_PM_FILESIZE_EXPLAIN' => 'Maximum size of each file, with 0 being unlimited, attached to a private message.',
|
'ATTACH_MAX_PM_FILESIZE_EXPLAIN' => 'Maximum size of each file, with 0 being unlimited, attached to a private message.',
|
||||||
'ATTACH_ORPHAN_URL' => 'Orphan attachments',
|
'ATTACH_ORPHAN_URL' => 'Orphan attachments',
|
||||||
|
|
|
@ -108,7 +108,7 @@ $lang = array_merge($lang, array(
|
||||||
'MAX_AVATAR_SIZE' => 'Maximum avatar dimensions',
|
'MAX_AVATAR_SIZE' => 'Maximum avatar dimensions',
|
||||||
'MAX_AVATAR_SIZE_EXPLAIN' => 'Width x Height in pixels.',
|
'MAX_AVATAR_SIZE_EXPLAIN' => 'Width x Height in pixels.',
|
||||||
'MAX_FILESIZE' => 'Maximum avatar file size',
|
'MAX_FILESIZE' => 'Maximum avatar file size',
|
||||||
'MAX_FILESIZE_EXPLAIN' => 'For uploaded avatar files.',
|
'MAX_FILESIZE_EXPLAIN' => 'For uploaded avatar files. If this value is 0, the uploaded filesize is only limited by your PHP configuration.',
|
||||||
'MIN_AVATAR_SIZE' => 'Minimum avatar dimensions',
|
'MIN_AVATAR_SIZE' => 'Minimum avatar dimensions',
|
||||||
'MIN_AVATAR_SIZE_EXPLAIN' => 'Width x Height in pixels.',
|
'MIN_AVATAR_SIZE_EXPLAIN' => 'Width x Height in pixels.',
|
||||||
));
|
));
|
||||||
|
|
Loading…
Add table
Reference in a new issue