34 |
use Data::Dumper; |
use Data::Dumper; |
35 |
$log->debug("results got params: " . Dumper( $params ) ); |
$log->debug("results got params: " . Dumper( $params ) ); |
36 |
|
|
|
my $q; |
|
37 |
my @attr; |
my @attr; |
38 |
|
my @words; |
39 |
|
|
40 |
foreach my $f (keys %{ $params }) { |
foreach my $f (keys %{ $params }) { |
41 |
|
|
43 |
|
|
44 |
my $v = $params->{$f} || next; |
my $v = $params->{$f} || next; |
45 |
|
|
46 |
push @attr, $f; |
push @words, $v; |
47 |
$q .= "$v "; |
|
48 |
|
next if ($f eq 'all'); # don't add_attr for magic field all |
49 |
|
|
50 |
|
if ($v !~ /\s/) { |
51 |
|
push @attr, "$f ISTRINC $v"; |
52 |
|
} else { |
53 |
|
map { push @attr, "$f ISTRINC $_"; } split(/\s+/, $v); |
54 |
|
} |
55 |
} |
} |
56 |
|
|
57 |
$c->stash->{results} = sub { |
my $q = join(' AND ', @words); |
58 |
my $res = $webpac->search( $q ); |
|
59 |
$log->debug("controller got " . ( $#{$res} + 1 ) . " results for '$q'"); |
$c->stash->{html_results} = sub { |
60 |
|
my $res = $webpac->search( $q, $params->{'_template'}, \@attr ); |
61 |
|
# $log->debug("controller got " . ( $#{$res} + 1 ) . " results for '$q' " . Dumper( $res )); |
62 |
return $res; |
return $res; |
63 |
}; |
}; |
64 |
|
|
65 |
|
$c->stash->{phrase} = $q; |
66 |
|
$c->stash->{attr} = \@attr; |
67 |
|
|
68 |
$c->stash->{template} = 'results.tt'; |
$c->stash->{template} = 'results.tt'; |
69 |
} |
} |
70 |
|
|