/[webpac2]/Webpacus/lib/Webpacus/Controller/Results.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /Webpacus/lib/Webpacus/Controller/Results.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 98 by dpavlin, Tue Nov 22 12:57:41 2005 UTC revision 139 by dpavlin, Thu Nov 24 22:29:50 2005 UTC
# Line 3  package Webpacus::Controller::Results; Line 3  package Webpacus::Controller::Results;
3  use strict;  use strict;
4  use warnings;  use warnings;
5  use base qw/Catalyst::Controller/;  use base qw/Catalyst::Controller/;
6    use Data::Dumper;
7    
8  =head1 NAME  =head1 NAME
9    
# Line 31  sub default : Private { Line 32  sub default : Private {
32      my $params = $c->req->params;      my $params = $c->req->params;
33      my $log = $c->log;      my $log = $c->log;
34    
35  use Data::Dumper;      $log->debug("results got params: " . Dumper( $params ) );
     $log->debug("got params: " . Dumper( $params ) );  
36    
     my $q;  
37      my @attr;      my @attr;
38        my @words;
39        # default operator to join fields/words
40        my $operator = 'AND';
41    
42      foreach my $f (keys %{ $params }) {      foreach my $f (keys %{ $params }) {
43    
# Line 43  use Data::Dumper; Line 45  use Data::Dumper;
45    
46          my $v = $params->{$f} || next;          my $v = $params->{$f} || next;
47    
48          push @attr, $f;          if (my $op = $params->{ '_' . $f}) {
49          $q .= "$v ";                  push @words, join(" $op ", split(/\s+/, $v) );
50            } else {
51                    push @words, $v;
52            }
53    
54            next if ($f eq 'all');  # don't add_attr for magic field all
55    
56            if ($v !~ /\s/) {
57                    push @attr, "$f ISTRINC $v";
58            } else {
59                    map { push @attr, "$f ISTRINC $_"; } split(/\s+/, $v);
60            }
61      }      }
62    
63      $c->stash->{results} = sub {          my $q = join(" $operator ", @words);
64          my $res = $webpac->search( $q );  
65          $log->debug("got ", $#{$res} + 1, "results for " . Dumper($q));          my $template = $params->{'_template'};
66            $log->debug("using template $template");
67    
68        $c->stash->{html_results} = sub {
69            my $res = $webpac->search( $q, $template, \@attr );
70    #       $log->debug("controller got " . ( $#{$res} + 1 ) . " results for '$q' " . Dumper( $res ));
71          return $res;          return $res;
72      };      };
73    
74        $c->stash->{phrase} = $q;
75        $c->stash->{attr} = \@attr;
76    
77      $c->stash->{template} = 'results.tt';      $c->stash->{template} = 'results.tt';
78  }  }
79    

Legend:
Removed from v.98  
changed lines
  Added in v.139

  ViewVC Help
Powered by ViewVC 1.1.26