summaryrefslogtreecommitdiff
path: root/fml/lib/Mail/Message/ToHTML.pm
diff options
context:
space:
mode:
authorfukachan <fukachan>2002-04-14 07:20:29 +0000
committerfukachan <fukachan>2002-04-14 07:20:29 +0000
commitfefd223d06673f20fe02cb887751bee9031eb7f6 (patch)
tree27ff23c4aae61cfe55fbb917722638199ded55ce /fml/lib/Mail/Message/ToHTML.pm
parentca25689c79153f2be87d1068a498d4984aa58cf0 (diff)
downloadfml8-fefd223d06673f20fe02cb887751bee9031eb7f6.tar.gz
fml8-fefd223d06673f20fe02cb887751bee9031eb7f6.tar.bz2
fml8-fefd223d06673f20fe02cb887751bee9031eb7f6.zip
fix $subdir handling on month boundary
Diffstat (limited to 'fml/lib/Mail/Message/ToHTML.pm')
-rw-r--r--fml/lib/Mail/Message/ToHTML.pm34
1 files changed, 25 insertions, 9 deletions
diff --git a/fml/lib/Mail/Message/ToHTML.pm b/fml/lib/Mail/Message/ToHTML.pm
index bfa96ff5..fdc2a2b6 100644
--- a/fml/lib/Mail/Message/ToHTML.pm
+++ b/fml/lib/Mail/Message/ToHTML.pm
@@ -4,7 +4,7 @@
# 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.5 2002/04/06 02:02:19 fukachan Exp $
+# $FML: ToHTML.pm,v 1.6 2002/04/07 05:35:10 fukachan Exp $
#
package Mail::Message::ToHTML;
@@ -19,7 +19,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.5 2002/04/06 02:02:19 fukachan Exp $;
+my $version = q$FML: ToHTML.pm,v 1.6 2002/04/07 05:35:10 fukachan Exp $;
if ($version =~ /,v\s+([\d\.]+)\s+/) {
$version = "$URL $1";
}
@@ -150,7 +150,8 @@ sub htmlfy_rfc822_message
# $id = article id
# $src = source file
# $dst = destination file (target html)
- my ($id, $src, $dst) = $self->_init_htmlfy_rfc822_message($args);
+ my ($id, $src, $dst) = $self->_init_htmlfy_rfc822_message($args);
+ $self->{ _current_id } = $id;
# target html exists already.
if (-f $dst) {
@@ -331,7 +332,9 @@ sub html_filename
if (defined($id) && ($id > 0)) {
if ($use_subdir eq 'yes') {
- return $self->_html_file_subdir_name($id);
+ my $r = $self->_html_file_subdir_name($id);
+ # print STDERR "xdebug: $id => $r\n";
+ return $r;
}
else {
return "msg${id}.html";
@@ -354,14 +357,26 @@ sub _html_file_subdir_name
my $subdir = '';
my $subdir_style = $self->{ _subdir_style };
my $month_db = $self->{ _db }->{ _month };
+ my $subdir_db = $self->{ _db }->{ _subdir };
+ my $curid = $self->{ _current_id };
if ($subdir_style eq 'yyyymm') {
- $subdir = $self->_msg_time('yyyymm');
+ if (defined $subdir_db->{ $id } && $subdir_db->{ $id }) {
+ $subdir = $subdir_db->{ $id };
+ }
+ else {
+ $subdir = $self->_msg_time('yyyymm');
- use File::Spec;
- my $xsubdir = File::Spec->catfile($html_base_dir, $subdir);
- unless (-d $xsubdir) {
- mkdir($xsubdir, 0755);
+ if ($curid == $id) {
+ $subdir_db->{ $id } = $subdir; # cache subdir info into DB.
+ # print STDERR "xdebug: \$subdir_db->{ $id } = $subdir\n";
+ }
+
+ use File::Spec;
+ my $xsubdir = File::Spec->catfile($html_base_dir, $subdir);
+ unless (-d $xsubdir) {
+ mkdir($xsubdir, 0755);
+ }
}
}
@@ -1529,6 +1544,7 @@ my @kind_of_databases = qw(from date subject message_id references
filename filepath
unixtime month monthly_idlist
thread_list
+ subdir
who info);