From 1337d29583550e9664e8444b34478851ad91945b Mon Sep 17 00:00:00 2001 From: scyrma Date: Fri, 26 Sep 2008 08:09:47 +0000 Subject: [PATCH] MDL-16700: Making the password policy be applied all at once. (merge from 1.9) Also, any policy letting a user use password "password" is not worth using, so removing this check. --- lib/moodlelib.php | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 9131f22006..26782d3d33 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -3360,22 +3360,23 @@ function check_password_policy($password, &$errmsg) { $textlib = textlib_get_instance(); $errmsg = ''; if ($textlib->strlen($password) < $CFG->minpasswordlength) { - $errmsg = get_string('errorminpasswordlength', 'auth', $CFG->minpasswordlength); + $errmsg .= '
'. get_string('errorminpasswordlength', 'auth', $CFG->minpasswordlength) .'
'; - } else if (preg_match_all('/[[:digit:]]/u', $password, $matches) < $CFG->minpassworddigits) { - $errmsg = get_string('errorminpassworddigits', 'auth', $CFG->minpassworddigits); - - } else if (preg_match_all('/[[:lower:]]/u', $password, $matches) < $CFG->minpasswordlower) { - $errmsg = get_string('errorminpasswordlower', 'auth', $CFG->minpasswordlower); + } + if (preg_match_all('/[[:digit:]]/u', $password, $matches) < $CFG->minpassworddigits) { + $errmsg .= '
'. get_string('errorminpassworddigits', 'auth', $CFG->minpassworddigits) .'
'; - } else if (preg_match_all('/[[:upper:]]/u', $password, $matches) < $CFG->minpasswordupper) { - $errmsg = get_string('errorminpasswordupper', 'auth', $CFG->minpasswordupper); + } + if (preg_match_all('/[[:lower:]]/u', $password, $matches) < $CFG->minpasswordlower) { + $errmsg .= '
'. get_string('errorminpasswordlower', 'auth', $CFG->minpasswordlower) .'
'; - } else if (preg_match_all('/[^[:upper:][:lower:][:digit:]]/u', $password, $matches) < $CFG->minpasswordnonalphanum) { - $errmsg = get_string('errorminpasswordnonalphanum', 'auth', $CFG->minpasswordnonalphanum); + } + if (preg_match_all('/[[:upper:]]/u', $password, $matches) < $CFG->minpasswordupper) { + $errmsg .= '
'. get_string('errorminpasswordupper', 'auth', $CFG->minpasswordupper) .'
'; - } else if ($password == 'admin' or $password == 'password') { - $errmsg = get_string('unsafepassword'); + } + if (preg_match_all('/[^[:upper:][:lower:][:digit:]]/u', $password, $matches) < $CFG->minpasswordnonalphanum) { + $errmsg .= '
'. get_string('errorminpasswordnonalphanum', 'auth', $CFG->minpasswordnonalphanum) .'
'; } if ($errmsg == '') { -- 2.39.5