From bf40dbdcb5cb405ced74d0771ac3e9828fe5a81b Mon Sep 17 00:00:00 2001 From: Blou <philippe.blouin@inlibro.com> Date: Mon, 17 Sep 2018 16:34:19 -0400 Subject: [PATCH] Bug 20023: Password recovery using email should be case insensitive Content-Type: text/plain; charset=utf-8 When entering an email to recover the password, a user should not have to know or remember the casing of the given email. Test 0) enable OpacResetPassword 1) On the OPAC, click "Forgot your password" 2) Enter your email address as in your user account BUT WITH A DIFFERENT CASING 3) Submit. This will fail. 4) Apply the patch, redo with success. Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> --- opac/opac-password-recovery.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opac/opac-password-recovery.pl b/opac/opac-password-recovery.pl index e553744..4c28b0f 100755 --- a/opac/opac-password-recovery.pl +++ b/opac/opac-password-recovery.pl @@ -73,7 +73,7 @@ if ( $query->param('sendEmail') || $query->param('resendEmail') ) { $errMultipleAccountsForEmail = 1; } elsif ( $borrower = $search_results->next() ) { # One matching borrower - my @emails = ( $borrower->email, $borrower->emailpro, $borrower->B_email ); + my @emails = ( $borrower->email || '', $borrower->emailpro || '', $borrower->B_email || ''); my $firstNonEmptyEmail = ''; foreach my $address ( @emails ) { @@ -82,7 +82,7 @@ if ( $query->param('sendEmail') || $query->param('resendEmail') ) { } # Is the given email one of the borrower's ? - if ( $email && !( grep { $_ eq $email } @emails ) ) { + if ( $email && !( grep /^$email$/i, @emails ) ) { $hasError = 1; $errNoBorrowerFound = 1; } -- 2.1.4