mirror of
https://github.com/moodle/moodle.git
synced 2025-03-17 14:10:08 +01:00
Merged from MOODLE_15_STABLE - Enable reset password functinoality for LDAP and other external auth mechanisms as promised in the auth config page
This commit is contained in:
parent
4e980e5a92
commit
f209eb9d34
@ -3795,10 +3795,28 @@ function reset_password_and_mail($user) {
|
||||
$site = get_site();
|
||||
$from = get_admin();
|
||||
|
||||
$external = false;
|
||||
if (!is_internal_auth($user->auth)) {
|
||||
include_once($CFG->dirroot . '/auth/' . $user->auth . '/lib.php');
|
||||
if (empty($CFG->{'auth_'.$user->auth.'_stdchangepassword'})
|
||||
|| !function_exists('auth_user_update_password')) {
|
||||
trigger_error("Attempt to reset user password for user $user->username with Auth $user->auth.");
|
||||
return false;
|
||||
} else {
|
||||
$external = true;
|
||||
}
|
||||
}
|
||||
|
||||
$newpassword = generate_password();
|
||||
|
||||
if (! set_field('user', 'password', md5($newpassword), 'id', $user->id) ) {
|
||||
error('Could not set user password!');
|
||||
if ($external) {
|
||||
if (!auth_user_update_password($user->username, $newpassword)) {
|
||||
error("Could not set user password!");
|
||||
}
|
||||
} else {
|
||||
if (! set_field("user", "password", md5($newpassword), "id", $user->id) ) {
|
||||
error("Could not set user password!");
|
||||
}
|
||||
}
|
||||
|
||||
$a->firstname = $user->firstname;
|
||||
|
@ -55,8 +55,10 @@
|
||||
</form>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($CFG->changepassword or is_internal_auth() ) {
|
||||
if (is_internal_auth()) {
|
||||
<?php if (!empty($CFG->{'auth_'.$CFG->auth.'_stdchangepassword'})
|
||||
|| $CFG->changepassword
|
||||
|| is_internal_auth() ) {
|
||||
if (is_internal_auth() || !empty($CFG->{'auth_'.$CFG->auth.'_stdchangepassword'})) {
|
||||
$changepassword = "forgot_password.php";
|
||||
$changebuttonname = get_string("senddetails");
|
||||
} else {
|
||||
|
Loading…
x
Reference in New Issue
Block a user