- Check 'post_max_size' for upload max filesize (#1486089)

release-0.6
alecpl 15 years ago
parent 3dd90d323d
commit 7df0e35210

@ -1,6 +1,7 @@
CHANGELOG RoundCube Webmail CHANGELOG RoundCube Webmail
=========================== ===========================
- Check 'post_max_size' for upload max filesize (#1486089)
- Password Plugin: Fix %d inserts username instead of domain (#1486088) - Password Plugin: Fix %d inserts username instead of domain (#1486088)
- Fix rcube_mdb2::affected_rows() (#1486082) - Fix rcube_mdb2::affected_rows() (#1486082)

@ -128,7 +128,13 @@ if (is_array($_FILES['_attachments']['tmp_name'])) {
} }
} }
else if ($_SERVER['REQUEST_METHOD'] == 'POST') { else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$OUTPUT->command('display_message', rcube_label('fileuploaderror'), 'error'); // if filesize exceeds post_max_size then $_FILES array is empty,
// show filesizeerror instead of fileuploaderror
if ($maxsize = ini_get('post_max_size'))
$msg = rcube_label(array('name' => 'filesizeerror', 'vars' => array('size' => show_bytes(parse_bytes($maxsize)))));
else
$msg = rcube_label('fileuploaderror');
$OUTPUT->command('display_message', $msg, 'error');
} }
// send html page with JS calls as response // send html page with JS calls as response

@ -824,12 +824,19 @@ function rcmail_compose_attachment_form($attrib)
if (!$attrib['id']) if (!$attrib['id'])
$attrib['id'] = 'rcmUploadbox'; $attrib['id'] = 'rcmUploadbox';
// find max filesize value
$max_filesize = parse_bytes(ini_get('upload_max_filesize'));
$max_postsize = parse_bytes(ini_get('post_max_size'));
if ($max_postsize && $max_postsize < $max_filesize)
$max_filesize = $max_postsize;
$max_filesize = show_bytes($max_filesize);
$button = new html_inputfield(array('type' => 'button', 'class' => 'button')); $button = new html_inputfield(array('type' => 'button', 'class' => 'button'));
$out = html::div($attrib, $out = html::div($attrib,
$OUTPUT->form_tag(array('name' => 'form', 'method' => 'post', 'enctype' => 'multipart/form-data'), $OUTPUT->form_tag(array('name' => 'form', 'method' => 'post', 'enctype' => 'multipart/form-data'),
html::div(null, rcmail_compose_attachment_field(array())) . html::div(null, rcmail_compose_attachment_field(array())) .
html::div('hint', rcube_label(array('name' => 'maxuploadsize', 'vars' => array('size' => show_bytes(parse_bytes(ini_get('upload_max_filesize'))))))) . html::div('hint', rcube_label(array('name' => 'maxuploadsize', 'vars' => array('size' => $max_filesize)))) .
html::div('buttons', html::div('buttons',
$button->show(rcube_label('close'), array('onclick' => "document.getElementById('$attrib[id]').style.visibility='hidden'")) . ' ' . $button->show(rcube_label('close'), array('onclick' => "document.getElementById('$attrib[id]').style.visibility='hidden'")) . ' ' .
$button->show(rcube_label('upload'), array('onclick' => JS_OBJECT_NAME . ".command('send-attachment', this.form)")) $button->show(rcube_label('upload'), array('onclick' => JS_OBJECT_NAME . ".command('send-attachment', this.form)"))

Loading…
Cancel
Save