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/>.
16
17/**
18 * Role allow switch updated event.
19 *
20 * @package    core
21 * @since      Moodle 2.6
22 * @copyright  2013 Rajesh Taneja <rajesh@moodle.com>
23 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
24 */
25
26namespace core\event;
27
28defined('MOODLE_INTERNAL') || die();
29
30/**
31 * Role allow switch updated event class.
32 *
33 * @package    core
34 * @since      Moodle 2.6
35 * @copyright  2013 Rajesh Taneja <rajesh@moodle.com>
36 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
37 */
38class role_allow_switch_updated extends base {
39    /**
40     * Initialise event parameters.
41     */
42    protected function init() {
43        $this->data['crud'] = 'u';
44        $this->data['edulevel'] = self::LEVEL_OTHER;
45        $this->data['objecttable'] = 'role_allow_switch';
46    }
47
48    /**
49     * Returns localised event name.
50     *
51     * @return string
52     */
53    public static function get_name() {
54        return get_string('eventroleallowswitchupdated', 'role');
55    }
56
57    /**
58     * Returns non-localised event description with id's for admin use only.
59     *
60     * @return string
61     */
62    public function get_description() {
63        $action = ($this->other['allow']) ? 'allow' : 'stop allowing';
64        return "The user with id '$this->userid' modified the role with id '" . $this->other['targetroleid']
65            . "' to $action users with that role from switching the role with id '" . $this->objectid . "' to users";
66    }
67
68    /**
69     * Returns relevant URL.
70     *
71     * @return \moodle_url
72     */
73    public function get_url() {
74        return new \moodle_url('/admin/roles/allow.php', array('mode' => 'switch'));
75    }
76
77    /**
78     * Returns array of parameters to be passed to legacy add_to_log() function.
79     *
80     * @return array
81     */
82    protected function get_legacy_logdata() {
83        return array(SITEID, 'role', 'edit allow switch', 'admin/roles/allow.php?mode=switch');
84    }
85}
86