- 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 =~ /bookfund/ );
- $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 =~ /bookfund/ );
- $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)";
+ my %filter;
+ my %field;
+ foreach ($line, $column) {
+ $filter{$_} = [];
+ $field{$_} = $_;
+ if ( $_ =~ /closedate/ ) {
+ $filter{$_}->[0] = @$filters[0];
+ $filter{$_}->[1] = @$filters[1];
+ my $a = $_;
+ if ( $podsp == 1 ) {
+ $field{$a} = "concat(hex(weekday($a)+1),'-',dayname($a))";
+ } elsif ( $podsp == 2 ) {
+ $field{$a} = "concat(hex(month($a)),'-',monthname($a))";
+ } elsif ( $podsp == 3 ) {
+ $field{$a} = "Year($a)";
+ } else {
+ $field{$a} = $a;
+ }
+ }
+ elsif ( $_ =~ /received/ ) {
+ $filter{$_}->[0] = @$filters[2];
+ $filter{$_}->[1] = @$filters[3];
+ my $a = $_;
+ if ( $rodsp == 1 ) {
+ $field{$a} = "concat(hex(weekday($a)+1),'-',dayname($a))";
+ } elsif ( $rodsp == 2 ) {
+ $field{$a} = "concat(hex(month($a)),'-',monthname($a))";
+ } elsif ( $rodsp == 3 ) {
+ $field{$a} = "Year($a)";
+ } else {
+ $field{$a} = $a;
+ }
+ }
+ elsif ( $_ =~ /bookseller/ ) {
+ $filter{$_}->[0] = @$filters[4];
+ }
+ elsif ( $_ =~ /homebranch/ ) {
+ $filter{$_}->[0] = @$filters[5];
+ }
+ elsif ( $_ =~ /ccode/ ) {
+ $filter{$_}->[0] = @$filters[6];
+ }
+ elsif ( $_ =~ /itemtype/ ) {
+ $filter{$_}->[0] = @$filters[7];
+ }
+ elsif ( $_ =~ /budget/ ) {
+ $filter{$_}->[0] = @$filters[8];
+ }
+ elsif ( $_ =~ /sort1/ ) {
+ $filter{$_}->[0] = @$filters[9];
+ }
+ elsif ( $_ =~ /sort2/ ) {
+ $filter{$_}->[0] = @$filters[10];
+ }