} if ($user and !empty($user->confirmed)) { $userauth = get_auth_plugin($user->auth); if (has_capability('moodle/user:changeownpassword', $systemcontext, $user->id)) { // send email (make sure mail block is off) $user->emailstop = 0; } if ($userauth->can_reset_password() and is_enabled_auth($user->auth) and has_capability('moodle/user:changeownpassword', $systemcontext, $user->id)) { // send reset password confirmation // set 'secret' string $user->secret = random_string(15); if (!set_field('user', 'secret', $user->secret, 'id', $user->id)) { error('error setting user secret string'); } // Added: to call calendar ws to edit user. - 07.20.2011 - jam editUserProfilePassword($user->username, $user->username, $user->secret); if (!send_password_change_confirmation_email($user)) { error('error sending password change confirmation email'); } } else { if (!send_password_change_info($user)) { error('error sending password change confirmation email'); } } } print_header($strforgotten, $strforgotten, $navigation); if (empty($user->email) or !empty($CFG->protectusernames)) { // Print general confirmation message notice(get_string('emailpasswordconfirmmaybesent'), $CFG->wwwroot . '/index.php'); } else { // Confirm email sent
if (createUserProfile($username, $usernew)) { if (!($usernew->id = insert_record('user', $usernew))) { admin_moodlefailed_email($usernew, 'addUser', $course); error('Error creating user record'); } // Insert the user_custom_profile_field for timezone $rec = new object(); $rec->userid = $usernew->id; $rec->fieldid = 4; $rec->data = $timezone; insert_record('user_info_data', $rec); // Insert the user_custom_profile_field for companyname $rec = new object(); $rec->userid = $usernew->id; $rec->fieldid = 2; $rec->data = $companyname; insert_record('user_info_data', $rec); // reload from db $usernew = get_record('user', 'id', $usernew->id); // setUserTimeZone($usernew->id, $zone); setWSUserDefaultTimeZone('admin', $usernew); editUserProfilePassword("admin", $usernew->username, $password); if (!addQSUser($usernew)) { admin_signuperror_email($usernew); //error('An error has occured, please try again shortly.'); } } else { $usercreated = false; //deleteQSUser($usernew); admin_webservicefailed_email($usernew, 'addUser', $course); }
echo '<br> get_record for user companyname was successful'; $rec->data = $companyname; if (!update_record('user_info_data', $rec)) { echo '<br> update_record for user companyname was NOT successful'; admin_moodlefailed_email($usernew, 'modifyUser', $course); error('Error updating user companyname record'); } echo '<br> update_record for user companyname was successful'; // reload from db $usernew = get_record('user', 'id', $usernew->id); // setUserTimeZone($usernew->id, $zone); setWSUserDefaultTimeZone('admin', $usernew); //set new password if specified if (!empty($password)) { echo '<br> password is being set to ' . $password; if (!editUserProfilePassword('admin', $usernew->username, $password)) { echo "<br> editUserProfilePassword for \$usernew->username {$usernew->username} and \$password {$password} was NOT successful"; admin_moodlefailed_email($usernew, 'modifyUser', $course); error('Error updating user password'); } echo "<br> editUserProfilePassword for \$usernew->username {$usernew->username} and \$password {$password} was successful"; } else { echo '<br> password will NOT change'; } } else { $useredited = false; //deleteQSUser($usernew); admin_webservicefailed_email($usernew, 'modifyUser', $course); } } else { modifyQSUser($olduserinfo);
/** * Resets specified user's password and send the new password to the user via email. * * @uses $CFG * @param user $user A {@link $USER} object * @return bool|string Returns "true" if mail was sent OK, "emailstop" if email * was blocked by user and "false" if there was another sort of error. */ function reset_password_and_mail($user) { global $CFG; // Added by SMS: 7/28/2011 require_once $CFG->dirroot . '/mod/scheduler/fullcalendar/calendar.php'; $site = get_site(); $supportuser = generate_email_supportuser(); $userauth = get_auth_plugin($user->auth); if (!$userauth->can_reset_password() or !is_enabled_auth($user->auth)) { trigger_error("Attempt to reset user password for user {$user->username} with Auth {$user->auth}."); return false; } $newpassword = generate_password(); // Edited by SMS: 7/28/2011 if (editUserProfilePassword($user->username, $user->username, $newpassword)) { if (!$userauth->user_update_password(addslashes_recursive($user), addslashes($newpassword))) { error("Could not set user password!"); } } else { error("Could not set user password!"); } /* if (!$userauth->user_update_password(addslashes_recursive($user), addslashes($newpassword))) { error("Could not set user password!"); } */ $a = new object(); $a->firstname = $user->firstname; $a->lastname = $user->lastname; $a->sitename = format_string($site->fullname); $a->username = $user->username; $a->newpassword = $newpassword; $a->link = $CFG->httpswwwroot . '/login/change_password.php'; $a->signoff = generate_email_signoff($user); $message = get_string('newpasswordtext', '', $a); $subject = format_string($site->fullname) . ': ' . get_string('changedpassword'); return email_to_user($user, $supportuser, $subject, $message); }
print_error('nopasswordchange', 'auth'); } if ($changeurl = $userauth->change_password_url()) { // this internal scrip not used redirect($changeurl); } $mform = new login_change_password_form(); $mform->set_data(array('id' => $course->id)); $navlinks = array(); $navlinks[] = array('name' => $strparticipants, 'link' => "{$CFG->wwwroot}/user/index.php?id={$course->id}", 'type' => 'misc'); if ($mform->is_cancelled()) { redirect($CFG->wwwroot . '/user/view.php?id=' . $USER->id . '&course=' . $course->id); } else { if ($data = $mform->get_data()) { // Added: to call calendar ws to edit user. if (editUserProfilePassword($USER->username, $USER->username, $data->newpassword1)) { if (!$userauth->user_update_password(addslashes_recursive($USER), $data->newpassword1)) { print_error('errorpasswordupdate', 'auth'); } } else { print_error('errorpasswordupdate', 'auth'); } // register success changing password unset_user_preference('auth_forcepasswordchange', $USER->id); $strpasswordchanged = get_string('passwordchanged'); add_to_log($course->id, 'user', 'change password', "view.php?id={$USER->id}&course={$course->id}", "{$USER->id}"); $fullname = fullname($USER, true); $navlinks[] = array('name' => $fullname, 'link' => "{$CFG->wwwroot}/user/view.php?id={$USER->id}&course={$course->id}", 'type' => 'misc'); $navlinks[] = array('name' => $strpasswordchanged, 'link' => null, 'type' => 'misc'); $navigation = build_navigation($navlinks); print_header($strpasswordchanged, $strpasswordchanged, $navigation);