diff --git a/lib/form/dndupload.js b/lib/form/dndupload.js index 1e68cc8faf2..68df5ac597d 100644 --- a/lib/form/dndupload.js +++ b/lib/form/dndupload.js @@ -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 = []; diff --git a/lib/form/filemanager.php b/lib/form/filemanager.php index c67cfd922f3..77ee16903e5 100644 --- a/lib/form/filemanager.php +++ b/lib/form/filemanager.php @@ -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; } }