0

I want to run a small piece of code when my students complete the tutorials I've published on moodle. How can I do this, I'm waiting for your help.

Serkan Gün
  • 332
  • 1
  • 2
  • 12

1 Answers1

1

You can respond to events in Moodle

For example, you could respond to the course_completed event in a local plugin

In /local/yourplugin/db/events.php

Have something like

$observers = array(

    array(
        'eventname' => '\core\event\course_completed',
        'callback' => 'local_yourplugin_observer::course_completed',
    ),

Then in /local/yourplugin/classes/observer.php

Have something like

class local_yourplugin_observer {

/**
 * Triggered when 'course_completed' event is triggered.
 *
 * @param \core\event\course_completed $event
 * @return bool
 */
public static function course_completed(\core\event\course_completed $event) {

    $userid = !empty($event->relateduserid) ? $event->relateduserid : $event->userid;
    $courseid = $event->courseid;

    // Your code here
}
Russell England
  • 9,436
  • 1
  • 27
  • 41