| Lines 450-456
          END_SQL
      
      
        Link Here | 
        
          | 450 |             # <date> <itemcount> <firstname> <lastname> <address1> <address2> <address3> <city> <postcode> <country> | 450 |             # <date> <itemcount> <firstname> <lastname> <address1> <address2> <address3> <city> <postcode> <country> | 
        
          | 451 |  | 451 |  | 
        
          | 452 |             my $borrower_sql = <<'END_SQL'; | 452 |             my $borrower_sql = <<'END_SQL'; | 
          
            
              | 453 | SELECT distinct(issues.borrowernumber), firstname, surname, address, address2, city, zipcode, country, email | 453 | SELECT distinct(issues.borrowernumber), firstname, surname, address, address2, city, zipcode, country, email, emailpro, B_email | 
        
          | 454 | FROM   issues,borrowers,categories | 454 | FROM   issues,borrowers,categories | 
        
          | 455 | WHERE  issues.borrowernumber=borrowers.borrowernumber | 455 | WHERE  issues.borrowernumber=borrowers.borrowernumber | 
        
          | 456 | AND    borrowers.categorycode=categories.categorycode | 456 | AND    borrowers.categorycode=categories.categorycode | 
  
    | Lines 478-501
          END_SQL
      
      
        Link Here | 
        
          | 478 |             $sth->execute(@borrower_parameters); | 478 |             $sth->execute(@borrower_parameters); | 
        
          | 479 |             $verbose and warn $borrower_sql . "\n $branchcode | " . $overdue_rules->{'categorycode'} . "\n ($mindays, $maxdays)\nreturns " . $sth->rows . " rows"; | 479 |             $verbose and warn $borrower_sql . "\n $branchcode | " . $overdue_rules->{'categorycode'} . "\n ($mindays, $maxdays)\nreturns " . $sth->rows . " rows"; | 
        
          | 480 |  | 480 |  | 
          
            
              | 481 |             while ( my ( $borrowernumber, $firstname, $lastname, | 481 |             while ( my $data = $sth->fetchrow_hashref ) { | 
            
              | 482 |                     $address1, $address2, $city, $postcode, $country, $email | 482 |                 my $borrowernumber = $data->{'borrowernumber'}; | 
            
              | 483 |                     ) = $sth->fetchrow ) | 483 |                 my $borr = | 
            
              | 484 |             { | 484 |                     $data->{'firstname'} . ', ' | 
            
              | 485 |                 $verbose and warn "borrower $firstname, $lastname ($borrowernumber) has items triggering level $i."; | 485 |                   . $data->{'surname'} . ' (' | 
            
              |  |  | 486 |                   . $borrowernumber . ')'; | 
            
              | 487 |                 $verbose | 
            
              | 488 |                   and warn "borrower $borr has items triggering level $i."; | 
            
              | 489 |  | 
        
          | 486 |                 @emails_to_use = (); | 490 |                 @emails_to_use = (); | 
          
            
              | 487 |                 if ( !$nomail) { | 491 |                 my $notice_email = | 
            
              | 488 |                     if ( @emails ) { | 492 |                     C4::Members::GetNoticeEmailAddress($borrowernumber); | 
            
              | 489 |                         my $memberinfos = C4::Members::GetMember(borrowernumber => $borrowernumber); | 493 |                 unless ($nomail) { | 
            
              |  |  | 494 |                     if (@emails) { | 
        
          | 490 |                         foreach (@emails) { | 495 |                         foreach (@emails) { | 
          
            
              | 491 |                             push @emails_to_use, $memberinfos->{$_} | 496 |                             push @emails_to_use, $data->{$_} if ( $data->{$_} ); | 
            
              | 492 |                               if ($memberinfos->{$_} ne ''); |  |  | 
        
          | 493 |                         } | 497 |                         } | 
        
          | 494 |                     } | 498 |                     } | 
        
          | 495 |                     else { | 499 |                     else { | 
          
            
              | 496 |                         $email = | 500 |                         push @emails_to_use, $notice_email if ($notice_email); | 
            
              | 497 |                           C4::Members::GetFirstValidEmailAddress($borrowernumber); |  |  | 
            
              | 498 |                         push @emails_to_use, $email if ($email ne ''); | 
        
          | 499 |                     } | 501 |                     } | 
        
          | 500 |                 } | 502 |                 } | 
        
          | 501 |  | 503 |  | 
  
    | Lines 513-519
          END_SQL
      
      
        Link Here | 
        
          | 513 |      | 515 |      | 
        
          | 514 |                     #action taken is debarring | 516 |                     #action taken is debarring | 
        
          | 515 |                     C4::Members::DebarMember($borrowernumber, '9999-12-31'); | 517 |                     C4::Members::DebarMember($borrowernumber, '9999-12-31'); | 
          
            
              | 516 |                     $verbose and warn "debarring $borrowernumber $firstname $lastname\n"; | 518 |                     $verbose and warn "debarring $borr\n"; | 
        
          | 517 |                 } | 519 |                 } | 
        
          | 518 |                 my @params = ($listall ? ( $borrowernumber , 1 , $MAX ) : ( $borrowernumber, $mindays, $maxdays )); | 520 |                 my @params = ($listall ? ( $borrowernumber , 1 , $MAX ) : ( $borrowernumber, $mindays, $maxdays )); | 
        
          | 519 |                 $verbose and warn "STH2 PARAMS: borrowernumber = $borrowernumber, mindays = $mindays, maxdays = $maxdays"; | 521 |                 $verbose and warn "STH2 PARAMS: borrowernumber = $borrowernumber, mindays = $mindays, maxdays = $maxdays"; | 
  
    | Lines 567-623
          END_SQL
      
      
        Link Here | 
        
          | 567 |                 } | 569 |                 } | 
        
          | 568 |                 $letter->{'content'} =~ s/\<[^<>]*?\>//g;    # Now that we've warned about them, remove them. | 570 |                 $letter->{'content'} =~ s/\<[^<>]*?\>//g;    # Now that we've warned about them, remove them. | 
        
          | 569 |                 $letter->{'content'} =~ s/\<[^<>]*?\>//g;    # 2nd pass for the double nesting. | 571 |                 $letter->{'content'} =~ s/\<[^<>]*?\>//g;    # 2nd pass for the double nesting. | 
          
            
              | 570 |      | 572 |  | 
            
              | 571 |                 if ($nomail) { | 573 |                 if ( !$nomail && scalar @emails_to_use ) { | 
            
              | 572 |      | 574 |                     C4::Letters::EnqueueLetter( | 
            
              |  |  | 575 |                         {   letter                 => $letter, | 
            
              | 576 |                             borrowernumber         => $borrowernumber, | 
            
              | 577 |                             message_transport_type => 'email', | 
            
              | 578 |                             from_address           => $admin_email_address, | 
            
              | 579 |                             to_address             => join(',', @emails_to_use), | 
            
              | 580 |                         } | 
            
              | 581 |                     ); | 
            
              | 582 |                 } else { | 
            
              | 583 |                     # if not sent by email then print | 
        
          | 573 |                     push @output_chunks, | 584 |                     push @output_chunks, | 
        
          | 574 |                       prepare_letter_for_printing( | 585 |                       prepare_letter_for_printing( | 
        
          | 575 |                         {   letter         => $letter, | 586 |                         {   letter         => $letter, | 
        
          | 576 |                             borrowernumber => $borrowernumber, | 587 |                             borrowernumber => $borrowernumber, | 
          
            
              | 577 |                             firstname      => $firstname, | 588 |                             firstname      => $data->{'firstname'}, | 
            
              | 578 |                             lastname       => $lastname, | 589 |                             lastname       => $data->{'surname'}, | 
            
              | 579 |                             address1       => $address1, | 590 |                             address1       => $data->{'address'}, | 
            
              | 580 |                             address2       => $address2, | 591 |                             address2       => $data->{'address2'}, | 
            
              | 581 |                             city           => $city, | 592 |                             city           => $data->{'city'}, | 
            
              | 582 |                             postcode       => $postcode, | 593 |                             postcode       => $data->{'zipcode'}, | 
            
              | 583 |                             country        => $country, | 594 |                             country        => $data->{'country'}, | 
            
              | 584 |                             email          => $email, | 595 |                             email          => $notice_email, | 
        
          | 585 |                             itemcount      => $itemcount, | 596 |                             itemcount      => $itemcount, | 
        
          | 586 |                             titles         => $titles, | 597 |                             titles         => $titles, | 
        
          | 587 |                             outputformat   => defined $csvfilename ? 'csv' : defined $htmlfilename ? 'html' : '', | 598 |                             outputformat   => defined $csvfilename ? 'csv' : defined $htmlfilename ? 'html' : '', | 
        
          | 588 |                         } | 599 |                         } | 
        
          | 589 |                       ); | 600 |                       ); | 
            
              | 590 |                 } else { |  |  | 
            
              | 591 |                     if (scalar(@emails_to_use) > 0 ) { | 
            
              | 592 |                         C4::Letters::EnqueueLetter( | 
            
              | 593 |                             {   letter                 => $letter, | 
            
              | 594 |                                 borrowernumber         => $borrowernumber, | 
            
              | 595 |                                 message_transport_type => 'email', | 
            
              | 596 |                                 from_address           => $admin_email_address, | 
            
              | 597 |                                 to_address             => join(',', @emails_to_use), | 
            
              | 598 |                             } | 
            
              | 599 |                         ); | 
            
              | 600 |                     } else { | 
            
              | 601 |      | 
            
              | 602 |                         # If we don't have an email address for this patron, send it to the admin to deal with. | 
            
              | 603 |                         push @output_chunks, | 
            
              | 604 |                           prepare_letter_for_printing( | 
            
              | 605 |                             {   letter         => $letter, | 
            
              | 606 |                                 borrowernumber => $borrowernumber, | 
            
              | 607 |                                 firstname      => $firstname, | 
            
              | 608 |                                 lastname       => $lastname, | 
            
              | 609 |                                 address1       => $address1, | 
            
              | 610 |                                 address2       => $address2, | 
            
              | 611 |                                 city           => $city, | 
            
              | 612 |                                 postcode       => $postcode, | 
            
              | 613 |                                 country        => $country, | 
            
              | 614 |                                 email          => $email, | 
            
              | 615 |                                 itemcount      => $itemcount, | 
            
              | 616 |                                 titles         => $titles, | 
            
              | 617 |                                 outputformat   => defined $csvfilename ? 'csv' : defined $htmlfilename ? 'html' : '', | 
            
              | 618 |                             } | 
            
              | 619 |                           ); | 
            
              | 620 |                     } | 
        
          | 621 |                 } | 601 |                 } | 
        
          | 622 |             } | 602 |             } | 
        
          | 623 |             $sth->finish; | 603 |             $sth->finish; | 
            
              | 624 | -  |  |  |