- my @misses = grep { /./ } map { /^([^>]*)[>]+/; ( $1 || '' ); } split /\</, $letter->{'content'};
- if (@misses) {
- $verbose and warn "The following terms were not matched and replaced: \n\t" . join "\n\t", @misses;
- }
- $letter->{'content'} =~ s/\<[^<>]*?\>//g; # Now that we've warned about them, remove them.
- $letter->{'content'} =~ s/\<[^<>]*?\>//g; # 2nd pass for the double nesting.
-
- if ($nomail) {
-
- push @output_chunks,
- prepare_letter_for_printing(
- { letter => $letter,
- borrowernumber => $borrowernumber,
- firstname => $firstname,
- lastname => $lastname,
- address1 => $address1,
- address2 => $address2,
- city => $city,
- postcode => $postcode,
- email => $email,
- itemcount => $itemcount,
- titles => $titles,
- outputformat => defined $csvfilename ? 'csv' : defined $htmlfilename ? 'html' : '',
+ my @message_transport_types = @{ GetOverdueMessageTransportTypes( $branchcode, $overdue_rules->{categorycode}, $i) };
+ @message_transport_types = @{ GetOverdueMessageTransportTypes( q{}, $overdue_rules->{categorycode}, $i) }
+ unless @message_transport_types;
+
+
+ my $print_sent = 0; # A print notice is not yet sent for this patron
+ for my $mtt ( @message_transport_types ) {
+
+ my $letter = parse_letter(
+ { letter_code => $overdue_rules->{"letter$i"},
+ borrowernumber => $borrowernumber,
+ branchcode => $branchcode,
+ items => \@items,
+ substitute => { # this appears to be a hack to overcome incomplete features in this code.
+ bib => $branch_details->{'branchname'}, # maybe 'bib' is a typo for 'lib<rary>'?
+ 'items.content' => $titles,
+ 'count' => $itemcount,
+ },
+ message_transport_type => $mtt,