diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 842efaceff3..6a6c682105a 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -5861,15 +5861,15 @@ function get_max_upload_file_size($sitebytes=0, $coursebytes=0, $modulebytes=0) } } - if ($sitebytes and $sitebytes < $minimumsize) { + if (($sitebytes > 0) and ($sitebytes < $minimumsize)) { $minimumsize = $sitebytes; } - if ($coursebytes and $coursebytes < $minimumsize) { + if (($coursebytes > 0) and ($coursebytes < $minimumsize)) { $minimumsize = $coursebytes; } - if ($modulebytes and $modulebytes < $minimumsize) { + if (($modulebytes > 0) and ($modulebytes < $minimumsize)) { $minimumsize = $modulebytes; } diff --git a/repository/filepicker.php b/repository/filepicker.php index 73970d60a28..fd16e6676ca 100644 --- a/repository/filepicker.php +++ b/repository/filepicker.php @@ -89,11 +89,9 @@ if ($repo_id) { } $context = context::instance_by_id($contextid); -$moodle_maxbytes = get_user_max_upload_file_size($context); -// to prevent maxbytes greater than moodle maxbytes setting -if ($maxbytes == 0 || $maxbytes>=$moodle_maxbytes) { - $maxbytes = $moodle_maxbytes; -} + +// Make sure maxbytes passed is within site filesize limits. +$maxbytes = get_user_max_upload_file_size($context, $CFG->maxbytes, $course->maxbytes, $maxbytes); $params = array('ctx_id' => $contextid, 'itemid' => $itemid, 'env' => $env, 'course'=>$courseid, 'maxbytes'=>$maxbytes, 'maxfiles'=>$maxfiles, 'subdirs'=>$subdirs, 'sesskey'=>sesskey()); $params['action'] = 'browse'; diff --git a/repository/repository_ajax.php b/repository/repository_ajax.php index 5c368778430..d9f3cea305f 100644 --- a/repository/repository_ajax.php +++ b/repository/repository_ajax.php @@ -79,11 +79,12 @@ $repo = repository::get_repository_by_id($repo_id, $contextid, $repooptions); // Check permissions $repo->check_capability(); -$moodle_maxbytes = get_user_max_upload_file_size($context); -// to prevent maxbytes greater than moodle maxbytes setting -if ($maxbytes == 0 || $maxbytes>=$moodle_maxbytes) { - $maxbytes = $moodle_maxbytes; +$coursemaxbytes = 0; +if (!empty($course)) { + $coursemaxbytes = $course->maxbytes; } +// Make sure maxbytes passed is within site filesize limits. +$maxbytes = get_user_max_upload_file_size($context, $CFG->maxbytes, $coursemaxbytes, $maxbytes); // Wait as long as it takes for this script to finish set_time_limit(0);