summaryrefslogtreecommitdiff
path: root/bucky2/cgi-bin/api/autocomplete
diff options
context:
space:
mode:
Diffstat (limited to 'bucky2/cgi-bin/api/autocomplete')
-rwxr-xr-xbucky2/cgi-bin/api/autocomplete44
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;