summaryrefslogtreecommitdiff
path: root/fml/lib/Mail/Message/ToHTML.pm
diff options
context:
space:
mode:
authorfukachan <fukachan>2004-07-26 05:47:23 +0000
committerfukachan <fukachan>2004-07-26 05:47:23 +0000
commit9045f1e0b6a11345b12ccc01f42bd23fc10af0b1 (patch)
treeae2485086c4837580edd23edc0da1465ec3c1a88 /fml/lib/Mail/Message/ToHTML.pm
parentb921745ce1f45c4e3657e98bf43f34fa5e229a75 (diff)
downloadfml8-9045f1e0b6a11345b12ccc01f42bd23fc10af0b1.tar.gz
fml8-9045f1e0b6a11345b12ccc01f42bd23fc10af0b1.tar.bz2
fml8-9045f1e0b6a11345b12ccc01f42bd23fc10af0b1.zip
handle subject tag separetely in string escaping.
Diffstat (limited to 'fml/lib/Mail/Message/ToHTML.pm')
-rw-r--r--fml/lib/Mail/Message/ToHTML.pm23
1 files changed, 18 insertions, 5 deletions
diff --git a/fml/lib/Mail/Message/ToHTML.pm b/fml/lib/Mail/Message/ToHTML.pm
index aba83e5c..48fa7527 100644
--- a/fml/lib/Mail/Message/ToHTML.pm
+++ b/fml/lib/Mail/Message/ToHTML.pm
@@ -4,12 +4,12 @@
# All rights reserved. This program is free software; you can
# redistribute it and/or modify it under the same terms as Perl itself.
#
-# $FML: ToHTML.pm,v 1.69 2004/06/19 02:24:41 fukachan Exp $
+# $FML: ToHTML.pm,v 1.70 2004/06/30 15:05:13 tmu Exp $
#
package Mail::Message::ToHTML;
use strict;
-use vars qw(@ISA @EXPORT @EXPORT_OK $AUTOLOAD);
+use vars qw(@ISA @EXPORT @EXPORT_OK $AUTOLOAD $hints);
use Carp;
my $is_strict_warn = 0;
@@ -17,7 +17,7 @@ my $debug = 0;
my $URL =
"<A HREF=\"http://www.fml.org/software/\">Mail::Message::ToHTML</A>";
-my $version = q$FML: ToHTML.pm,v 1.69 2004/06/19 02:24:41 fukachan Exp $;
+my $version = q$FML: ToHTML.pm,v 1.70 2004/06/30 15:05:13 tmu Exp $;
my $versionid = 0;
if ($version =~ /,v\s+([\d\.]+)\s+/) {
$versionid = "$1";
@@ -111,6 +111,9 @@ sub new
$me->{ _use_address_mask } = $args->{ use_address_mask } || 'yes';
$me->{ _address_mask_type } = $args->{ address_mask_type } || 'all';
+ # global hints
+ $hints = $args->{ hints } || {};
+
use Mail::Message::Thread;
my $t = new Mail::Message::Thread $args;
$me->{ _thread_object } = $t;
@@ -1894,7 +1897,8 @@ sub _sprintf_safe_str
sub __sprintf_safe_str
{
my ($attr_pre, $wh, $str, $code) = @_;
- my $rbuf = '';
+ my $regexp = $hints->{ subject_tag_regexp } || '';
+ my $rbuf = '';
# XXX-TODO: euc-jp is hard-coded.
if (defined($str) && $str) {
@@ -1906,7 +1910,16 @@ sub __sprintf_safe_str
$str =~ s#(http://[^\s\<\>\'\"]+[\w\d/])#_separete_url($1)#ge;
use HTML::FromText;
- return text2html($str, urls => 1, pre => $attr_pre);
+ # NOT CONVERT subject tag (see fml-devel:726).
+ if ($str =~ /^\s*($regexp)(.*)/) {
+ my ($tag, $post) = ($1, $2);
+ my $tag_s = text2html($tag, urls => 0, pre => $attr_pre);
+ my $post_s = text2html($post, urls => 1, pre => $attr_pre);
+ return sprintf("%s%s", $tag_s, $post_s);
+ }
+ else {
+ return text2html($str, urls => 1, pre => $attr_pre);
+ }
}
else {
return undef;