From 44f9fb5150d652b5ead1e0ff6164c567bf9e9c8d Mon Sep 17 00:00:00 2001 From: Mark Sharp Date: Fri, 9 May 2025 12:31:32 +0100 Subject: [PATCH] MDL-85419 core_courseformat: Move event trigger to after cm cache purge --- course/format/classes/local/sectionactions.php | 5 ++++- course/format/classes/stateactions.php | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/course/format/classes/local/sectionactions.php b/course/format/classes/local/sectionactions.php index 741e00b4412..2eb1e5ee0d8 100644 --- a/course/format/classes/local/sectionactions.php +++ b/course/format/classes/local/sectionactions.php @@ -438,12 +438,15 @@ class sectionactions extends baseactions { if ($modupdated) { $cmids[] = $cm->id; - course_module_updated::create_from_cm($cm)->trigger(); } } \course_modinfo::purge_course_modules_cache($this->course->id, $cmids); rebuild_course_cache($this->course->id, false, true); + foreach ($cmids as $cmid) { + $cm = get_coursemodule_from_id(null, $cmid, $this->course->id); + course_module_updated::create_from_cm($cm)->trigger(); + } } /** diff --git a/course/format/classes/stateactions.php b/course/format/classes/stateactions.php index dd3c0b31d68..4d5f80ba98e 100644 --- a/course/format/classes/stateactions.php +++ b/course/format/classes/stateactions.php @@ -543,14 +543,14 @@ class stateactions { $coursevisible = ($allowstealth) ? 0 : 1; } set_coursemodule_visible($cm->id, $visible, $coursevisible, false); - $modcontext = context_module::instance($cm->id); - course_module_updated::create_from_cm($cm, $modcontext)->trigger(); } course_modinfo::purge_course_modules_cache($course->id, $ids); rebuild_course_cache($course->id, false, true); $delegatedsections = []; foreach ($cms as $cm) { + $modcontext = context_module::instance($cm->id); + course_module_updated::create_from_cm($cm, $modcontext)->trigger(); $updates->add_cm_put($cm->id); if (!$delegatedsection = $cm->get_delegated_section_info()) { continue;