diff --git a/lib/filelib.php b/lib/filelib.php index 4a63c7f14d3..626b3349612 100644 --- a/lib/filelib.php +++ b/lib/filelib.php @@ -4303,6 +4303,14 @@ function file_pluginfile($relativepath, $forcedownload, $preview = null) { require_login(); } + // Check if user can view this category. + if (!has_capability('moodle/category:viewhiddencategories', $context)) { + $coursecatvisible = $DB->get_field('course_categories', 'visible', array('id' => $context->instanceid)); + if (!$coursecatvisible) { + send_file_not_found(); + } + } + $filename = array_pop($args); $filepath = $args ? '/'.implode('/', $args).'/' : '/'; if (!$file = $fs->get_file($context->id, 'coursecat', 'description', 0, $filepath, $filename) or $file->is_directory()) {