From ceb2da3b774502b9548e19f72edc6b6a4ba1f5d5 Mon Sep 17 00:00:00 2001 From: Dan Marsden Date: Thu, 1 Jul 2021 14:23:22 +1200 Subject: [PATCH] MDL-72054 assign: pass course/coursemodule to assign_files --- mod/assign/locallib.php | 3 ++- mod/assign/renderable.php | 9 +++++++-- mod/assign/renderer.php | 6 ++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/mod/assign/locallib.php b/mod/assign/locallib.php index 037b2692f04..a65cdb1c3fa 100644 --- a/mod/assign/locallib.php +++ b/mod/assign/locallib.php @@ -6125,7 +6125,8 @@ class assign { public function render_area_files($component, $area, $submissionid) { global $USER; - return $this->get_renderer()->assign_files($this->context, $submissionid, $area, $component); + return $this->get_renderer()->assign_files($this->context, $submissionid, $area, $component, + $this->course, $this->coursemodule); } diff --git a/mod/assign/renderable.php b/mod/assign/renderable.php index 6167ca09157..936be1649af 100644 --- a/mod/assign/renderable.php +++ b/mod/assign/renderable.php @@ -891,11 +891,16 @@ class assign_files implements renderable { * @param int $sid * @param string $filearea * @param string $component + * @param stdClass $course + * @param stdClass $cm */ - public function __construct(context $context, $sid, $filearea, $component) { + public function __construct(context $context, $sid, $filearea, $component, $course = null, $cm = null) { global $CFG; + if (empty($course) || empty($cm)) { + list($context, $course, $cm) = get_context_info_array($context->id); + } + $this->context = $context; - list($context, $course, $cm) = get_context_info_array($context->id); $this->cm = $cm; $this->course = $course; $fs = get_file_storage(); diff --git a/mod/assign/renderer.php b/mod/assign/renderer.php index 9625b4ef31a..19476ed5a6c 100644 --- a/mod/assign/renderer.php +++ b/mod/assign/renderer.php @@ -44,10 +44,12 @@ class mod_assign_renderer extends plugin_renderer_base { * @param int $userid * @param string $filearea * @param string $component + * @param stdClass $course + * @param stdClass $coursemodule * @return string */ - public function assign_files(context $context, $userid, $filearea, $component) { - return $this->render(new assign_files($context, $userid, $filearea, $component)); + public function assign_files(context $context, $userid, $filearea, $component, $course = null, $coursemodule = null) { + return $this->render(new assign_files($context, $userid, $filearea, $component, $course, $coursemodule)); } /**