diff options
Diffstat (limited to 'bucky2/cgi-bin/search')
| -rwxr-xr-x | bucky2/cgi-bin/search | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/bucky2/cgi-bin/search b/bucky2/cgi-bin/search new file mode 100755 index 0000000..15a89a6 --- /dev/null +++ b/bucky2/cgi-bin/search @@ -0,0 +1,184 @@ +#!/usr/bin/perl +use lib "../lib"; +use Bucky; +use Data::Dumper; + +my $session = new Bucky::Session; + +my $query = $session->param("q"); + +print <<__BODY__; +Content-type: text/html +Pragma: no-cache + +<html> + <head> + <title>bucky [SEARCH: $query]</title> + <link rel="stylesheet" href="/css/bogart.css" type="text/css"> + <link rel="shortcut icon" href="/favicon.ico"> + <style type="text/css"> + <!-- + body { background-color: #EEEEEE; } + --> + </style> + </head> + +<body> + +<center> +<table cellpadding=0 cellspacing=0 border=0> + <tr> + <td align="center" style="border: 0px;"> + +<div style="width: 900px; text-align: left; border: 0px; margin-bottom: 120px;"> +<table cellpadding=0 cellspacing=0 border=0 style="padding: 0px margin: 0px;" width=100%> +<tr><td align=left valign=bottom style="padding: 0px 4px 0px 4px;"><span class="bigtitle">bucky's backwards binoculars</span></td></tr> +</table><table width=100% cellpadding=0 cellspacing=0 border=0 style="padding: 0px margin: 0px;"> +<tr><td colspan=2 align="center"> +<hr noshade color="#201010" style="padding: 0px; margin: 2px;"> +</td></tr> +<tr> +<td align=left nowrap style="padding: 0px 4px 0px 4px;"><small> + +<span class="lite"><a href="/cgi-bin/bucky/index">home</a></span> | <a href="/cgi-bin/bucky/post">post</a> | +<a href="/cgi-bin/bucky/import">ftp</a> | +<a href="/cgi-bin/bucky/inbox">inbox</a> | +<a href="/cgi-bin/bucky/message">message</a> | +<a href="/cgi-bin/bucky/profile?c=form">profile</a> | + +<a href="/cgi-bin/bucky/logout">logout</a> +</small></td> +<td align=right nowrap style="padding: 0px 4px 0px 4px;"><small> + +</small></td></tr> +<tr><td colspan=2 align="center"> +<hr noshade color="#201010" style="padding: 0px; margin: 2px;"> +</td></tr> +</table> +__BODY__ + +print <<__SEARCH_FORM__; +<center> +<table cellspacing=0 cellpadding=0 border=0 width=900> +<tr> +<td style="width: 149px;"> </td> +<td style="padding: 10px;" align="center"> +<form action="/cgi-bin/bucky/2/search" method="get" enctype="multipart/form-data"> +<table cellpadding=0 cellspacing=0 border=0> +<tr><td style="text-align: center; vertical-align: middle;"> +<input name="q" value="$query" maxlength=1024 style="font-size: 13px; font-family: Trebuchet MS, Helvetica, Arial, sans-serif; + color: #140A0A; border: 1px #140A0A solid; padding: 1px; margin: 0px 0px 0px 0px; width: 300px;"> +</td> +<td style="text-align: center; vertical-align: middle;"> +<input type="submit" value="SEARCH" class="clicky" style="margin: 0px 0px 0px 0px;"> +</td></tr></table> +</form> +</td> +<td style="width: 149px;"> </td> +</tr> + +__SEARCH_FORM__ + +if ($query) +{ +my $start = $session->param("start"); +my $limit = $session->param("limit"); + +my $search = new Bucky::Search; +my $results = $search->search($query, $start, $limit); + +my $terms = $results->{'terms'}; +my $r = 0; + +my $z_last_start = $results->{'start'} - $results->{'limit'} + 1; +my $z_start = $results->{'start'}; +my $z_limit = $results->{'limit'}; +my $z_upto = $z_last_start + $z_limit - 1; +my $z_total = $results->{'total'}; +my $z_next; + +if ($results->{'total'} == 0) + { + my $z_next = "<center><big><big><big>No Results!</big></big></big></center>"; + print "<tr><td> <td style=\"border-top: 1px solid #b6aeab; padding: 10px;\" align=\"center\">$z_next </td>"; + } +else + { + $z_next = "<big>displaying $z_last_start-$z_upto of $z_total results ..."; + if ($z_start < $z_total) + { + $z_next .= " <big><a href=\"/cgi-bin/bucky/2/search?q=$query&start=$z_start&limit=$z_limit\">next page >></a><big></big>"; + } + } +print "<tr><td> </td><td style=\"border-bottom: 1px solid #b6aeab; padding: 10px;\" align=\"center\">$z_next </td><td></td>" if $z_next; +foreach my $result (@{$results->{'results'}}) + { + $r = $r ? 0 : 1; + 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_username = $thread->{'username'}; + my $z_title = $search->bold_terms( $thread->{'title'}, $terms); + my $z_comment = $search->bold_snippet( $comment->{'comment'}, $terms); + my $z_filename = $file->{'filename'}; + my $z_file = $search->bold_terms( $z_filename, $terms); + my $z_date = scalar localtime $thread->{'createdate'}; + my $z_strength = $result->{'strength'} . "x" . $result->{'count'}; + my $z_bigs = $result->{'count'} > ( scalar(@$terms) - 3 ) + ? "<big><big>" : "<big>"; + my $z_unbigs = $result->{'count'} > ( scalar(@$terms) - 3 ) + ? "</big></big>" : "</big>"; + my $z_img; + if ($file && $file->{'filename'} =~ /jpg/i) + { + my $filename = lc($file->{'filename'}); + $z_img = "<img src=\"/bucky/data/$z_thread/.thumb/t.$filename\">" if $filename; + } + elsif ($thread->{'flagged'}) + { + my $file = $results->{'files'}->{ $thread->{'flagged'} }; + my $filename = lc($file->{'filename'}); + $z_img = "<img src=\"/bucky/data/$z_thread/.thumb/t.$filename\">" if $filename; + } + my $z_color = "c"; + $z_color .= $r; + my $z_filelink = "<a href=\"/bucky/data/$z_thread/$z_filename\">$z_file</a>" if $z_file; + + print <<__RESULT__; +<tr> +<td align="right" valign="top" style="padding: 5px;"> +$z_img +</td> +<td align="left" valign="top" class="$z_color" style="padding: 5px; border-style: solid; border-color: #b6aeab; border-width: 0px 1px 1px 1px;"> +$z_bigs<a href="/cgi-bin/bucky/details/$z_thread"><u>$z_title</u></a>$z_unbigs<br> +<small>$z_strength</small> posted by <a href="/cgi-bin/bucky/profile/$z_username">$z_username</a> | $z_date<br> +<blockquote><big>$z_filelink $z_comment</big></blockquote> +</td> +</tr> + +__RESULT__ +# print Dumper($result); + } +print "<tr><td> </td><td style=\"padding: 10px;\" align=\"center\">$z_next </td><td></td>" if $z_next; +} + +print <<__FOOTER__; +</td></tr></table> +</td></tr></table> + +</div> + + </td> + + </tr> +</table> +</center> + +</body> +</html> + + +__FOOTER__ +1; |
