Display error when trying to upload more files than specified in max_file_uploads (#5483)

pull/5490/head
Aleksander Machniak 8 years ago
parent f43f5bf93f
commit 571a10751f

@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail CHANGELOG Roundcube Webmail
=========================== ===========================
- Display error when trying to upload more files than specified in max_file_uploads (#5483)
- Add missing sql upgrade file for 'ip' column resize in session table (#5465) - Add missing sql upgrade file for 'ip' column resize in session table (#5465)
- Do not show inline images of unsupported mimetype (#5463) - Do not show inline images of unsupported mimetype (#5463)
- Password: Added LDAP PPolicy driver (#5364) - Password: Added LDAP PPolicy driver (#5364)

@ -2061,6 +2061,8 @@ class rcmail extends rcube
* Initializes file uploading interface. * Initializes file uploading interface.
* *
* @param int $max_size Optional maximum file size in bytes * @param int $max_size Optional maximum file size in bytes
*
* @return string Human-readable file size limit
*/ */
public function upload_init($max_size = null) public function upload_init($max_size = null)
{ {
@ -2088,12 +2090,18 @@ class rcmail extends rcube
$max_filesize = $max_size; $max_filesize = $max_size;
} }
$max_filesize_txt = $this->show_bytes($max_filesize);
$this->output->set_env('max_filesize', $max_filesize); $this->output->set_env('max_filesize', $max_filesize);
$max_filesize = $this->show_bytes($max_filesize);
$this->output->set_env('filesizeerror', $this->gettext(array( $this->output->set_env('filesizeerror', $this->gettext(array(
'name' => 'filesizeerror', 'vars' => array('size' => $max_filesize)))); 'name' => 'filesizeerror', 'vars' => array('size' => $max_filesize_txt))));
if ($max_filecount = ini_get('max_file_uploads')) {
$this->output->set_env('max_filecount', $max_filecount);
$this->output->set_env('filecounterror', $this->gettext(array(
'name' => 'filecounterror', 'vars' => array('count' => $max_filecount))));
}
return $max_filesize; return $max_filesize_txt;
} }
/** /**

@ -4876,6 +4876,10 @@ function rcube_webmail()
this.display_message(this.env.filesizeerror, 'error'); this.display_message(this.env.filesizeerror, 'error');
return false; return false;
} }
if (this.env.max_filecount && this.env.filecounterror && numfiles > this.env.max_filecount) {
this.display_message(this.env.filecounterror, 'error');
return false;
}
var frame_name = this.async_upload_form(form, action || 'upload', function(e) { var frame_name = this.async_upload_form(form, action || 'upload', function(e) {
var d, content = ''; var d, content = '';

@ -119,6 +119,7 @@ $messages['messageopenerror'] = 'Could not load message from server.';
$messages['filelinkerror'] = 'Attaching the file failed.'; $messages['filelinkerror'] = 'Attaching the file failed.';
$messages['fileuploaderror'] = 'File upload failed.'; $messages['fileuploaderror'] = 'File upload failed.';
$messages['filesizeerror'] = 'The uploaded file exceeds the maximum size of $size.'; $messages['filesizeerror'] = 'The uploaded file exceeds the maximum size of $size.';
$messages['filecounterror'] = 'You can upload maximum $count files at once.';
$messages['msgsizeerror'] = 'Failed to attach a file. Maximum size of a message ($size) exceeded.'; $messages['msgsizeerror'] = 'Failed to attach a file. Maximum size of a message ($size) exceeded.';
$messages['copysuccess'] = 'Successfully copied $nr contacts.'; $messages['copysuccess'] = 'Successfully copied $nr contacts.';
$messages['movesuccess'] = 'Successfully moved $nr contacts.'; $messages['movesuccess'] = 'Successfully moved $nr contacts.';

Loading…
Cancel
Save