- my @linefilter;
-
- $linefilter[0] = @$filters[0] if ( $line =~ /closedate/ );
- $linefilter[1] = @$filters[1] if ( $line =~ /closedate/ );
- $linefilter[0] = @$filters[2] if ( $line =~ /received/ );
- $linefilter[1] = @$filters[3] if ( $line =~ /received/ );
-
- $linefilter[0] = @$filters[4] if ( $line =~ /bookseller/ );
- $linefilter[0] = @$filters[5] if ( $line =~ /itemtype/ );
- $linefilter[0] = @$filters[6] if ( $line =~ /budget/ );
- $linefilter[0] = @$filters[7] if ( $line =~ /sort1/ );
- $linefilter[0] = @$filters[8] if ( $line =~ /sort2/ );
-
- my @colfilter;
- $colfilter[0] = @$filters[0] if ( $column =~ /closedate/ );
- $colfilter[1] = @$filters[1] if ( $column =~ /closedate/ );
- $colfilter[0] = @$filters[2] if ( $column =~ /received/ );
- $colfilter[1] = @$filters[3] if ( $column =~ /received/ );
-
- $colfilter[0] = @$filters[4] if ( $column =~ /bookseller/ );
- $colfilter[0] = @$filters[5] if ( $column =~ /itemtype/ );
- $colfilter[0] = @$filters[6] if ( $column =~ /budget/ );
- $colfilter[0] = @$filters[7] if ( $column =~ /sort1/ );
- $colfilter[0] = @$filters[8] if ( $column =~ /sort2/ );
-
- # 1st, loop rows.
- my $linefield;
- if ( ( $line =~ /closedate/ ) and ( $podsp == 1 ) ) {
-
- #Display by day
- $linefield .= "concat(hex(weekday($line)+1),'-',dayname($line))";
- }
- elsif ( ( $line =~ /closedate/ ) and ( $podsp == 2 ) ) {
-
- #Display by Month
- $linefield .= "concat(hex(month($line)),'-',monthname($line))";
- }
- elsif ( ( $line =~ /closedate/ ) and ( $podsp == 3 ) ) {
-
- #Display by Year
- $linefield .= "Year($line)";
-
- }
- elsif ( ( $line =~ /received/ ) and ( $rodsp == 1 ) ) {
-
- #Display by day
- $linefield .= "concat(hex(weekday($line)+1),'-',dayname($line))";
- }
- elsif ( ( $line =~ /received/ ) and ( $rodsp == 2 ) ) {
-
- #Display by Month
- $linefield .= "concat(hex(month($line)),'-',monthname($line))";
+ my %filter;
+ my %field;
+ foreach ($line, $column) {
+ $filter{$_} = [];
+ $field{$_} = $_;
+ given ($_) {
+ when (/closedate/) {
+ $filter{$_}->[0] = @$filters[0];
+ $filter{$_}->[1] = @$filters[1];
+ my $a = $_;
+ given ($podsp) {
+ when (1) { $field{$a} = "concat(hex(weekday($a)+1),'-',dayname($a))" }
+ when (2) { $field{$a} = "concat(hex(month($a)),'-',monthname($a))" }
+ when (3) { $field{$a} = "Year($a)" }
+ default { $field{$a} = $a }
+ }
+ }
+ when (/received/) {
+ $filter{$_}->[0] = @$filters[2];
+ $filter{$_}->[1] = @$filters[3];
+ my $a = $_;
+ given ($rodsp) {
+ when (1) { $field{$a} = "concat(hex(weekday($a)+1),'-',dayname($a))" }
+ when (2) { $field{$a} = "concat(hex(month($a)),'-',monthname($a))" }
+ when (3) { $field{$a} = "Year($a)" }
+ default { $field{$a} = $a }
+ }
+ }
+ when (/bookseller/) {
+ $filter{$_}->[0] = @$filters[4];
+ }
+ when (/homebranch/) {
+ $filter{$_}->[0] = @$filters[5];
+ }
+ when (/ccode/) {
+ $filter{$_}->[0] = @$filters[6];
+ }
+ when (/itemtype/) {
+ $filter{$_}->[0] = @$filters[7];
+ }
+ when (/budget/) {
+ $filter{$_}->[0] = @$filters[8];
+ }
+ when (/sort1/) {
+ $filter{$_}->[0] = @$filters[9];
+ }
+ when (/sort2/) {
+ $filter{$_}->[0] = @$filters[10];
+ }
+ }