my $o = $q->{o};
my $end = $o + $nr;
my $beg = $o + 1;
- my $rv = '</pre><hr><pre>';
+ my $rv = '</pre><hr><pre id=t>';
if ($beg <= $end) {
$rv .= "Results $beg-$end of $total";
$rv .= ' (estimated)' if $end != $total;
$pct{$smsg->mid} = $i->get_percent;
$smsg;
} ($mset->items) ]});
-
+ my $r = $q->{r};
my $rootset = PublicInbox::SearchThread::thread($msgs,
- $q->{r} ? sort_relevance(\%pct) : *PublicInbox::View::sort_ts);
+ $r ? sort_relevance(\%pct) : *PublicInbox::View::sort_ts);
my $skel = search_nav_bot($mset, $q). "<pre>";
my $inbox = $ctx->{-inbox};
$ctx->{-upfx} = '';
PublicInbox::View::walk_thread($rootset, $ctx,
*PublicInbox::View::pre_thread);
-
+ @$msgs = reverse @$msgs if $r;
my $mime;
sub {
return unless $msgs;
- while ($mime = shift @$msgs) {
+ while ($mime = pop @$msgs) {
$mime = $inbox->msg_by_smsg($mime) and last;
}
if ($mime) {
sub ctx_prepare {
my ($q, $ctx) = @_;
- my $qh = ascii_html($q->{'q'});
+ my $qh = $q->{'q'};
+ utf8::decode($qh);
+ $qh = ascii_html($qh);
$ctx->{-q_value_html} = $qh;
$ctx->{-atom} = '?'.$q->qs_html(x => 'A', r => undef);
$ctx->{-title_html} = "$qh - search results";
package PublicInbox::SearchQuery;
use strict;
use warnings;
+use URI::Escape qw(uri_escape);
use PublicInbox::Hval;
-use PublicInbox::MID qw(mid_escape);
+use PublicInbox::MID qw(MID_ESC);
sub new {
my ($class, $qp) = @_;
$self = $tmp;
}
- my $q = mid_escape($self->{'q'});
+ my $q = uri_escape($self->{'q'}, MID_ESC);
$q =~ s/%20/+/g; # improve URL readability
my $qs = "q=$q";