@@ -, +, @@ --- about.pl | 3 ++- cpanfile | 1 - members/memberentry.pl | 8 ++++---- opac/opac-memberentry.pl | 8 ++++---- opac/opac-shareshelf.pl | 10 ++-------- 5 files changed, 12 insertions(+), 18 deletions(-) --- a/about.pl +++ a/about.pl @@ -24,6 +24,7 @@ use Modern::Perl; use CGI qw ( -utf8 ); use DateTime::TimeZone; +use Email::Address; use File::Slurp qw( read_file ); use List::MoreUtils qw( any ); use Module::Load::Conditional qw( can_load ); @@ -192,7 +193,7 @@ my $warnPrefAnonymousPatronAnonSuggestions_PatronDoesNotExist = ( $AnonymousPatr my $warnPrefAnonymousPatronOPACPrivacy_PatronDoesNotExist = ( not $anonymous_patron and Koha::Patrons->search({ privacy => 2 })->count ); -my $warnPrefKohaAdminEmailAddress = not Email::Valid->address(C4::Context->preference('KohaAdminEmailAddress')); +my $warnPrefKohaAdminEmailAddress = C4::Context->preference('KohaAdminEmailAddress') !~ m/$Email::Address::mailbox/; my $c = Koha::Items->filter_by_visible_in_opac->count; my @warnings = C4::Context->dbh->selectrow_array('SHOW WARNINGS'); --- a/cpanfile +++ a/cpanfile @@ -39,7 +39,6 @@ requires 'Email::Date', '1.103'; requires 'Email::MessageID', '1.406'; requires 'Email::Sender', '1.300030'; requires 'Email::Stuffer', '0.014'; -requires 'Email::Valid', '0.190'; requires 'Exception::Class', '1.38'; requires 'File::Slurp', '9999.13'; requires 'Font::TTF', '0.45'; --- a/members/memberentry.pl +++ a/members/memberentry.pl @@ -44,7 +44,7 @@ use Koha::Patron::Categories; use Koha::Patron::HouseboundRole; use Koha::Patron::HouseboundRoles; use Koha::Token; -use Email::Valid; +use Email::Address; use Koha::SMS::Providers; my $input = CGI->new; @@ -386,13 +386,13 @@ if ($op eq 'save' || $op eq 'insert'){ my $emailalt = $input->param('B_email'); if ($emailprimary) { - push (@errors, "ERROR_bad_email") if (!Email::Valid->address($emailprimary)); + push (@errors, "ERROR_bad_email") if ($emailprimary !~ m/$Email::Address::mailbox/); } if ($emailsecondary) { - push (@errors, "ERROR_bad_email_secondary") if (!Email::Valid->address($emailsecondary)); + push (@errors, "ERROR_bad_email_secondary") if ($emailsecondary !~ m/$Email::Address::mailbox/); } if ($emailalt) { - push (@errors, "ERROR_bad_email_alternative") if (!Email::Valid->address($emailalt)); + push (@errors, "ERROR_bad_email_alternative") if ($emailalt !~ m/$Email::Address::mailbox/); } if (C4::Context->preference('ExtendedPatronAttributes') and $input->param('setting_extended_patron_attributes')) { --- a/opac/opac-memberentry.pl +++ a/opac/opac-memberentry.pl @@ -34,7 +34,7 @@ use Koha::Patron::Consent; use Koha::Patron::Modification; use Koha::Patron::Modifications; use C4::Scrubber; -use Email::Valid; +use Email::Address; use Koha::DateUtils qw( dt_from_string output_pref ); use Koha::Libraries; use Koha::Patron::Attribute::Types; @@ -439,7 +439,7 @@ sub CheckForInvalidFields { my $borrower = shift; my @invalidFields; if ($borrower->{'email'}) { - unless ( Email::Valid->address($borrower->{'email'}) ) { + unless ( $borrower->{'email'} =~ m/$Email::Address::mailbox/ ) { push(@invalidFields, "email"); } elsif ( C4::Context->preference("PatronSelfRegistrationEmailMustBeUnique") ) { my $patrons_with_same_email = Koha::Patrons->search( # FIXME Should be search_limited? @@ -465,10 +465,10 @@ sub CheckForInvalidFields { delete $borrower->{'repeat_email'}; } if ($borrower->{'emailpro'}) { - push(@invalidFields, "emailpro") if (!Email::Valid->address($borrower->{'emailpro'})); + push(@invalidFields, "emailpro") if ($borrower->{'emailpro'} !~ m/$Email::Address::mailbox/); } if ($borrower->{'B_email'}) { - push(@invalidFields, "B_email") if (!Email::Valid->address($borrower->{'B_email'})); + push(@invalidFields, "B_email") if ($borrower->{'B_email'} !~ m/$Email::Address::mailbox/); } if ( defined $borrower->{'password'} and $borrower->{'password'} ne $borrower->{'password2'} ) --- a/opac/opac-shareshelf.pl +++ a/opac/opac-shareshelf.pl @@ -25,7 +25,7 @@ use constant SHELVES_URL => '/cgi-bin/koha/opac-shelves.pl?display=privateshelves&viewshelf='; use CGI qw ( -utf8 ); -use Email::Valid; +use Email::Address; use C4::Auth qw( get_template_and_user ); use C4::Context; @@ -195,7 +195,7 @@ sub process_addrlist { foreach my $a (@temp) { $a =~ s/^\s+//; $a =~ s/\s+$//; - if ( IsEmailAddress($a) ) { + if ( $a =~ m/$Email::Address::mailbox/ ) { push @appr_addr, $a; } else { @@ -296,12 +296,6 @@ sub load_template_vars { ); } -sub IsEmailAddress { - - #TODO candidate for a module? - return Email::Valid->address( $_[0] ) ? 1 : 0; -} - sub randomlist { #uses rand, safe enough for this application but not for more sensitive data --