From 7fa0d47cda72c96b831d167eb6ca0d8a417b1387 Mon Sep 17 00:00:00 2001 From: Corey Wallis Date: Mon, 31 Aug 2015 10:19:27 +0930 Subject: [PATCH] MDL-50811 mod_forum: Add completion tracking for emailed replies --- mod/forum/classes/message/inbound/reply_handler.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mod/forum/classes/message/inbound/reply_handler.php b/mod/forum/classes/message/inbound/reply_handler.php index e033498ca9a..f88c6323d0a 100644 --- a/mod/forum/classes/message/inbound/reply_handler.php +++ b/mod/forum/classes/message/inbound/reply_handler.php @@ -29,6 +29,7 @@ defined('MOODLE_INTERNAL') || die(); require_once($CFG->dirroot . '/mod/forum/lib.php'); require_once($CFG->dirroot . '/repository/lib.php'); +require_once($CFG->libdir . '/completionlib.php'); /** * A Handler to process replies to forum posts. @@ -244,6 +245,14 @@ class reply_handler extends \core\message\inbound\handler { $event->add_record_snapshot('forum_discussions', $discussion); $event->trigger(); + // Update completion state. + $completion = new \completion_info($course); + if ($completion->is_enabled($cm) && ($forum->completionreplies || $forum->completionposts)) { + $completion->update_state($cm, COMPLETION_COMPLETE); + + mtrace("--> Updating completion status for user {$USER->id} in forum {$forum->id} for post {$addpost->id}."); + } + mtrace("--> Created a post {$addpost->id} in {$discussion->id}."); return $addpost; }