diff --git a/admin/tool/uploaduser/index.php b/admin/tool/uploaduser/index.php index a45cb47e42e..b50156ffc2f 100644 --- a/admin/tool/uploaduser/index.php +++ b/admin/tool/uploaduser/index.php @@ -669,7 +669,7 @@ if ($formdata = $mform2->is_cancelled()) { if ($doupdate or $existinguser->password !== $oldpw) { // We want only users that were really updated. - user_update_user($existinguser, false); + user_update_user($existinguser, false, false); $upt->track('status', $struserupdated); $usersupdated++; @@ -687,6 +687,9 @@ if ($formdata = $mform2->is_cancelled()) { } } + // Trigger event. + \core\event\user_updated::create_from_userid($existinguser->id)->trigger(); + } else { // no user information changed $upt->track('status', $struseruptodate); @@ -800,7 +803,7 @@ if ($formdata = $mform2->is_cancelled()) { $upt->track('password', '-', 'normal', false); } - $user->id = user_create_user($user, false); + $user->id = user_create_user($user, false, false); $upt->track('username', html_writer::link(new moodle_url('/user/profile.php', array('id'=>$user->id)), s($user->username)), 'normal', false); // pre-process custom profile menu fields data from csv file @@ -815,6 +818,9 @@ if ($formdata = $mform2->is_cancelled()) { set_user_preference('create_password', 1, $user); } + // Trigger event. + \core\event\user_created::create_from_userid($user->id)->trigger(); + $upt->track('status', $struseradded); $upt->track('id', $user->id, 'normal', false); $usersnew++; diff --git a/auth/email/auth.php b/auth/email/auth.php index b071e3252d9..2c36eabcb33 100644 --- a/auth/email/auth.php +++ b/auth/email/auth.php @@ -94,11 +94,14 @@ class auth_plugin_email extends auth_plugin_base { $user->calendartype = $CFG->calendartype; } - $user->id = user_create_user($user, false); + $user->id = user_create_user($user, false, false); // Save any custom profile field information. profile_save_data($user); + // Trigger event. + \core\event\user_created::create_from_userid($user->id)->trigger(); + if (! send_confirmation_email($user)) { print_error('auth_emailnoemail','auth_email'); } diff --git a/auth/ldap/auth.php b/auth/ldap/auth.php index 9004e267c47..cc1374e3dd7 100644 --- a/auth/ldap/auth.php +++ b/auth/ldap/auth.php @@ -551,7 +551,7 @@ class auth_plugin_ldap extends auth_plugin_base { print_error('auth_ldap_create_error', 'auth_ldap'); } - $user->id = user_create_user($user, false); + $user->id = user_create_user($user, false, false); // Save any custom profile field information profile_save_data($user); @@ -564,6 +564,8 @@ class auth_plugin_ldap extends auth_plugin_base { $user = $DB->get_record('user', array('id'=>$user->id)); + \core\event\user_created::create_from_userid($user->id)->trigger(); + if (! send_confirmation_email($user)) { print_error('noemail', 'auth_ldap'); } @@ -1027,7 +1029,7 @@ class auth_plugin_ldap extends auth_plugin_base { } } } - user_update_user($newuser, false); + user_update_user($newuser, false, false); } } else { return false; diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 9b85c0304d9..018dd908404 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -4029,7 +4029,7 @@ function create_user_record($username, $password, $auth = 'manual') { $newuser->timemodified = $newuser->timecreated; $newuser->mnethostid = $CFG->mnet_localhost_id; - $newuser->id = user_create_user($newuser, false); + $newuser->id = user_create_user($newuser, false, false); // Save user profile data. profile_save_data($newuser); @@ -4041,6 +4041,9 @@ function create_user_record($username, $password, $auth = 'manual') { // Set the password. update_internal_user_password($user, $password); + // Trigger event. + \core\event\user_created::create_from_userid($newuser->id)->trigger(); + return $user; } @@ -4111,10 +4114,13 @@ function update_user_record_by_id($id) { if ($newuser) { $newuser['id'] = $oldinfo->id; $newuser['timemodified'] = time(); - user_update_user((object) $newuser, false); + user_update_user((object) $newuser, false, false); // Save user profile data. profile_save_data((object) $newuser); + + // Trigger event. + \core\event\user_updated::create_from_userid($newuser['id'])->trigger(); } } @@ -4273,7 +4279,8 @@ function delete_user(stdClass $user) { $updateuser->picture = 0; $updateuser->timemodified = time(); - user_update_user($updateuser, false); + // Don't trigger update event, as user is being deleted. + user_update_user($updateuser, false, false); // Now do a final accesslib cleanup - removes all role assignments in user context and context itself. context_helper::delete_instance(CONTEXT_USER, $user->id); diff --git a/user/edit.php b/user/edit.php index c15475a1e0a..e6282c76d5e 100644 --- a/user/edit.php +++ b/user/edit.php @@ -220,7 +220,7 @@ if ($usernew = $userform->get_data()) { } // Update user with new profile data. - user_update_user($usernew, false); + user_update_user($usernew, false, false); // Update preferences. useredit_update_user_preference($usernew); @@ -244,6 +244,9 @@ if ($usernew = $userform->get_data()) { // Save custom profile fields data. profile_save_data($usernew); + // Trigger event. + \core\event\user_updated::create_from_userid($user->id)->trigger(); + // If email was changed and confirmation is required, send confirmation email now to the new address. if ($emailchanged && $CFG->emailchangeconfirmation) { $tempuser = $DB->get_record('user', array('id' => $user->id), '*', MUST_EXIST);