X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=blobdiff_plain;f=lib%2FPublicInbox%2FSearchView.pm;h=7521a66ddb82c51bc2a6b9b7b1b77772403d2531;hp=76428dfbdbc455127161fbc8f76df67c5e7e6308;hb=6c853f5256f3a324c018a37a9e8a6b9fc8fdc063;hpb=29c5f2a6fc3b86306a5dbeadfae061d06f2bc6dd diff --git a/lib/PublicInbox/SearchView.pm b/lib/PublicInbox/SearchView.pm index 76428dfb..7521a66d 100644 --- a/lib/PublicInbox/SearchView.pm +++ b/lib/PublicInbox/SearchView.pm @@ -5,9 +5,10 @@ package PublicInbox::SearchView; use strict; use v5.10.1; +use List::Util qw(max); use URI::Escape qw(uri_unescape); use PublicInbox::Smsg; -use PublicInbox::Hval qw(ascii_html obfuscate_addrs mid_href); +use PublicInbox::Hval qw(ascii_html obfuscate_addrs mid_href fmt_ts); use PublicInbox::View; use PublicInbox::WwwAtomStream; use PublicInbox::WwwStream qw(html_oneshot); @@ -109,13 +110,15 @@ sub mset_summary { }; next; }; + $ctx->{-t_max} //= $smsg->{ts}; + my $s = ascii_html($smsg->{subject}); my $f = ascii_html($smsg->{from_name}); if ($obfs_ibx) { obfuscate_addrs($obfs_ibx, $s); obfuscate_addrs($obfs_ibx, $f); } - my $date = PublicInbox::View::fmt_ts($smsg->{ds}); + my $date = fmt_ts($smsg->{ds}); my $mid = mid_href($smsg->{mid}); $s = '(no subject)' if $s eq ''; $$res .= qq{$rank. }. @@ -295,6 +298,10 @@ sub mset_thread { PublicInbox::View::walk_thread($rootset, $ctx, \&PublicInbox::View::pre_thread); + # link $INBOX_DIR/description text to "recent" view around + # the newest message in this result set: + $ctx->{-t_max} = max(map { delete $_->{ts} } @$msgs); + @$msgs = reverse @$msgs if $r; $ctx->{msgs} = $msgs; PublicInbox::WwwStream::aresponse($ctx, 200, \&mset_thread_i);