<?php require_once '../../config.php'; require_once 'lib.php'; $id = required_param('id', PARAM_INT); // course $PAGE->set_url('/mod/chat/index.php', array('id' => $id)); if (!($course = $DB->get_record('course', array('id' => $id)))) { print_error('invalidcourseid'); } require_course_login($course); $PAGE->set_pagelayout('incourse'); $params = array('context' => context_course::instance($id)); $event = \mod_chat\event\instances_list_viewed::create($params); $event->trigger(); /// Get all required strings $strchats = get_string('modulenameplural', 'chat'); $strchat = get_string('modulename', 'chat'); /// Print the header $PAGE->navbar->add($strchats); $PAGE->set_title($strchats); $PAGE->set_heading($course->fullname); echo $OUTPUT->header(); echo $OUTPUT->heading($strchats, 2); /// Get all the appropriate data if (!($chats = get_all_instances_in_course('chat', $course))) { notice(get_string('thereareno', 'moodle', $strchats), "../../course/view.php?id={$course->id}"); die; } $usesections = course_format_uses_sections($course->format); /// Print the list of instances (your module will probably extend this)
public function test_instances_list_viewed() { global $USER; $this->resetAfterTest(); // Not much can be tested here as the event is only triggered on a page load, // let's just check that the event contains the expected basic information. $this->setAdminUser(); $course = $this->getDataGenerator()->create_course(); $params = array('context' => context_course::instance($course->id)); $event = \mod_chat\event\instances_list_viewed::create($params); $sink = $this->redirectEvents(); $event->trigger(); $events = $sink->get_events(); $event = reset($events); $this->assertInstanceOf('\\mod_chat\\event\\instances_list_viewed', $event); $this->assertEquals($USER->id, $event->userid); $this->assertEquals(context_course::instance($course->id), $event->get_context()); $expected = array($course->id, 'chat', 'view all', "index.php?id={$course->id}", ''); $this->assertEventLegacyLogData($expected, $event); }