MDL-50891 useragent: Move web crawler checks to useragent class
[moodle.git] / lib / classes / event / user_created.php
blobd6aa4391e8a42c206bd108eb52efb532cd5d9873
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.
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 * User created event.
20 * @package core
21 * @copyright 2013 Rajesh Taneja <rajesh@moodle.com>
22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
25 namespace core\event;
27 defined('MOODLE_INTERNAL') || die();
29 /**
30 * Event when new user profile is created.
32 * @package core
33 * @since Moodle 2.6
34 * @copyright 2013 Rajesh Taneja <rajesh@moodle.com>
35 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
37 class user_created extends base {
39 /**
40 * Initialise required event data properties.
42 protected function init() {
43 $this->data['objecttable'] = 'user';
44 $this->data['crud'] = 'c';
45 $this->data['edulevel'] = self::LEVEL_OTHER;
48 /**
49 * Returns localised event name.
51 * @return string
53 public static function get_name() {
54 return get_string('eventusercreated');
57 /**
58 * Returns non-localised event description with id's for admin use only.
60 * @return string
62 public function get_description() {
63 return "The user with id '$this->userid' created the user with id '$this->objectid'.";
66 /**
67 * Returns relevant URL.
69 * @return \moodle_url
71 public function get_url() {
72 return new \moodle_url('/user/view.php', array('id' => $this->objectid));
75 /**
76 * Return name of the legacy event, which is replaced by this event.
78 * @return string legacy event name
80 public static function get_legacy_eventname() {
81 return 'user_created';
84 /**
85 * Return user_created legacy event data.
87 * @return \stdClass user data.
89 protected function get_legacy_eventdata() {
90 return $this->get_record_snapshot('user', $this->objectid);
93 /**
94 * Returns array of parameters to be passed to legacy add_to_log() function.
96 * @return array
98 protected function get_legacy_logdata() {
99 return array(SITEID, 'user', 'add', '/view.php?id='.$this->objectid, fullname($this->get_legacy_eventdata()));
103 * Custom validation.
105 * @throws \coding_exception
106 * @return void
108 protected function validate_data() {
109 parent::validate_data();
111 if (!isset($this->relateduserid)) {
112 debugging('The \'relateduserid\' value must be specified in the event.', DEBUG_DEVELOPER);
113 $this->relateduserid = $this->objectid;
118 * Create instance of event.
120 * @since Moodle 2.6.4, 2.7.1
122 * @param int $userid id of user
123 * @return user_created
125 public static function create_from_userid($userid) {
126 $data = array(
127 'objectid' => $userid,
128 'relateduserid' => $userid,
129 'context' => \context_user::instance($userid)
132 // Create user_created event.
133 $event = self::create($data);
134 return $event;