diff options
Diffstat (limited to 'bucky2/cgi-bin/api/autocomplete')
| -rwxr-xr-x | bucky2/cgi-bin/api/autocomplete | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/bucky2/cgi-bin/api/autocomplete b/bucky2/cgi-bin/api/autocomplete new file mode 100755 index 0000000..ac42f06 --- /dev/null +++ b/bucky2/cgi-bin/api/autocomplete @@ -0,0 +1,44 @@ +#!/usr/bin/perl + +use lib "../../lib"; +use Bucky; +use Bucky::Session; +use Bucky::Search; +my $bucky = new Bucky; +my $session = new Bucky::Session; +my $q = $session->param('q'); + +print "Content-type: text/plain\n\n"; + +if (length $q) + { + my $search = new Bucky::Search; + my $guess = $search->autocomplete($q); + my $results = $search->search_light($guess->{'full'}, 0, 40); + # my $terms = $results->{terms}; + + print $guess->{'tail'} || "_"; + print "\n"; + foreach my $result (@{$results->{'results'}}) + { + my $thread = $results->{'threads'}->{ $result->{'thread'} }; + my $comment = $results->{'comments'}->{ $result->{'comment'} }; + my $file = $results->{'files'}->{ $result->{'file'} }; + my $z_thread = $thread->{'id'}; + my $z_title = $thread->{'title'}; + my $z_file = $file->{'id'}; + my $z_subtitle = $file->{'filename'}; + $z_subtitle =~ s/[^a-zA-Z0-9 ()\.]/ /g; + $z_subtitle =~ s/_/ /g; + $z_subtitle =~ s/\s+/ /g; + $z_subtitle =~ s/^\s//; + $z_subtitle =~ s/\s$//; + print join "\t", $z_thread, $z_title, $z_subtitle, $z_file; + print "\n"; + } + } +else + { + print "\n"; + } +1; |
