--- no_pager/index.cgi 2006/08/17 01:08:23 21 +++ no_pager/index.cgi 2006/08/18 09:41:35 28 @@ -88,7 +88,7 @@ my $cond = new Search::Estraier::Condition; $cond->set_phrase( $search ); - $cond->set_max( $on_page ); + $cond->set_max( $on_page * $page ); ## FIXME * $page is needed by hest 1.3.8 $cond->set_skip( $skip ); $cond->set_order( $p->{sort} ) if ($p->{sort}); @@ -97,8 +97,18 @@ my $out; if (defined($nres)) { + $v->{hits} = $nres->hits; $v->{time} = $nres->hint('TIME'); + + if ($v->{hits} == 0) { + $v->{status} = qq{No results for your search.}; + return next_page(); + } elsif ($nres->doc_num == 0) { + $v->{status} = qq{Error getting results for page $page.}; + return next_page('No results found.'); + } + $v->{max_page} = int( ($nres->hits + $on_page - 1) / $on_page ); $v->{status} = qq{ @@ -136,21 +146,26 @@ return $text; } + my @template; + open(my $t, 'result.html') || die "result.html: $!"; + while(<$t>) { + push @template, $_; + } + close($t); + # for each document in results for my $i ( 0 ... $nres->doc_num - 1 ) { my $rdoc = $nres->get_doc($i); - - $out .= '
' . html_snippet( $rdoc->snippet ) . '
' . - '' . attr_regex( $rdoc, 'source' ) . '' . - ' [' . attr_regex( $rdoc, '@size' ) . ' bytes]