MDL-14092: forcing imported users with a weak password to change it on first login.

This commit is contained in:
scyrma
2008-09-26 09:10:20 +00:00
parent 93586136d2
commit a17718ae3e
2 changed files with 14 additions and 1 deletions
+13 -1
View File
@@ -150,6 +150,8 @@ if ($formdata = $mform->is_cancelled()) {
$renameerrors = 0;
$usersskipped = 0;
$forcechangepassword = 0;
// caches
$ccache = array(); // course cache - do not fetch all courses here, we will not probably use them all anyway!
$rolecache = array(); // roles lookup cache
@@ -201,6 +203,9 @@ if ($formdata = $mform->is_cancelled()) {
if ($key == 'password') {
if ($value !== '') {
$user->password = hash_internal_user_password($value);
if (!empty($CFG->passwordpolicy) and !check_password_policy($value, $errmsg)) {
$forcechangepassword++;
}
}
} else {
$user->$key = $value;
@@ -435,6 +440,9 @@ if ($formdata = $mform->is_cancelled()) {
continue;
} else if (!empty($user->password)) {
$upt->track('password', get_string('updated'));
if ($forcechangepassword) {
set_user_preference('auth_forcepasswordchange', 1, $existinguser->id);
}
}
}
if ((array_key_exists($column, $existinguser) and array_key_exists($column, $user)) or in_array($column, $PRF_FIELDS)) {
@@ -538,6 +546,9 @@ if ($formdata = $mform->is_cancelled()) {
set_user_preference('auth_forcepasswordchange', 1, $user->id);
$upt->track('password', get_string('new'));
}
if ($forcechangepassword) {
set_user_preference('auth_forcepasswordchange', 1, $user->id);
}
} else {
// Record not added -- possibly some other error
$upt->track('status', $strusernotaddederror, 'error');
@@ -696,6 +707,7 @@ if ($formdata = $mform->is_cancelled()) {
if ($usersskipped) {
echo get_string('usersskipped', 'admin').': '.$usersskipped.'<br />';
}
echo get_string('usersweakpassword', 'admin').': '.$forcechangepassword.'<br />';
echo get_string('errors', 'admin').': '.$userserrors.'</p>';
print_box_end();
@@ -979,4 +991,4 @@ function uu_allowed_roles($shortname=false) {
return $choices;
}
?>
?>
+1
View File
@@ -742,6 +742,7 @@ $string['userrenamed'] = 'User renamed';
$string['users'] = 'Users';
$string['userscreated'] = 'Users created';
$string['usersdeleted'] = 'Users deleted';
$string['usersweakpassword'] = 'Users having a weak password';
$string['usersrenamed'] = 'Users renamed';
$string['usersskipped'] = 'Users skipped';
$string['usersupdated'] = 'Users updated';