use warnings;
use bytes (); # only for bytes::length
use PublicInbox::MsgTime qw(msg_datestamp);
-use PublicInbox::Hval qw/ascii_html obfuscate_addrs/;
+use PublicInbox::Hval qw(ascii_html obfuscate_addrs prurl);
use PublicInbox::Linkify;
use PublicInbox::MID qw/id_compress mid_escape mids mids_for_index references/;
use PublicInbox::MsgIter;
use PublicInbox::WwwStream;
use PublicInbox::Reply;
use PublicInbox::ViewDiff qw(flush_diff);
-require POSIX;
+use POSIX qw(strftime);
use Time::Local qw(timegm);
use PublicInbox::SearchMsg qw(subject_normalized);
use constant COLS => 72;
my $info = '';
my $ibx = $ctx->{-inbox};
if (my $url = $ibx->{infourl}) {
- $url = PublicInbox::Hval::prurl($ctx->{env}, $url);
+ $url = prurl($ctx->{env}, $url);
$info = qq(\n List information: <a\nhref="$url">$url</a>\n);
}
$nr == 1 ? "$nr $singular" : "$nr $plural";
}
+# human-friendly format
+sub fmt_ts ($) { strftime('%Y-%m-%d %k:%M', gmtime($_[0])) }
+
# this is already inside a <pre>
sub index_entry {
my ($smsg, $ctx, $more) = @_;
# scan through all parts, looking for displayable text
$ctx->{mhref} = $mhref;
$ctx->{rv} = \$rv;
- msg_iter($mime, \&add_text_body, $ctx);
+ msg_iter($mime, \&add_text_body, $ctx, 1);
delete $ctx->{rv};
# add the footer
}
sub multipart_text_as_html {
- my ($mime, $mhref, $ctx) = @_;
+ my (undef, $mhref, $ctx) = @_; # $mime = $_[0]
$ctx->{mhref} = $mhref;
$ctx->{rv} = \(my $rv = '');
# scan through all parts, looking for displayable text
- msg_iter($mime, \&add_text_body, $ctx);
+ msg_iter($_[0], \&add_text_body, $ctx, 1);
${delete $ctx->{rv}};
}
PublicInbox::ExtMsg::ext_msg($ctx);
}
-sub fmt_ts { POSIX::strftime('%Y-%m-%d %k:%M', gmtime($_[0])) }
-
sub dedupe_subject {
my ($prev_subj, $subj, $val) = @_;
200;
}
-sub ts2str ($) {
- my ($ts) = @_;
- POSIX::strftime('%Y%m%d%H%M%S', gmtime($ts));
-}
+# only for the t= query parameter passed to overview DB
+sub ts2str ($) { strftime('%Y%m%d%H%M%S', gmtime($_[0])) };
sub str2ts ($) {
my ($yyyy, $mon, $dd, $hh, $mm, $ss) = unpack('A4A2A2A2A2A2', $_[0]);