- my @linefilter;
-
- # warn "filtres ".@filters[0];
- # warn "filtres ".@filters[1];
- # warn "filtres ".@filters[2];
- # warn "filtres ".@filters[3];
-
- $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 =~ /acquired/ );
-# $linefilter[1] = @$filters[5] if ( $line =~ /acquired/ );
-
- $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/ );
-
- #warn "filtre lignes".$linefilter[0]." ".$linefilter[1];
- #
- 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 =~ /acquired/ );
-# $colfilter[1] = @$filters[5] if ( $column =~ /acquired/ );
- $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/ );
-
- #warn "filtre col ".$colfilter[0]." ".$colfilter[1];
-
-# warn "line=$line, podsp=$podsp, rodsp=$rodsp, aodsp=$aodsp\n";
-
- # 1st, loop rows.
- my $linefield;
- if ( ( $line =~ /closedate/ ) and ( $podsp == 1 ) ) {
-
- #Display by day
- $linefield .= "dayname($line)";
- }
- elsif ( ( $line =~ /closedate/ ) and ( $podsp == 2 ) ) {
-
- #Display by Month
- $linefield .= "monthname($line)";
- }
- elsif ( ( $line =~ /closedate/ ) and ( $podsp == 3 ) ) {
-
- #Display by Year
- $linefield .= "Year($line)";
-
- }
- elsif ( ( $line =~ /received/ ) and ( $rodsp == 1 ) ) {
-
- #Display by day
- $linefield .= "dayname($line)";
- }
- elsif ( ( $line =~ /received/ ) and ( $rodsp == 2 ) ) {
-
- #Display by Month
- $linefield .= "monthname($line)";
- }
- elsif ( ( $line =~ /received/ ) and ( $rodsp == 3 ) ) {
-
- #Display by Year
- $linefield .= "Year($line)";
-
- }
-# elsif ( ( $line =~ /acquired/ ) and ( $aodsp == 1 ) ) {
-#
-# #Display by day
-# $linefield .= "dayname($line)";
-# }
-# elsif ( ( $line =~ /acquired/ ) and ( $aodsp == 2 ) ) {
-#
-# #Display by Month
-# $linefield .= "monthname($line)";
-# }
-# elsif ( ( $line =~ /acquired/ ) and ( $aodsp == 3 ) ) {
-#
-# #Display by Year
-# $linefield .= "Year($line)";
-#
-# }
- else {
- $linefield .= $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];
+ }
+ }