@@ -, +, @@ OpacPasswordChange --- koha-tmpl/opac-tmpl/prog/en/modules/opac-passwd.tt | 10 +-- opac/opac-passwd.pl | 81 ++++++++++---------- 2 files changed, 46 insertions(+), 45 deletions(-) --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-passwd.tt +++ a/koha-tmpl/opac-tmpl/prog/en/modules/opac-passwd.tt @@ -26,18 +26,18 @@

[% END %] - [% IF ( Ask_data ) %] - [% IF ( OpacPasswordChange ) %] + [% IF ( OpacPasswordChange ) %] + [% IF ( Ask_data ) %]
[% UNLESS ( ShortPass ) %]
Your password must be at least [% minpasslen %] characters long.
[% END %]
Cancel
-
- [% ELSE %] -
You can't change your password.
+ [% END %] + [% ELSE %] +
You can't change your password.
[% END %] [% IF ( password_updated ) %] --- a/opac/opac-passwd.pl +++ a/opac/opac-passwd.pl @@ -46,57 +46,58 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user( # get borrower information .... my ( $borr ) = GetMemberDetails( $borrowernumber ); -my $sth = $dbh->prepare("UPDATE borrowers SET password = ? WHERE borrowernumber=?"); my $minpasslen = C4::Context->preference("minPasswordLength"); -if ( $query->param('Oldkey') - && $query->param('Newkey') - && $query->param('Confirm') ) -{ - if ( goodkey( $dbh, $borrowernumber, $query->param('Oldkey') ) ) { - if ( $query->param('Newkey') eq $query->param('Confirm') - && length( $query->param('Confirm') ) >= $minpasslen ) - { # Record password - my $clave = md5_base64( $query->param('Newkey') ); - $sth->execute( $clave, $borrowernumber ); - $template->param( 'password_updated' => '1' ); - $template->param( 'borrowernumber' => $borrowernumber ); +if ( C4::Context->preference("OpacPasswordChange") ) { + my $sth = $dbh->prepare("UPDATE borrowers SET password = ? WHERE borrowernumber=?"); + if ( $query->param('Oldkey') + && $query->param('Newkey') + && $query->param('Confirm') ) + { + if ( goodkey( $dbh, $borrowernumber, $query->param('Oldkey') ) ) { + if ( $query->param('Newkey') eq $query->param('Confirm') + && length( $query->param('Confirm') ) >= $minpasslen ) + { # Record password + my $clave = md5_base64( $query->param('Newkey') ); + $sth->execute( $clave, $borrowernumber ); + $template->param( 'password_updated' => '1' ); + $template->param( 'borrowernumber' => $borrowernumber ); + } + elsif ( $query->param('Newkey') ne $query->param('Confirm') ) { + $template->param( 'Ask_data' => '1' ); + $template->param( 'Error_messages' => '1' ); + $template->param( 'PassMismatch' => '1' ); + } + elsif ( length( $query->param('Confirm') ) < $minpasslen ) { + $template->param( 'Ask_data' => '1' ); + $template->param( 'Error_messages' => '1' ); + $template->param( 'ShortPass' => '1' ); + } + else { + $template->param( 'Error_messages' => '1' ); + } } - elsif ( $query->param('Newkey') ne $query->param('Confirm') ) { + else { $template->param( 'Ask_data' => '1' ); $template->param( 'Error_messages' => '1' ); - $template->param( 'PassMismatch' => '1' ); + $template->param( 'WrongPass' => '1' ); } - elsif ( length( $query->param('Confirm') ) < $minpasslen ) { - $template->param( 'Ask_data' => '1' ); + } + else { + + # Called Empty, Ask for data. + $template->param( 'Ask_data' => '1' ); + if (!$query->param('Oldkey') && ($query->param('Newkey') || $query->param('Confirm'))){ + # Old password is empty but one of the others isnt $template->param( 'Error_messages' => '1' ); - $template->param( 'ShortPass' => '1' ); + $template->param( 'WrongPass' => '1' ); } - else { + elsif ($query->param('Oldkey') && (!$query->param('Newkey') || !$query->param('Confirm'))){ + # Oldpassword is entered but one of the other fields is empty $template->param( 'Error_messages' => '1' ); + $template->param( 'PassMismatch' => '1' ); } } - else { - $template->param( 'Ask_data' => '1' ); - $template->param( 'Error_messages' => '1' ); - $template->param( 'WrongPass' => '1' ); - } -} -else { - - # Called Empty, Ask for data. - $template->param( 'Ask_data' => '1' ); - if (!$query->param('Oldkey') && ($query->param('Newkey') || $query->param('Confirm'))){ - # Old password is empty but one of the others isnt - $template->param( 'Error_messages' => '1' ); - $template->param( 'WrongPass' => '1' ); - } - elsif ($query->param('Oldkey') && (!$query->param('Newkey') || !$query->param('Confirm'))){ - # Oldpassword is entered but one of the other fields is empty - $template->param( 'Error_messages' => '1' ); - $template->param( 'PassMismatch' => '1' ); - } } - $template->param(firstname => $borr->{'firstname'}, surname => $borr->{'surname'}, minpasslen => $minpasslen, --