|
Lines 43-55
BEGIN {
Link Here
|
| 43 |
|
43 |
|
| 44 |
our $fields = get_fields(); |
44 |
our $fields = get_fields(); |
| 45 |
|
45 |
|
|
|
46 |
|
| 47 |
=head2 get_fields |
| 48 |
Get fields form syspref 'StatisticsFields' |
| 49 |
Returns list of valid fields, defaults to 'location|itype|ccode' |
| 50 |
if syspref is empty or does not contain valid fields |
| 51 |
=cut |
| 52 |
|
| 53 |
|
| 46 |
sub get_fields { |
54 |
sub get_fields { |
| 47 |
my $r = C4::Context->preference('StatisticsFields') || 'location|itype|ccode'; |
55 |
|
| 48 |
unless ( $r =~ m/^(\w|\d|\||-)+$/) { |
56 |
my $syspref = C4::Context->preference('StatisticsFields'); |
| 49 |
warn "Members/Statistics : Bad value for syspref StatisticsFields" if $debug; |
57 |
my $ret; |
| 50 |
$r = 'location|itype|ccode'; |
58 |
|
|
|
59 |
if ( $syspref ) { |
| 60 |
my @ret; |
| 61 |
my @spfields = split ('\|', $syspref); |
| 62 |
my $dbh=C4::Context->dbh; |
| 63 |
my $sth = $dbh->prepare('SHOW COLUMNS FROM items'); |
| 64 |
$sth->execute; |
| 65 |
my $dbfields = $sth->fetchall_hashref('Field'); |
| 66 |
$sth->finish(); |
| 67 |
|
| 68 |
foreach my $fn ( @spfields ) { |
| 69 |
push ( @ret, $fn ) if ( $dbfields->{ $fn } ); |
| 70 |
} |
| 71 |
$ret = join( '|', @ret); |
| 51 |
} |
72 |
} |
| 52 |
return $r; |
73 |
return $ret || 'location|itype|ccode'; |
| 53 |
} |
74 |
} |
| 54 |
|
75 |
|
| 55 |
=head2 construct_query |
76 |
=head2 construct_query |
| 56 |
- |
|
|