}
my $results;
foreach my $dir ( @directories ) {
- $results = handle_dir( $dir, $filesuffix );
+ $results = handle_dir( $dir, $filesuffix, $template );
$handled++ if $results == 1;
}
$total = scalar @directories;
} else { #if ($filetype eq 'zip' )
- $results = handle_dir( $dirname, $filesuffix );
+ $results = handle_dir( $dirname, $filesuffix, $template, $cardnumber, $tempfile );
$handled = 1;
$total = 1;
}
$template->param(cardnumber => $cardnumber);
$template->param(filetype => $filetype);
} elsif ( $op eq 'Delete' ) {
- my $dberror = RmPatronImage($cardnumber);
+ my $dberror = RmPatronImage($borrowernumber);
$debug and warn "Patron image deleted for $cardnumber";
warn "Database returned $dberror" if $dberror;
}
}
sub handle_dir {
- my ( $dir, $suffix ) = @_;
- my $source;
+ my ( $dir, $suffix, $template, $cardnumber, $source ) = @_;
$debug and warn "Entering sub handle_dir; passed \$dir=$dir, \$suffix=$suffix";
if ($suffix =~ m/zip/i) { # If we were sent a zip file, process any included data/idlink.txt files
- my ( $file, $filename, $cardnumber );
+ my ( $file, $filename );
+ undef $cardnumber;
$debug and warn "Passed a zip file.";
opendir my $dirhandle, $dir;
while ( my $filename = readdir $dirhandle ) {
$filename =~ s/[\"\r\n\s]//g;
$debug and warn "Cardnumber: $cardnumber Filename: $filename";
$source = "$dir/$filename";
- %counts = handle_file($cardnumber, $source, %counts);
+ %counts = handle_file($cardnumber, $source, $template, %counts);
}
close FILE;
closedir ($dirhandle);
} else {
- $source = $tempfile;
- %counts = handle_file($cardnumber, $source, %counts);
+ %counts = handle_file($cardnumber, $source, $template, %counts);
}
push @counts, \%counts;
return 1;
}
sub handle_file {
- my ($cardnumber, $source, %count) = @_;
+ my ($cardnumber, $source, $template, %count) = @_;
$debug and warn "Entering sub handle_file; passed \$cardnumber=$cardnumber, \$source=$source";
$count{filenames} = () if !$count{filenames};
$count{source} = $source if !$count{source};