# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
#
# Displays search results for the web interface
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
#
# Displays search results for the web interface
-use PublicInbox::MID qw(MID_ESC);
-use PublicInbox::MIME;
-require PublicInbox::Git;
-require PublicInbox::SearchThread;
+use PublicInbox::WwwStream qw(html_oneshot);
+use PublicInbox::SearchThread;
- my ($mset, $total, $err, $cb);
+ my ($mset, $total, $err, $html);
} else {
return adump($_[0], $mset, $q, $ctx) if $x eq 'A';
$ctx->{-html_tip} = search_nav_top($mset, $q, $ctx);
} else {
return adump($_[0], $mset, $q, $ctx) if $x eq 'A';
$ctx->{-html_tip} = search_nav_top($mset, $q, $ctx);
- if ($x eq 't') {
- $cb = mset_thread($ctx, $mset, $q);
- } else {
- $cb = mset_summary($ctx, $mset, $q);
- }
+ return mset_thread($ctx, $mset, $q) if $x eq 't';
+ mset_summary($ctx, $mset, $q); # appends to {-html_tip}
+ $html = '';
foreach my $m ($mset->items) {
my $rank = sprintf("%${pad}d", $m->get_rank + 1);
my $pct = get_pct($m);
foreach my $m ($mset->items) {
my $rank = sprintf("%${pad}d", $m->get_rank + 1);
my $pct = get_pct($m);
if ($obfs_ibx) {
obfuscate_addrs($obfs_ibx, $s);
obfuscate_addrs($obfs_ibx, $f);
}
if ($obfs_ibx) {
obfuscate_addrs($obfs_ibx, $s);
obfuscate_addrs($obfs_ibx, $f);
}
$s = '(no subject)' if $s eq '';
$$res .= qq{$rank. <b><a\nhref="$mid/">}.
$s . "</a></b>\n";
$$res .= "$pfx - by $f @ $date UTC [$pct%]\n\n";
}
$$res .= search_nav_bot($mset, $q);
$s = '(no subject)' if $s eq '';
$$res .= qq{$rank. <b><a\nhref="$mid/">}.
$s . "</a></b>\n";
$$res .= "$pfx - by $f @ $date UTC [$pct%]\n\n";
}
$$res .= search_nav_bot($mset, $q);
my $r = $q->{r};
my $rootset = PublicInbox::SearchThread::thread($msgs,
$r ? \&sort_relevance : \&PublicInbox::View::sort_ds,
my $r = $q->{r};
my $rootset = PublicInbox::SearchThread::thread($msgs,
$r ? \&sort_relevance : \&PublicInbox::View::sort_ds,
- $ctx->{-inbox}->smsg_mime($smsg) or next;
- return PublicInbox::View::index_entry($smsg, $ctx,
+ my $eml = $ctx->{-inbox}->smsg_eml($smsg) or next;
+ return PublicInbox::View::eml_entry($ctx, $smsg, $eml,
- if (keys %over) {
- my $tmp = bless { %$self }, ref($self);
- foreach my $k (keys %over) {
- $tmp->{$k} = $over{$k};
- }
- $self = $tmp;
+ if (scalar(keys(%override))) {
+ $self = bless { (%$self, %override) }, ref($self);