From 92afb41e15dfdcda291b432173bd49ddfc49614a Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 14 Jun 2017 00:10:51 +0000 Subject: view: split out reply logic into its own module We'll be adding more reply options for centralized mailing lists. So split out the logic so it's easy-to-find. Organizing code is hard :< --- lib/PublicInbox/View.pm | 47 ++--------------------------------------------- 1 file changed, 2 insertions(+), 45 deletions(-) (limited to 'lib/PublicInbox/View.pm') diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index 9ef4712f..0d85581d 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -6,7 +6,6 @@ package PublicInbox::View; use strict; use warnings; -use URI::Escape qw/uri_escape_utf8/; use Date::Parse qw/str2time/; use PublicInbox::Hval qw/ascii_html/; use PublicInbox::Linkify; @@ -14,6 +13,7 @@ use PublicInbox::MID qw/mid_clean id_compress mid_mime mid_escape/; use PublicInbox::MsgIter; use PublicInbox::Address; use PublicInbox::WwwStream; +use PublicInbox::Reply; require POSIX; use constant INDENT => ' '; @@ -57,7 +57,7 @@ sub msg_reply { $info = qq(\n List information: $url\n); } - my ($arg, $link) = mailto_arg_link($hdr); + my ($arg, $link) = PublicInbox::Reply::mailto_arg_link($hdr); push @$arg, '/path/to/YOUR_REPLY'; $arg = ascii_html(join(" \\\n ", '', @$arg)); <header($h); - defined($v) && ($v ne '') or next; - my @addrs = PublicInbox::Address::emails($v); - foreach my $address (@addrs) { - my $dst = lc($address); - $cc{$dst} ||= $address; - $to ||= $dst; - } - } - my @arg; - - my $subj = $hdr->header('Subject') || ''; - $subj = "Re: $subj" unless $subj =~ /\bRe:/i; - my $mid = $hdr->header_raw('Message-ID'); - push @arg, '--in-reply-to='.squote_maybe(mid_clean($mid)); - my $irt = mid_escape($mid); - delete $cc{$to}; - push @arg, "--to=$to"; - $to = uri_escape_utf8($to); - $subj = uri_escape_utf8($subj); - my @cc = sort values %cc; - push(@arg, map { "--cc=$_" } @cc); - my $cc = uri_escape_utf8(join(',', @cc)); - my $href = "mailto:$to?In-Reply-To=$irt&Cc=${cc}&Subject=$subj"; - - (\@arg, ascii_html($href)); -} - sub html_footer { my ($hdr, $standalone, $ctx, $rhref) = @_; -- cgit v1.2.3-24-ge0c7