| 
      
            Lines 242-247
          sub SearchMember {
      
      
        Link Here
      
     | 
  
        
          | 242 | 
              my @results;  | 
          242 | 
              my @results;  | 
        
        
          | 243 | 
              $data = $sth->fetchall_arrayref({}); | 
          243 | 
              $data = $sth->fetchall_arrayref({}); | 
        
        
          | 244 | 
           | 
          244 | 
           | 
        
            
               | 
               | 
              245 | 
                  $sth->finish;  | 
            
            
              | 246 | 
               | 
            
            
              | 247 | 
                  $query = "SELECT borrowers.*, categories.* FROM borrowers   | 
            
            
              | 248 | 
                  LEFT JOIN categories ON borrowers.categorycode=categories.categorycode  | 
            
            
              | 249 | 
                  LEFT JOIN statistics ON borrowers.borrowernumber = statistics.borrowernumber  | 
            
            
              | 250 | 
                  WHERE statistics.type = 'card_replaced' AND statistics.other = ? GROUP BY statistics.other";  | 
            
            
              | 251 | 
                  $sth = $dbh->prepare( $query );  | 
            
            
              | 252 | 
                  $sth->execute( $searchstring );  | 
            
            
              | 253 | 
                  my $prevcards_data = $sth->fetchall_arrayref({}); | 
            
            
              | 254 | 
                  foreach my $row ( @$prevcards_data ) { | 
            
            
              | 255 | 
                    $row->{'PreviousCardnumber'} = 1; | 
            
            
              | 256 | 
                  }  | 
            
            
              | 257 | 
                        | 
            
            
              | 258 | 
                  $data = [ @$prevcards_data, @$data ];  | 
            
            
              | 259 | 
               | 
            
        
          | 245 | 
              return ( scalar(@$data), $data );  | 
          260 | 
              return ( scalar(@$data), $data );  | 
        
        
          | 246 | 
          }  | 
          261 | 
          }  | 
        
        
          | 247 | 
           | 
          262 | 
           | 
        
  
    | 
      
            Lines 705-710
          true on success, or false on failure
      
      
        Link Here
      
     | 
  
        
          | 705 | 
           | 
          720 | 
           | 
        
        
          | 706 | 
          sub ModMember { | 
          721 | 
          sub ModMember { | 
        
        
          | 707 | 
              my (%data) = @_;  | 
          722 | 
              my (%data) = @_;  | 
        
            
               | 
               | 
              723 | 
                  my $dbh = C4::Context->dbh;  | 
            
            
              | 724 | 
                    | 
            
            
              | 725 | 
                  my $member = GetMemberDetails( $data{'borrowernumber'} ); | 
            
            
              | 726 | 
                    | 
            
            
              | 727 | 
                  if ( $member->{'cardnumber'} ne  $data{'cardnumber'} ) { | 
            
            
              | 728 | 
                    C4::Stats::UpdateStats( C4::Context->userenv->{branch}, 'card_replaced', '', $member->{'cardnumber'}, '', '', $data{'borrowernumber'} ); | 
            
            
              | 729 | 
                  }  | 
            
            
              | 730 | 
               | 
            
            
              | 731 | 
                  my $iso_re = C4::Dates->new()->regexp('iso'); | 
            
            
              | 732 | 
                  foreach (qw(dateofbirth dateexpiry dateenrolled)) { | 
            
            
              | 733 | 
                      if (my $tempdate = $data{$_}) {                                 # assignment, not comparison | 
            
            
              | 734 | 
                          ($tempdate =~ /$iso_re/) and next;                          # Congatulations, you sent a valid ISO date.  | 
            
            
              | 735 | 
                          warn "ModMember given $_ not in ISO format ($tempdate)";  | 
            
            
              | 736 | 
                          my $tempdate2 = format_date_in_iso($tempdate);  | 
            
            
              | 737 | 
                          if (!$tempdate2 or $tempdate2 eq '0000-00-00') { | 
            
            
              | 738 | 
                              warn "ModMember cannot convert '$tempdate' (from syspref to ISO)";  | 
            
            
              | 739 | 
                              next;  | 
            
            
              | 740 | 
                          }  | 
            
            
              | 741 | 
                          $data{$_} = $tempdate2; | 
            
            
              | 742 | 
                      }  | 
            
            
              | 743 | 
                  }  | 
            
            
              | 744 | 
                  if (!$data{'dateofbirth'}){ | 
            
            
              | 745 | 
                      delete $data{'dateofbirth'}; | 
            
            
              | 746 | 
                  }  | 
            
            
              | 747 | 
                  my @columns = &columns;  | 
            
            
              | 748 | 
                  my %hashborrowerfields = (map {$_=>1} @columns); | 
            
            
              | 749 | 
                  my $query = "UPDATE borrowers SET \n";  | 
            
            
              | 750 | 
                  my $sth;  | 
            
            
              | 751 | 
                  my @parameters;    | 
            
            
              | 752 | 
                    | 
            
        
          | 708 | 
              # test to know if you must update or not the borrower password  | 
          753 | 
              # test to know if you must update or not the borrower password  | 
        
        
          | 709 | 
              if (exists $data{password}) { | 
          754 | 
              if (exists $data{password}) { | 
        
        
          | 710 | 
                  if ($data{password} eq '****' or $data{password} eq '') { | 
          755 | 
                  if ($data{password} eq '****' or $data{password} eq '') { |