version 1.447.2.4, 2025/01/14 13:20:29
|
version 1.447.2.5, 2025/01/14 13:38:26
|
Line 7937 sub print_passwords {
|
Line 7937 sub print_passwords {
|
min => 'Minimum password length', |
min => 'Minimum password length', |
max => 'Maximum password length', |
max => 'Maximum password length', |
chars => 'Required characters', |
chars => 'Required characters', |
expire => 'Password expiration (days)', |
|
numsaved => 'Number of previous passwords to save and disallow reuse', |
numsaved => 'Number of previous passwords to save and disallow reuse', |
); |
); |
if ($position eq 'top') { |
if ($position eq 'top') { |
Line 8264 sub print_passwords {
|
Line 8263 sub print_passwords {
|
|
|
sub password_rules { |
sub password_rules { |
my ($prefix,$itemcountref,$settings) = @_; |
my ($prefix,$itemcountref,$settings) = @_; |
my ($min,$max,%chars,$expire,$numsaved,$numinrow); |
my ($min,$max,%chars,$numsaved,$numinrow); |
my %titles; |
my %titles; |
if ($prefix eq 'passwords') { |
if ($prefix eq 'passwords') { |
%titles = &Apache::lonlocal::texthash ( |
%titles = &Apache::lonlocal::texthash ( |
Line 8296 sub password_rules {
|
Line 8295 sub password_rules {
|
map { $chars{$_} = 1; } (@{$settings->{chars}}); |
map { $chars{$_} = 1; } (@{$settings->{chars}}); |
} |
} |
if ($prefix eq 'passwords') { |
if ($prefix eq 'passwords') { |
if ($settings->{expire}) { |
|
$expire = $settings->{expire}; |
|
} |
|
if ($settings->{numsaved}) { |
if ($settings->{numsaved}) { |
$numsaved = $settings->{numsaved}; |
$numsaved = $settings->{numsaved}; |
} |
} |
Line 8360 sub password_rules {
|
Line 8356 sub password_rules {
|
$datatable .='</table></td></tr>'; |
$datatable .='</table></td></tr>'; |
$itemcount ++; |
$itemcount ++; |
if ($prefix eq 'passwords') { |
if ($prefix eq 'passwords') { |
$titles{'expire'} = &mt('Password expiration (days)'); |
|
$titles{'numsaved'} = &mt('Number of previous passwords to save and disallow reuse'); |
$titles{'numsaved'} = &mt('Number of previous passwords to save and disallow reuse'); |
$css_class = $itemcount%2?' class="LC_odd_row"':''; |
$css_class = $itemcount%2?' class="LC_odd_row"':''; |
$datatable .= '<tr'.$css_class.'><td>'.$titles{'expire'}.'</td>'. |
|
'<td class="LC_left_item"><span class="LC_nobreak">'. |
|
'<input type="text" name="'.$prefix.'_expire" value="'.$expire.'" size="4" '. |
|
'onblur="javascript:warnInt'.$prefix.'(this);" />'. |
|
'<span class="LC_fontsize_small"> '.&mt('(Leave blank for no expiration)').'</span>'. |
|
'</span></td></tr>'; |
|
$itemcount ++; |
|
$css_class = $itemcount%2?' class="LC_odd_row"':''; |
|
$datatable .= '<tr'.$css_class.'><td>'.$titles{'numsaved'}.'</td>'. |
$datatable .= '<tr'.$css_class.'><td>'.$titles{'numsaved'}.'</td>'. |
'<td class="LC_left_item"><span class="LC_nobreak">'. |
'<td class="LC_left_item"><span class="LC_nobreak">'. |
'<input type="text" name="'.$prefix.'_numsaved" value="'.$numsaved.'" size="3" '. |
'<input type="text" name="'.$prefix.'_numsaved" value="'.$numsaved.'" size="3" '. |
Line 11752 function warnInt$prefix(field) {
|
Line 11739 function warnInt$prefix(field) {
|
field.value = ''; |
field.value = ''; |
} |
} |
if (field.value != '') { |
if (field.value != '') { |
if (field.name == '${prefix}_expire') { |
if (!regexdigit.test(field.value)) { |
var regexpposnum=/^\\d+(|\\.\\d*)\$/; |
if (field.name == '${prefix}_max') { |
if (!regexpposnum.test(field.value)) { |
alert('$intalert{passmax}'); |
alert('$intalert{passexp}'); |
|
field.value = ''; |
|
} else { |
} else { |
var expval = parseFloat(field.value); |
if (field.name == '${prefix}_numsaved') { |
if (expval == 0) { |
alert('$intalert{passnum}'); |
alert('$intalert{passexp}'); |
|
field.value = ''; |
|
} |
} |
} |
} |
} else { |
field.value = ''; |
if (!regexdigit.test(field.value)) { |
|
if (field.name == '${prefix}_max') { |
|
alert('$intalert{passmax}'); |
|
} else { |
|
if (field.name == '${prefix}_numsaved') { |
|
alert('$intalert{passnum}'); |
|
} |
|
} |
|
field.value = ''; |
|
} |
|
} |
} |
} |
} |
} |
} |
Line 18090 sub modify_passwords {
|
Line 18063 sub modify_passwords {
|
min => 'Minimum password length', |
min => 'Minimum password length', |
max => 'Maximum password length', |
max => 'Maximum password length', |
chars => 'Required characters', |
chars => 'Required characters', |
expire => 'Password expiration (days)', |
|
numsaved => 'Number of previous passwords to save', |
numsaved => 'Number of previous passwords to save', |
reset => 'Resetting Forgotten Password', |
reset => 'Resetting Forgotten Password', |
intauth => 'Encryption of Stored Passwords (Internal Auth)', |
intauth => 'Encryption of Stored Passwords (Internal Auth)', |
Line 18474 sub modify_passwords {
|
Line 18446 sub modify_passwords {
|
$resulttext .= '<li>'.&mt('[_1] set to "[_2]"',$titles{$key.'_'.$item},$value).'</li>'; |
$resulttext .= '<li>'.&mt('[_1] set to "[_2]"',$titles{$key.'_'.$item},$value).'</li>'; |
} |
} |
} elsif ($key eq 'rules') { |
} elsif ($key eq 'rules') { |
foreach my $rule ('min','max','expire','numsaved') { |
foreach my $rule ('min','max','numsaved') { |
if ($confighash{'passwords'}{$rule} eq '') { |
if ($confighash{'passwords'}{$rule} eq '') { |
if ($rule eq 'min') { |
if ($rule eq 'min') { |
$resulttext .= '<li>'.&mt('[_1] not set.',$titles{$rule}); |
$resulttext .= '<li>'.&mt('[_1] not set.',$titles{$rule}); |
Line 18569 sub password_rule_changes {
|
Line 18541 sub password_rule_changes {
|
(ref($changes) eq 'HASH')); |
(ref($changes) eq 'HASH')); |
my (@rules,%staticdefaults); |
my (@rules,%staticdefaults); |
if ($prefix eq 'passwords') { |
if ($prefix eq 'passwords') { |
@rules = ('min','max','expire','numsaved'); |
@rules = ('min','max','numsaved'); |
} elsif (($prefix eq 'ltisecrets') || ($prefix eq 'toolsecrets')) { |
} elsif (($prefix eq 'ltisecrets') || ($prefix eq 'toolsecrets')) { |
@rules = ('min','max'); |
@rules = ('min','max'); |
} |
} |
Line 18577 sub password_rule_changes {
|
Line 18549 sub password_rule_changes {
|
foreach my $rule (@rules) { |
foreach my $rule (@rules) { |
$env{'form.'.$prefix.'_'.$rule} =~ s/^\s+|\s+$//g; |
$env{'form.'.$prefix.'_'.$rule} =~ s/^\s+|\s+$//g; |
my $ruleok; |
my $ruleok; |
if ($rule eq 'expire') { |
if ($rule eq 'min') { |
if (($env{'form.'.$prefix.'_'.$rule} =~ /^\d+(|\.\d*)$/) && |
|
($env{'form.'.$prefix.'_'.$rule} ne '0')) { |
|
$ruleok = 1; |
|
} |
|
} elsif ($rule eq 'min') { |
|
if ($env{'form.'.$prefix.'_'.$rule} =~ /^\d+$/) { |
if ($env{'form.'.$prefix.'_'.$rule} =~ /^\d+$/) { |
if ($env{'form.'.$prefix.'_'.$rule} >= $staticdefaults{$rule}) { |
if ($env{'form.'.$prefix.'_'.$rule} >= $staticdefaults{$rule}) { |
$ruleok = 1; |
$ruleok = 1; |