Bug 11491: (QA follow-up) updated license and use Modern::Perl
[koha_fer] / opac / opac-memberentry.pl
index 039d499..76fd32b 100755 (executable)
@@ -26,6 +26,7 @@ use C4::Output;
 use C4::Members;
 use Koha::Borrower::Modifications;
 use C4::Branch qw(GetBranchesLoop);
+use C4::Scrubber;
 
 my $cgi = new CGI;
 my $dbh = C4::Context->dbh;
@@ -59,7 +60,7 @@ $template->param(
     action            => $action,
     hidden            => GetHiddenFields(),
     mandatory         => GetMandatoryFields($action),
-    member_titles     => GetTitles(),
+    member_titles     => GetTitles() || undef,
     branches          => GetBranchesLoop(),
     OPACPatronDetails => C4::Context->preference('OPACPatronDetails'),
 );
@@ -107,7 +108,7 @@ if ( $action eq 'create' ) {
 
             Koha::Borrower::Modifications->new(
                 verification_token => $verification_token )
-              ->AddModifications(%borrower);
+              ->AddModifications(\%borrower);
 
             #Send verification email
             my $letter = C4::Letters::GetPreparedLetter(
@@ -188,15 +189,26 @@ elsif ( $action eq 'update' ) {
             borrowernumber => $borrowernumber );
 
         $m->DelModifications;
-        $m->AddModifications(%borrower_changes);
+        $m->AddModifications(\%borrower_changes);
         $template->param(
             borrower => GetMember( borrowernumber => $borrowernumber ),
         );
     }
 }
 elsif ( $action eq 'edit' ) {    #Display logged in borrower's data
+    my $borrower = GetMember( borrowernumber => $borrowernumber );
     $template->param(
-        borrower => GetMember( borrowernumber => $borrowernumber ), );
+        borrower => $borrower, );
+
+    if (C4::Context->preference('OPACpatronimages')) {
+        my ($image, $dberror) = GetPatronImage($borrower->{borrowernumber});
+        if ($image) {
+            $template->param(
+                display_patron_image => 1
+            );
+        }
+    }
+
 }
 
 my $captcha = random_string("CCCCC");
@@ -265,12 +277,13 @@ sub CheckMandatoryFields {
 sub ParseCgiForBorrower {
     my ($cgi) = @_;
 
+    my $scrubber = C4::Scrubber->new();
     my %borrower;
 
     foreach ( $cgi->param ) {
         if ( $_ =~ '^borrower_' ) {
             my ($key) = substr( $_, 9 );
-            $borrower{$key} = $cgi->param($_);
+            $borrower{$key} = $scrubber->scrub( $cgi->param($_) );
         }
     }