Update of mhonarc/MHonArc/lib
Modified Files:
mhamain.pl mhrcvars.pl mhutil.pl
Log Message:
[bug #11759]: Modified conversion of HTML header and handling of
$SUBJECT$ and $MSGHFIELD$. For message header conversion, all
fields can have ADDRESSMODIFYCODE (and MAILTOURL) applied except
for a well-defined set (e.g. List-*, Message-Id, etc).
For $SUBJECT$, et. al, ADDRESSMODIFYCODE is applied. MAILTOURL
is not applied unless the new :M modifier is used for the variable.
This way, the default behavior will not cause conflicts if
rcvar used within hyperlinks. If MAILTOURL application is
desired, :M must be specifed.
======================================================================
FILE: mhonarc/MHonArc/lib/mhamain.pl
<http://www.mhonarc.org/cgi-bin/viewcvs.cgi/*checkout*/mhonarc/MHonArc/lib/mhamain.pl?rev=2.87>
<http://www.mhonarc.org/cgi-bin/viewcvs.cgi/mhonarc/MHonArc/lib/mhamain.pl.diff?r1=2.86&r2=2.87&diff_format=h>
--- mhamain.pl 8 Jul 2005 02:04:06 -0000 2.86
+++ mhamain.pl 8 Jul 2005 05:27:52 -0000 2.87
@@ -333,4 +333,5 @@
local($_);
MHFILE: foreach (@files) {
+ print STDERR "$_\n";
$mesgfile = join($DIRSEP, $mbox, $_);
eval {
======================================================================
FILE: mhonarc/MHonArc/lib/mhrcvars.pl
<http://www.mhonarc.org/cgi-bin/viewcvs.cgi/*checkout*/mhonarc/MHonArc/lib/mhrcvars.pl?rev=2.28>
<http://www.mhonarc.org/cgi-bin/viewcvs.cgi/mhonarc/MHonArc/lib/mhrcvars.pl.diff?r1=2.27&r2=2.28&diff_format=h>
--- mhrcvars.pl 15 Dec 2004 20:33:40 -0000 2.27
+++ mhrcvars.pl 8 Jul 2005 05:27:52 -0000 2.28
@@ -90,4 +90,5 @@
my($arg, $opt) = ("", "");
my $isaddr = 0;
+ my $mailto = 0;
## Get variable argument string
@@ -104,7 +105,9 @@
## Check if variable in a URL string
- $isurl = 1 if ($len =~ s/u//ig);
+ $isurl = 1 if ($len =~ s/U//g);
## Check if variable in a JavaScript string
- $jstr = 1 if ($len =~ s/j//ig);
+ $jstr = 1 if ($len =~ s/J//g);
+ ## Check if variable in a JavaScript string
+ $mailto = 1 if ($len =~ s/M//g);
## Do variable replacement
@@ -145,4 +148,6 @@
if ($cnd3 && $SpamMode) {
$tmp =~ s/($AddrExp)/rewrite_raw_address($1)/geo;
+ } else {
+ $isaddr = 1;
}
last REPLACESW;
@@ -214,5 +219,5 @@
$tmp = '';
}
- if ($HFieldsAddr{$opt}) {
+ if (!$HFieldsAsIsList{$opt}) {
$isaddr = 1;
}
@@ -282,5 +287,5 @@
}
if ($var eq 'SUBJECT') { ## Message subject
- $canclip = 1; $raw = 1; $isurl = 0;
+ $canclip = 1; $raw = 1; $isurl = 0; $isaddr = 1;
($lref, $key, $pos) = compute_msg_pos($index, $var, $arg);
if (defined($key)) {
@@ -293,5 +298,5 @@
}
if ($var eq 'SUBJECTNA') { ## Message subject (not linked)
- $canclip = 1; $raw = 1;
+ $canclip = 1; $raw = 1; $isaddr = 1;
($lref, $key, $pos) = compute_msg_pos($index, $var, $arg);
if (defined($key)) {
@@ -677,5 +682,6 @@
warn qq/Warning: Unrecognized variable: "$val"\n/;
- return "\$$val\$";
+ #return "\$$val\$";
+ return "";
}
@@ -693,5 +699,5 @@
$ret = &$MHeadCnvFunc($tmp);
if ($isaddr) {
- if ($NOMAILTO) {
+ if (!$mailto) {
$ret =~ s/($HAddrExp)/htmlize(rewrite_address($1))/geo;
} else {
@@ -700,4 +706,5 @@
$Subject{$key},
$From{$key})/gexo;
+ $canclip = 0;
}
}
@@ -726,5 +733,5 @@
&msgnum_filename($IndexNum{$index}) .
qq|">$ret</a>|
- if $var eq 'SUBJECT' && $arg eq "";
+ if $var eq 'SUBJECT' && $arg eq "" && !$mailto;
$ret;
======================================================================
FILE: mhonarc/MHonArc/lib/mhutil.pl
<http://www.mhonarc.org/cgi-bin/viewcvs.cgi/*checkout*/mhonarc/MHonArc/lib/mhutil.pl?rev=2.32>
<http://www.mhonarc.org/cgi-bin/viewcvs.cgi/mhonarc/MHonArc/lib/mhutil.pl.diff?r1=2.31&r2=2.32&diff_format=h>
--- mhutil.pl 2 Jun 2005 02:12:30 -0000 2.31
+++ mhutil.pl 8 Jul 2005 05:27:53 -0000 2.32
@@ -43,7 +43,8 @@
%HFieldsAsIsList = (
%HFieldsList,
- 'content-id',
- 'content-type',
- 'message-id',
+ 'content-disposition' => 1,
+ 'content-id' => 1,
+ 'content-type' => 1,
+ 'message-id' => 1,
);
@@ -467,5 +468,6 @@
$tmp = $HFieldsList{$key} ? mlist_field_add_links($tmp) :
&$MHeadCnvFunc($tmp);
- $tmp = field_add_links($key, $tmp, $fields);
+ $tmp = field_add_links($key, $tmp, $fields)
+ unless $HFieldsAsIsList{$key};
($tago, $tagc, $ftago, $ftagc) = get_header_tags($key);
$mesg .= join('', $LABELBEG,
@@ -483,5 +485,6 @@
$tmp = $HFieldsList{$item} ? mlist_field_add_links($tmp) :
&$MHeadCnvFunc($tmp);
- $tmp = field_add_links($item, $tmp, $fields);
+ $tmp = field_add_links($item, $tmp, $fields)
+ unless $HFieldsAsIsList{$key};
($tago, $tagc, $ftago, $ftagc) = &get_header_tags($item);
$mesg .= join('', $LABELBEG,
@@ -525,22 +528,19 @@
LBLSW: {
- if ($HFieldsAddr{$label}) {
- if (!$NOMAILTO) {
- $fld_text =~ s{($HAddrExp)}
- {&mailUrl($1, $fields->{'x-mha-message-id'},
- $fields->{'x-mha-subject'},
- $fields->{'x-mha-from'});
- }gexo;
- } else {
- $fld_text =~ s{($HAddrExp)}
- {&htmlize(&rewrite_address($1))
- }gexo;
- }
- last LBLSW;
- }
if (!$NONEWS && ($label eq 'newsgroup' || $label eq 'newsgroups')) {
$fld_text = newsurl($fld_text, $fields->{'x-mha-message-id'});
last LBLSW;
}
+ if (!$NOMAILTO) {
+ $fld_text =~ s{($HAddrExp)}
+ {&mailUrl($1, $fields->{'x-mha-message-id'},
+ $fields->{'x-mha-subject'},
+ $fields->{'x-mha-from'});
+ }gexo;
+ } else {
+ $fld_text =~ s{($HAddrExp)}
+ {&htmlize(&rewrite_address($1))
+ }gexo;
+ }
last LBLSW;
}
@@ -605,6 +605,5 @@
$url =~ s/\$FROMADDRDOMAIN\$/$faddrdomainl/g;
$url =~ s/\$MSGID\$/$msgidl/g;
- $url =~ s/\$SUBJECT\$/$subjectl/g;
- $url =~ s/\$SUBJECTNA\$/$subjectl/g;
+ $url =~ s/\$SUBJECT(?:NA)?\$/$subjectl/g;
$url =~ s/\$TO\$/$to/g;
$url =~ s/\$TOADDRNAME\$/$toname/g;
---------------------------------------------------------------------
To sign-off this list, send email to majordomo(_at_)mhonarc(_dot_)org with the
message text UNSUBSCRIBE MHONARC-COMMITS