'."\n";
if ($action eq 'passwords') {
$output .= $item->{'print'}->('bottom',$dom,$confname,$settings,\$rowtotal);
@@ -6056,7 +6061,7 @@ sub print_passwords {
$datatable .= ''.
- ' ';
+ ' ';
}
}
my $checkedcase;
@@ -6160,7 +6165,7 @@ sub print_passwords {
&mt('(If you use the same account ... reset a password from this page.)').'
'.
&mt('Include custom text:');
if ($customurl) {
- my $link = &Apache::loncommon::modal_link($customurl,&mt('Custom text file'),600,500,
+ my $link = &Apache::loncommon::modal_link($customurl,&mt('custom text'),600,500,
undef,undef,undef,undef,'background-color:#ffffff');
$datatable .= ' '.$link.
''.
- ' ';
+ ' ';
}
}
my $checked;
@@ -9373,8 +9378,8 @@ function warnIntPass(field) {
alert('$intalert{passnum}');
}
}
+ field.value = '';
}
- field.value = '';
}
}
}
@@ -14565,7 +14570,7 @@ sub modify_passwords {
if ($current{'resetlink'} ne $linklife) {
$changes{'reset'} = 1;
}
- } elsif (!exists($domconfig{passwords})) {
+ } elsif (!ref($domconfig{passwords}) eq 'HASH') {
if ($staticdefaults{'resetlink'} ne $linklife) {
$changes{'reset'} = 1;
}
@@ -14586,7 +14591,7 @@ sub modify_passwords {
if (@diffs > 0) {
$changes{'reset'} = 1;
}
- } elsif (!exists($domconfig{passwords})) {
+ } elsif (!ref($domconfig{passwords}) eq 'HASH') {
my @diffs = &Apache::loncommon::compare_arrays($staticdefaults{'resetcase'},\@casesens);
if (@diffs > 0) {
$changes{'reset'} = 1;
@@ -14598,7 +14603,7 @@ sub modify_passwords {
if ($current{'resetprelink'} ne $newvalues{'resetprelink'}) {
$changes{'reset'} = 1;
}
- } elsif (!exists($domconfig{passwords})) {
+ } elsif (!ref($domconfig{passwords}) eq 'HASH') {
if ($staticdefaults{'resetprelink'} ne $newvalues{'resetprelink'}) {
$changes{'reset'} = 1;
}
@@ -14625,7 +14630,7 @@ sub modify_passwords {
} else {
$changes{'reset'} = 1;
}
- } elsif (!exists($domconfig{passwords})) {
+ } elsif (!ref($domconfig{passwords}) eq 'HASH') {
my @diffs = &Apache::loncommon::compare_arrays($staticdefaults{'resetpostlink'}{$type},\@postlink);
if (@diffs > 0) {
$changes{'reset'} = 1;
@@ -14647,7 +14652,7 @@ sub modify_passwords {
if (@diffs > 0) {
$changes{'reset'} = 1;
}
- } elsif (!exists($domconfig{passwords})) {
+ } elsif (!ref($domconfig{passwords}) eq 'HASH') {
my @diffs = &Apache::loncommon::compare_arrays($staticdefaults{'resetemail'},\@resetemail);
if (@diffs > 0) {
$changes{'reset'} = 1;
@@ -14758,6 +14763,8 @@ sub modify_passwords {
if ($staticdefaults{$rule} ne $newvalues{$rule}) {
$changes{'rules'} = 1;
}
+ } else {
+ $changes{'rules'} = 1;
}
} elsif (exists($current{$rule})) {
$changes{'rules'} = 1;
@@ -14806,7 +14813,7 @@ sub modify_passwords {
}
}
}
- } elsif (!exists($domconfig{passwords})) {
+ } elsif (!(ref($domconfig{passwords}) eq 'HASH')) {
foreach my $item ('by','for') {
if (@{$crsownerchg{$item}} > 0) {
$changes{'crsownerchg'} = 1;
@@ -14836,9 +14843,11 @@ sub modify_passwords {
$resulttext .= '
'.&mt('CAPTCHA validation set to use: original CAPTCHA').'
'.&mt('[_1] set to [_2]',$titles{$rule},$confighash{'passwords'}{$rule}).'
';
}
}
+ if (ref($confighash{'passwords'}{'chars'}) eq 'ARRAY') {
+ if (@{$confighash{'passwords'}{'chars'}} > 0) {
+ my %rulenames = &Apache::lonlocal::texthash(
+ uc => 'At least one upper case letter',
+ lc => 'At least one lower case letter',
+ num => 'At least one number',
+ spec => 'At least one non-alphanumeric',
+ );
+ my $needed = '