mirror of
https://github.com/moodle/moodle.git
synced 2025-04-14 13:02:07 +02:00
MDL-29835: filemanager - zero means zero, not unlimited
The form_filemanager constructor was using empty() rather than !isset(), so overwrote maxfiles=0 with the default (-1). In addition, the JS UI treated 0 as unlimited - but the non-JS fallback UI treated it as zero. This would result in a file manager which allowed files to be chosen/uploaded, which would then vanish into the void when the backend saw that the maximum number of files was 0.
This commit is contained in:
parent
9da506c2a3
commit
a0dc7da9b4
@ -537,7 +537,8 @@ M.form_dndupload.init = function(Y, options) {
|
||||
if (!overwrite) {
|
||||
this.currentfilecount++;
|
||||
}
|
||||
if (this.options.maxfiles > 0 && this.currentfilecount > this.options.maxfiles) {
|
||||
// The value for "unlimited files" is -1, so 0 should mean 0.
|
||||
if (this.options.maxfiles >= 0 && this.currentfilecount > this.options.maxfiles) {
|
||||
// Too many files - abort entire upload.
|
||||
this.uploadqueue = [];
|
||||
this.renamequeue = [];
|
||||
|
@ -332,7 +332,8 @@ class form_filemanager implements renderable {
|
||||
$defaults['defaultlicense'] = $CFG->sitedefaultlicense;
|
||||
}
|
||||
foreach ($defaults as $key=>$value) {
|
||||
if (empty($options->$key)) {
|
||||
// Using !isset() prevents us from overwriting falsey values with defaults (as empty() did).
|
||||
if (!isset($options->$key)) {
|
||||
$options->$key = $value;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user