use Params::Validate qw(validate_with :types);
use Digest::MD5 qw(md5_hex);
use Debbugs::Mail qw(get_addresses);
-use Debbugs::MIME qw(convert_to_utf8 decode_rfc1522 create_mime_message);
+use Debbugs::MIME qw(decode_rfc1522 create_mime_message);
use Debbugs::CGI qw(:url :html :util);
use Debbugs::Common qw(globify_scalar english_join);
+use Debbugs::UTF8;
use Debbugs::Config qw(:config);
use POSIX qw(strftime);
use Encode qw(decode_utf8);
my $head_field = $head->get($_);
next unless defined $head_field and $head_field ne '';
if ($_ eq 'From') {
- push @headers,q(<img src=").__libravatar_url(decode_rfc1522($head_field)).q(">);
+ my $libravatar_url = __libravatar_url(decode_rfc1522($head_field));
+ if (defined $libravatar_url and length $libravatar_url) {
+ push @headers,q(<img src=").$libravatar_url.q(">);
+ }
}
push @headers, qq(<p><span class="header">$_:</span> ) . html_escape(decode_rfc1522($head_field))."</p>";
}
local $_ = $record->{type};
if (/html/) {
# $record->{text} is not in perl's internal encoding; convert it
- my $text = decode_utf8(decode_rfc1522($record->{text}));
+ my $text = decode_rfc1522(decode_utf8($record->{text}));
my ($time) = $text =~ /<!--\s+time:(\d+)\s+-->/;
my $class = $text =~ /^<strong>(?:Acknowledgement|Reply|Information|Report|Notification)/m ? 'infmessage':'msgreceived';
$output .= $text;
sub __libravatar_url {
my ($email) = @_;
+ if (not defined $config{libravatar_uri} or not length $config{libravatar_uri}) {
+ return undef;
+ }
($email) = get_addresses($email);
- return "http://cdn.libravatar.org/avatar/".md5_hex(lc($email))."?d=retro";
+ return $config{libravatar_uri}.md5_hex(lc($email)).($config{libravatar_uri_options}//'');
}