Merge branch 'MDL-59298-master' of git://github.com/rezaies/moodle

This commit is contained in:
Eloy Lafuente (stronk7)
2019-04-15 23:53:58 +02:00
8 changed files with 179 additions and 24 deletions
+39
View File
@@ -758,6 +758,45 @@ class auth_plugin_base {
}
return $data;
}
/**
* Returns information on how the specified user can change their password.
*
* @param stdClass $user A user object
* @return string[] An array of strings with keys subject and message
*/
public function get_password_change_info(stdClass $user) : array {
$site = get_site();
$systemcontext = context_system::instance();
$data = new stdClass();
$data->firstname = $user->firstname;
$data->lastname = $user->lastname;
$data->username = $user->username;
$data->sitename = format_string($site->fullname);
$data->admin = generate_email_signoff();
if ($this->can_change_password() and $this->change_password_url()) {
// We have some external url for password changing.
$data->link = $this->change_password_url();
} else {
// No way to change password, sorry.
$data->link = '';
}
if (!empty($data->link) and has_capability('moodle/user:changeownpassword', $systemcontext, $user->id)) {
$subject = get_string('emailpasswordchangeinfosubject', '', format_string($site->fullname));
$message = get_string('emailpasswordchangeinfo', '', $data);
} else {
$subject = get_string('emailpasswordchangeinfosubject', '', format_string($site->fullname));
$message = get_string('emailpasswordchangeinfofail', '', $data);
}
return [
'subject' => $subject,
'message' => $message
];
}
}
/**