// Pass a true old $user here. if (!$authplugin->user_update($user, $usernew)) { // Auth update failed. print_error('cannotupdateprofile'); } // Update user with new profile data. user_update_user($usernew, false, false); // Update preferences. useredit_update_user_preference($usernew); // Update interests. if (isset($usernew->interests)) { useredit_update_interests($usernew, $usernew->interests); } // Update user picture. if (empty($CFG->disableuserimages)) { useredit_update_picture($usernew, $userform, $filemanageroptions); } // Update mail bounces. useredit_update_bounces($user, $usernew); // Update forum track preference. useredit_update_trackforums($user, $usernew); // 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); $tempuser->email = $usernew->preference_newemail; $a = new stdClass(); $a->url = $CFG->wwwroot . '/user/emailupdate.php?key=' . $usernew->preference_newemailkey . '&id=' . $user->id;
$usercreated = false; } $usercontext = get_context_instance(CONTEXT_USER, $usernew->id); //update preferences useredit_update_user_preference($usernew); // update tags if (!empty($CFG->usetags) and empty($USER->newadminuser)) { useredit_update_interests($usernew, $usernew->interests); } //update user picture if (!empty($CFG->gdversion) and empty($USER->newadminuser)) { useredit_update_picture($usernew, $userform); } // update mail bounces useredit_update_bounces($user, $usernew); // update forum track preference useredit_update_trackforums($user, $usernew); // save custom profile fields data profile_save_data($usernew); // reload from db $usernew = $DB->get_record('user', array('id'=>$usernew->id)); // trigger events