Merge branch 'wip-MDL-52100-master' of git://github.com/abgreeve/moodle

This commit is contained in:
David Monllao 2017-12-18 10:07:46 +01:00
commit ee35376e28
2 changed files with 9 additions and 4 deletions

View File

@ -904,6 +904,7 @@ function file_save_draft_area_files($draftitemid, $contextid, $component, $filea
$newhashes = array();
$filecount = 0;
$context = context::instance_by_id($contextid, MUST_EXIST);
foreach ($draftfiles as $file) {
if (!$options['subdirs'] && $file->get_filepath() !== '/') {
continue;
@ -912,8 +913,11 @@ function file_save_draft_area_files($draftitemid, $contextid, $component, $filea
continue;
}
if (!$file->is_directory()) {
if ($options['maxbytes'] and $options['maxbytes'] < $file->get_filesize()) {
// oversized file - should not get here at all
// Check to see if this file was uploaded by someone who can ignore the file size limits.
$fileusermaxbytes = get_user_max_upload_file_size($context, $options['maxbytes'], 0, 0, $file->get_userid());
if ($fileusermaxbytes != USER_CAN_IGNORE_FILE_SIZE_LIMITS
&& ($options['maxbytes'] and $options['maxbytes'] < $file->get_filesize())) {
// Oversized file.
continue;
}
if ($options['maxfiles'] != -1 and $options['maxfiles'] <= $filecount) {

View File

@ -1046,7 +1046,6 @@ EOF;
public static function create_draft_file($filedata = array()) {
global $USER;
self::setAdminUser();
$fs = get_file_storage();
$filerecord = array(
@ -1208,7 +1207,9 @@ EOF;
global $USER;
$this->resetAfterTest(true);
$this->setAdminUser();
// The admin has no restriction for max file uploads, so use a normal user.
$user = $this->getDataGenerator()->create_user();
$this->setUser($user);
$fs = get_file_storage();
$file = self::create_draft_file();