--- loncom/interface/lonpreferences.pm 2019/04/24 21:12:44 1.230 +++ loncom/interface/lonpreferences.pm 2019/05/06 18:19:16 1.234 @@ -1,7 +1,7 @@ # The LearningOnline Network # Preferences # -# $Id: lonpreferences.pm,v 1.230 2019/04/24 21:12:44 raeburn Exp $ +# $Id: lonpreferences.pm,v 1.234 2019/05/06 18:19:16 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1310,7 +1310,7 @@ sub passwordchanger { ); return; } - } else { + } else { $r->print( '

' .&mt('Sorry, the URL generated when you requested reset of' @@ -1619,7 +1619,7 @@ ENDERROR &mt('Please try again.').'',$caller,$mailtoken); return 1; } - } + } if ($newpass1 ne $newpass2) { &passwordchanger($r, ''. @@ -1627,12 +1627,23 @@ ENDERROR &mt('Please try again.').'',$caller,$mailtoken); return 1; } - if (length($newpass1) < 7) { - &passwordchanger($r, - ''. - &mt('Passwords must be a minimum of 7 characters long.').' '. - &mt('Please try again.').'',$caller,$mailtoken); - return 1; + if ($currentauth eq 'unix:') { + if (length($newpass1) < 7) { + &passwordchanger($r, + ''. + &mt('Passwords must be a minimum of 7 characters long.').' '. + &mt('Please try again.').'',$caller,$mailtoken); + return 1; + } + } else { + my $warning = &Apache::loncommon::check_passwd_rules($domain,$newpass1); + if ($warning) { + &passwordchanger($r,''. + $warning. + &mt('Please try again.').'', + $caller,$mailtoken); + return 1; + } } # # Check for bad characters @@ -1680,8 +1691,14 @@ ENDERROR return $result; } } else { + my $feedback; + if ($result eq 'prioruse') { + $feedback = &mt('Please enter a password that you have not used recently.'); + } else { + $feedback = &mt('Please make sure your old password was entered correctly.'); + } $message = &Apache::lonhtmlcommon::confirm_success( - &mt("The password for user [_1] was not changed.",''.$user.'').' '.&mt('Please make sure your old password was entered correctly.'),1); + &mt("The password for user [_1] was not changed.",''.$user.'').' '.$feedback,1); $message=&Apache::loncommon::confirmwrapper($message); &print_main_menu($r, $message); if (ref($ended)) {