$newhashes = array();
$filecount = 0;
+ $context = context::instance_by_id($contextid, MUST_EXIST);
foreach ($draftfiles as $file) {
if (!$options['subdirs'] && $file->get_filepath() !== '/') {
continue;
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) {