summaryrefslogtreecommitdiff
path: root/fml/lib
diff options
context:
space:
mode:
authorfukachan <fukachan>2001-01-25 16:13:16 +0000
committerfukachan <fukachan>2001-01-25 16:13:16 +0000
commitfe1209542cddfdd1049ee1e8cc1323cf6e2cb5f1 (patch)
tree3a3095749d15f485db1d25321f30a9aa4777b571 /fml/lib
parent7cbbae0824075bdaf9bf0923ec80aa1117ade9d5 (diff)
downloadfml8-fe1209542cddfdd1049ee1e8cc1323cf6e2cb5f1.tar.gz
fml8-fe1209542cddfdd1049ee1e8cc1323cf6e2cb5f1.tar.bz2
fml8-fe1209542cddfdd1049ee1e8cc1323cf6e2cb5f1.zip
cut off Re:... tags in subject
Diffstat (limited to 'fml/lib')
-rw-r--r--fml/lib/FML/Header/Subject.pm25
1 files changed, 24 insertions, 1 deletions
diff --git a/fml/lib/FML/Header/Subject.pm b/fml/lib/FML/Header/Subject.pm
index 47e4cb53..0054cf56 100644
--- a/fml/lib/FML/Header/Subject.pm
+++ b/fml/lib/FML/Header/Subject.pm
@@ -12,6 +12,7 @@ package FML::Header::Subject;
use strict;
use vars qw(@ISA @EXPORT @EXPORT_OK);
use Carp;
+use FML::Log qw(Log);
require Exporter;
@ISA = qw(Exporter);
@@ -35,10 +36,16 @@ sub rewrite_subject_tag
my $tag = $config->{ subject_tag };
my $subject = $header->get('subject');
+ # cut off Re: Re: Re: ...
+ $self->_cut_off_reply(\$subject);
+
# de-tag
$subject = _delete_subject_tag( $subject, $tag );
- # add the updated tag
+ # cut off Re: Re: Re: ...
+ $self->_cut_off_reply(\$subject);
+
+ # add(prepend) the updated tag
$tag = sprintf($tag, $ml_name, $args->{ id });
my $new_subject = $tag." ".$subject;
$header->replace('subject', $new_subject);
@@ -93,6 +100,22 @@ sub is_reply
}
+sub _cut_off_reply
+{
+ my ($self, $r_subject) = @_;
+
+ my $pkg = 'Dialect::Japanese::Subject';
+ eval qq{ require $pkg; $pkg->import();};
+ unless ($@) {
+ $$r_subject =
+ &Dialect::Japanese::Subject::cut_off_reply_tag($$r_subject);
+ }
+ else {
+ Log($@);
+ }
+}
+
+
sub execute_ticket_system
{
my ($self, $header, $config, $args) = @_;