[dw-free] fix gmail threading on comment emails
[commit: http://hg.dwscoalition.org/dw-free/rev/658c278b78f5]
http://bugs.dwscoalition.org/show_bug.cgi?id=421
Append journal name and entry id to email subject.
Patch by
janinedog.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=421
Append journal name and entry id to email subject.
Patch by
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Files modified:
- cgi-bin/LJ/Event/JournalNewComment.pm
- cgi-bin/talklib.pl
-------------------------------------------------------------------------------- diff -r 160d82e2137d -r 658c278b78f5 cgi-bin/LJ/Event/JournalNewComment.pm --- a/cgi-bin/LJ/Event/JournalNewComment.pm Fri Aug 07 00:45:49 2009 -0500 +++ b/cgi-bin/LJ/Event/JournalNewComment.pm Fri Aug 07 01:53:44 2009 -0500 @@ -85,17 +85,22 @@ sub as_email_subject { my $edited = $self->comment->is_edited; my $lang = $u->prop('browselang'); + my $entry_details = ''; + if ( $self->comment->journal && $self->comment->entry ) { + $entry_details = ' [ ' . $self->comment->journal->display_name . ' - ' . $self->comment->entry->ditemid . ' ]'; + } + my $filename = $self->template_file_for(section => 'subject', lang => $lang); if ($filename) { # Load template file into template processor my $t = LJ::HTML::Template->new(filename => $filename); - $t->param(subject => $self->comment->subject_html); + $t->param( subject => $self->comment->subject_html . $entry_details ); return $t->output; } my $key = 'esn.mail_comments.subject.'; if ($self->comment->subject_orig) { - return LJ::strip_html($self->comment->subject_orig); + return LJ::strip_html( $self->comment->subject_orig . $entry_details ); } elsif (LJ::u_equals($self->comment->poster, $u)) { $key .= $edited ? 'comment_you_edited' : 'comment_you_posted'; } elsif ($self->comment->parent) { @@ -111,7 +116,8 @@ sub as_email_subject { $key .= LJ::u_equals($self->comment->entry->poster, $u) ? 'reply_to_your_entry' : 'reply_to_an_entry'; } } - return LJ::Lang::get_text($lang, $key); + + return LJ::Lang::get_text( $lang, $key ) . $entry_details; } sub as_email_string { diff -r 160d82e2137d -r 658c278b78f5 cgi-bin/talklib.pl --- a/cgi-bin/talklib.pl Fri Aug 07 00:45:49 2009 -0500 +++ b/cgi-bin/talklib.pl Fri Aug 07 01:53:44 2009 -0500 @@ -2161,13 +2161,19 @@ my @_ml_strings_en = ( ); sub _format_headers { - my ($lang, $encoding, $comment, $u, $edited, $parent, $paru) = @_; + my ( $lang, $encoding, $comment, $u, $edited, $parent, $paru, $entry ) = @_; my $vars = { user => $comment->{u} ? $comment->{u}->display_username : '', sitenameabbrev => $LJ::SITENAMEABBREV, sitenameshort => $LJ::SITENAMESHORT, }; + + my $entry_obj = LJ::Entry->new( $entry->{journalid}, ditemid => $entry->{ditemid} ); + my $entry_details = ''; + if ( $entry_obj && $entry_obj->journal ) { + $entry_details = ' [ ' . $entry_obj->journal->display_name . ' - ' . $entry_obj->ditemid . ' ]'; + } my ($headersubject, $fromname); unless ($headersubject = $comment->{subject}) { @@ -2187,6 +2193,8 @@ sub _format_headers { } $headersubject = LJ::Lang::get_text($lang, $key, undef, $vars); } + + $headersubject .= $entry_details; if ($comment->{u}) { # external users has lj-logins as 'ext_*', so @@ -2311,7 +2319,7 @@ sub mail_comments { # Now we going to send email to '$paru'. $lang = $paru->prop('browselang'); - ($headersubject, $fromname) = _format_headers($lang, $encoding, $comment, $paru, $edited, $parent, $paru); + ($headersubject, $fromname) = _format_headers( $lang, $encoding, $comment, $paru, $edited, $parent, $paru, $item ); my $msg = new MIME::Lite ('From' => "\"$fromname\" <$LJ::BOGUS_EMAIL>", 'To' => $paru->email_raw, @@ -2374,7 +2382,7 @@ sub mail_comments { # Now we going to send email to '$entryu'. $lang = $entryu->prop('browselang'); $encoding = $entryu->mailencoding || "UTF-8"; - ($headersubject, $fromname) = _format_headers($lang, $encoding, $comment, $entryu, $edited, $parent, $paru); + ($headersubject, $fromname) = _format_headers( $lang, $encoding, $comment, $entryu, $edited, $parent, $paru, $item ); my $msg = new MIME::Lite ('From' => "\"$fromname\" <$LJ::BOGUS_EMAIL>", 'To' => $entryu->email_raw, @@ -2445,7 +2453,7 @@ sub mail_comments { # Now we going to send email to '$u'. $lang = $u->prop('browselang'); $encoding = $u->mailencoding || "UTF-8"; - ($headersubject, $fromname) = _format_headers($lang, $encoding, $comment, $u, $edited, $parent, $paru); + ($headersubject, $fromname) = _format_headers( $lang, $encoding, $comment, $u, $edited, $parent, $paru, $item ); my $msg = new MIME::Lite ('From' => "\"$fromname\" <$LJ::BOGUS_EMAIL>", 'To' => $u->email_raw, --------------------------------------------------------------------------------
no subject
no subject
no subject
no subject
Yay!