diff --git a/mod/lti/launch.php b/mod/lti/launch.php index f6fd502fd2a..53aaf1b0c0c 100644 --- a/mod/lti/launch.php +++ b/mod/lti/launch.php @@ -61,6 +61,20 @@ $context = context_module::instance($cm->id); require_login($course, true, $cm); require_capability('mod/lti:view', $context); +// Mark viewed by user (if required). +$completion = new completion_info($course); +$completion->set_module_viewed($cm); + +$params = array( + 'context' => $context, + 'objectid' => $lti->id +); +$event = \mod_lti\event\course_module_viewed::create($params); +$event->add_record_snapshot('course_modules', $cm); +$event->add_record_snapshot('course', $course); +$event->add_record_snapshot('lti', $lti); +$event->trigger(); + $lti->cmid = $cm->id; lti_view($lti); diff --git a/mod/lti/view.php b/mod/lti/view.php index bfb9b1005d2..7d197fac5e5 100644 --- a/mod/lti/view.php +++ b/mod/lti/view.php @@ -102,11 +102,15 @@ $params = array( 'context' => $context, 'objectid' => $lti->id ); -$event = \mod_lti\event\course_module_viewed::create($params); -$event->add_record_snapshot('course_modules', $cm); -$event->add_record_snapshot('course', $course); -$event->add_record_snapshot('lti', $lti); -$event->trigger(); + +// Prevent double logging when launching in a new window is configured. +if ($launchcontainer != LTI_LAUNCH_CONTAINER_WINDOW) { + $event = \mod_lti\event\course_module_viewed::create($params); + $event->add_record_snapshot('course_modules', $cm); + $event->add_record_snapshot('course', $course); + $event->add_record_snapshot('lti', $lti); + $event->trigger(); +} $pagetitle = strip_tags($course->shortname.': '.format_string($lti->name)); $PAGE->set_title($pagetitle);