diff --git a/mod/lesson/classes/event/course_module_viewed.php b/mod/lesson/classes/event/course_module_viewed.php new file mode 100644 index 00000000000..36255331827 --- /dev/null +++ b/mod/lesson/classes/event/course_module_viewed.php @@ -0,0 +1,39 @@ +<?php +// This file is part of Moodle - http://moodle.org/ +// +// Moodle is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Moodle is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Moodle. If not, see <http://www.gnu.org/licenses/>. + +/** + * Course module viewed event. + * + * @package mod_lesson + * @copyright 2013 Mark Nelson <markn@moodle.com> + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace mod_lesson\event; + +defined('MOODLE_INTERNAL') || die(); + +class course_module_viewed extends \core\event\course_module_viewed { + + /** + * Set basic properties for the event. + */ + protected function init() { + $this->data['objecttable'] = 'lesson'; + $this->data['crud'] = 'r'; + $this->data['level'] = self::LEVEL_PARTICIPATING; + } +} diff --git a/mod/lesson/view.php b/mod/lesson/view.php index e73435fe550..133c7be80cb 100644 --- a/mod/lesson/view.php +++ b/mod/lesson/view.php @@ -287,7 +287,13 @@ if ($pageid != LESSON_EOL) { $page = $lesson->load_page($newpageid); } - add_to_log($PAGE->course->id, 'lesson', 'view', 'view.php?id='. $PAGE->cm->id, $page->id, $PAGE->cm->id); + // Trigger module viewed event. + $event = \mod_lesson\event\course_module_viewed::create(array( + 'objectid' => $lesson->id, + 'context' => $context, + 'courseid' => $course->id + )); + $event->trigger(); // This is where several messages (usually warnings) are displayed // all of this is displayed above the actual page