diff --git a/classes/toolbox.php b/classes/toolbox.php index 2b43eb11..c3a72b68 100644 --- a/classes/toolbox.php +++ b/classes/toolbox.php @@ -104,12 +104,13 @@ public static function get_default_image_container_ratio() { */ public function get_displayed_image_uri($coursesectionimage, $coursecontextid, $sectionid, $displayediswebp) { $filename = $coursesectionimage->image; + $filetype = strtolower(pathinfo($filename ?? '', PATHINFO_EXTENSION)); if ($displayediswebp) { - $filetype = strtolower(pathinfo($filename ?? '', PATHINFO_EXTENSION)); if (!empty($filetype)) { if ($filetype != 'webp') { $filename .= '.webp'; + $filetype = 'webp'; } } else { $filename .= '.webp'; @@ -118,7 +119,7 @@ public function get_displayed_image_uri($coursesectionimage, $coursecontextid, $ $image = \moodle_url::make_pluginfile_url( $coursecontextid, 'format_grid', - 'displayedsectionimage', + $filetype === 'gif' ? 'sectionimage' : 'displayedsectionimage', $sectionid, '/' . $coursesectionimage->displayedimagestate . '/', $filename diff --git a/lib.php b/lib.php index 9c092f97..06bcaa1b 100755 --- a/lib.php +++ b/lib.php @@ -1038,7 +1038,7 @@ function format_grid_pluginfile($course, $birecordorcm, $context, $filearea, $ar // Check if user has capability to access course. require_course_login($course); - if ($filearea !== 'displayedsectionimage') { + if ($filearea !== 'sectionimage' && $filearea !== 'displayedsectionimage') { send_file_not_found(); } @@ -1047,7 +1047,7 @@ function format_grid_pluginfile($course, $birecordorcm, $context, $filearea, $ar $filename = $args[2]; $sectionid = $args[0]; - $file = $fs->get_file($context->id, 'format_grid', 'displayedsectionimage', $sectionid, '/', $filename); + $file = $fs->get_file($context->id, 'format_grid', $filearea, $sectionid, '/', $filename); if (!$file || $file->is_directory()) { send_file_not_found(); }