]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/SearchView.pm
cleanup: use '$ibx' consistently when referring to Inbox refs
[public-inbox.git] / lib / PublicInbox / SearchView.pm
index bf4415f011b8ea79603a1de8c4da348b312e9d08..7ef6b075bf60a5b18080f43dafc6380b407258c9 100644 (file)
@@ -10,7 +10,7 @@ use PublicInbox::SearchMsg;
 use PublicInbox::Hval qw/ascii_html obfuscate_addrs/;
 use PublicInbox::View;
 use PublicInbox::WwwAtomStream;
-use PublicInbox::MID qw(mid2path mid_mime mid_clean mid_escape MID_ESC);
+use PublicInbox::MID qw(MID_ESC);
 use PublicInbox::MIME;
 require PublicInbox::Git;
 require PublicInbox::SearchThread;
@@ -22,6 +22,7 @@ sub mbox_results {
        my ($ctx) = @_;
        my $q = PublicInbox::SearchQuery->new($ctx->{qp});
        my $x = $q->{x};
+       require PublicInbox::Mbox;
        return PublicInbox::Mbox::mbox_all($ctx, $q->{'q'}) if $x eq 'm';
        sres_top_html($ctx);
 }
@@ -117,11 +118,11 @@ sub mset_summary {
                        obfuscate_addrs($obfs_ibx, $s);
                        obfuscate_addrs($obfs_ibx, $f);
                }
-               my $ts = PublicInbox::View::fmt_ts($smsg->ts);
+               my $date = PublicInbox::View::fmt_ts($smsg->ds);
                my $mid = PublicInbox::Hval->new_msgid($smsg->mid)->{href};
                $$res .= qq{$rank. <b><a\nhref="$mid/">}.
                        $s . "</a></b>\n";
-               $$res .= "$pfx  - by $f @ $ts UTC [$pct%]\n\n";
+               $$res .= "$pfx  - by $f @ $date UTC [$pct%]\n\n";
        }
        $$res .= search_nav_bot($mset, $q);
        *noop;
@@ -180,10 +181,9 @@ sub search_nav_top {
 sub search_nav_bot {
        my ($mset, $q) = @_;
        my $total = $mset->get_matches_estimated;
-       my $nr = scalar $mset->items;
        my $o = $q->{o};
        my $l = $q->{l};
-       my $end = $o + $nr;
+       my $end = $o + $mset->size;
        my $beg = $o + 1;
        my $rv = '</pre><hr><pre id=t>';
        if ($beg <= $end) {
@@ -228,10 +228,10 @@ sub mset_thread {
        } ($mset->items) ]});
        my $r = $q->{r};
        my $rootset = PublicInbox::SearchThread::thread($msgs,
-               $r ? sort_relevance(\%pct) : *PublicInbox::View::sort_ts,
-               $srch);
+               $r ? sort_relevance(\%pct) : *PublicInbox::View::sort_ds,
+               $ctx);
        my $skel = search_nav_bot($mset, $q). "<pre>";
-       my $inbox = $ctx->{-inbox};
+       my $ibx = $ctx->{-inbox};
        $ctx->{-upfx} = '';
        $ctx->{anchor_idx} = 1;
        $ctx->{cur_level} = 0;
@@ -240,7 +240,6 @@ sub mset_thread {
        $ctx->{pct} = \%pct;
        $ctx->{prev_attr} = '';
        $ctx->{prev_level} = 0;
-       $ctx->{seen} = {};
        $ctx->{s_nr} = scalar(@$msgs).'+ results';
 
        # reduce hash lookups in skel_dump
@@ -249,15 +248,14 @@ sub mset_thread {
                *PublicInbox::View::pre_thread);
 
        @$msgs = reverse @$msgs if $r;
-       my $mime;
        sub {
                return unless $msgs;
-               while ($mime = pop @$msgs) {
-                       $mime = $inbox->msg_by_smsg($mime) and last;
+               my $smsg;
+               while (my $m = pop @$msgs) {
+                       $smsg = $ibx->smsg_mime($m) and last;
                }
-               if ($mime) {
-                       $mime = PublicInbox::MIME->new($mime);
-                       return PublicInbox::View::index_entry($mime, $ctx,
+               if ($smsg) {
+                       return PublicInbox::View::index_entry($smsg, $ctx,
                                scalar @$msgs);
                }
                $msgs = undef;
@@ -291,8 +289,7 @@ sub adump {
        PublicInbox::WwwAtomStream->response($ctx, 200, sub {
                while (my $x = shift @items) {
                        $x = load_doc_retry($srch, $x);
-                       $x = $ibx->msg_by_smsg($x) and
-                                       return PublicInbox::MIME->new($x);
+                       $x = $ibx->smsg_mime($x) and return $x;
                }
                return undef;
        });
@@ -309,10 +306,8 @@ sub new {
        my ($class, $qp) = @_;
 
        my $r = $qp->{r};
-       my $l = $qp->{l} || '200';
-       if (! ($l =~ /(\d+)/ && $l <= $LIM)) {
-               $l = $LIM;
-       }
+       my ($l) = (($qp->{l} || '') =~ /(\d+)/);
+       $l = $LIM if !$l || $l > $LIM;
        bless {
                q => $qp->{'q'},
                x => $qp->{x} || '',
@@ -341,7 +336,7 @@ sub qs_html {
                $qs .= "&amp;o=$o";
        }
        if (my $l = $self->{l}) {
-               $qs .= "&amp;l=$l";
+               $qs .= "&amp;l=$l" unless $l == $LIM;
        }
        if (my $r = $self->{r}) {
                $qs .= "&amp;r";