MDL-40919 mod_survey: replaced add_to_log with events
[moodle.git] / mod / survey / classes / event / report_viewed.php
1 <?php
2 // This file is part of Moodle - http://moodle.org/
3 //
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
17 /**
18  * Event triggered, when survey report is viewed.
19  *
20  * @property-read array $other Extra information about the event.
21  *     -string action: (optional) report view.
22  *     -int groupid: (optional) report for groupid.
23  *
24  * @package    mod_survey
25  * @copyright  2014 Rajesh Taneja <rajesh@moodle.com>
26  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
27  */
29 namespace mod_survey\event;
31 defined('MOODLE_INTERNAL') || die();
33 class report_viewed extends \core\event\base {
35     /**
36      * Set basic properties for the event.
37      */
38     protected function init() {
39         $this->data['objecttable'] = 'survey';
40         $this->data['crud'] = 'r';
41         $this->data['edulevel'] = self::LEVEL_OTHER;
42     }
44     /**
45      * Return localised event name.
46      *
47      * @return string
48      */
49     public static function get_name() {
50         return get_string('eventreportviewed', 'mod_survey');
51     }
53     /**
54      * Returns description of what happened.
55      *
56      * @return string
57      */
58     public function get_description() {
59         return "User with id '$this->userid' viewed survey report for survey with instance id '$this->objectid'";
60     }
62     /**
63      * Get URL related to the action.
64      *
65      * @return \moodle_url
66      */
67     public function get_url() {
68         return new \moodle_url("/mod/survey/report.php", array('id' => $this->contextinstanceid,
69             'action' => $this->other['action']));
70     }
72     /**
73      * Return the legacy event log data.
74      *
75      * @return array
76      */
77     protected function get_legacy_logdata() {
78         return array($this->courseid, "survey", "view report", "report.php?id=" . $this->contextinstanceid, $this->objectid,
79                      $this->contextinstanceid);
80     }
81 }