summaryrefslogtreecommitdiff
path: root/fml/lib/FML/Process
diff options
context:
space:
mode:
authorfukachan <fukachan>2001-11-03 11:49:20 +0000
committerfukachan <fukachan>2001-11-03 11:49:20 +0000
commit8f56aef14e4391f85e10592af7d46a4fcb2a94f3 (patch)
tree2441989081598429e7d1d4cfd9f42c1fa06429d3 /fml/lib/FML/Process
parent3cea8ef0f1b2ead5ac1d7f4f3de4254d520a6181 (diff)
downloadfml8-8f56aef14e4391f85e10592af7d46a4fcb2a94f3.tar.gz
fml8-8f56aef14e4391f85e10592af7d46a4fcb2a94f3.tar.bz2
fml8-8f56aef14e4391f85e10592af7d46a4fcb2a94f3.zip
Mail::ThreadTrack based tread tracking system
FML::Process::TicketSystem -> FML::Process::ThreadTrack
Diffstat (limited to 'fml/lib/FML/Process')
-rw-r--r--fml/lib/FML/Process/Switch.pm6
-rw-r--r--fml/lib/FML/Process/ThreadTrack.pm (renamed from fml/lib/FML/Process/TicketSystem.pm)75
2 files changed, 40 insertions, 41 deletions
diff --git a/fml/lib/FML/Process/Switch.pm b/fml/lib/FML/Process/Switch.pm
index 75ceee2d..d33b9ef1 100644
--- a/fml/lib/FML/Process/Switch.pm
+++ b/fml/lib/FML/Process/Switch.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: Switch.pm,v 1.20 2001/06/28 09:06:44 fukachan Exp $
+# $FML: Switch.pm,v 1.21 2001/10/08 15:49:20 fukachan Exp $
#
package FML::Process::Switch;
@@ -417,7 +417,7 @@ sub _module_we_use
$pkg = 'FML::CGI::TicketSystem';
}
elsif ($name eq 'fmlticket') {
- $pkg = 'FML::Process::TicketSystem';
+ $pkg = 'FML::Process::ThreadTrack';
}
elsif ($name eq 'mead') {
$pkg = 'FML::Process::MailErrorAnalyzer';
@@ -448,7 +448,7 @@ L<FML::Process::Distribute>,
L<FML::Process::Command>,
L<FML::Process::ListServer>,
L<FML::Process::Configure>,
-L<FML::Process::TicketSystem>,
+L<FML::Process::ThreadTrack>,
L<FML::Process::MailErrorAnalyzer>
=cut
diff --git a/fml/lib/FML/Process/TicketSystem.pm b/fml/lib/FML/Process/ThreadTrack.pm
index ebee156d..74e881a4 100644
--- a/fml/lib/FML/Process/TicketSystem.pm
+++ b/fml/lib/FML/Process/ThreadTrack.pm
@@ -4,10 +4,10 @@
# Copyright (C) 2000-2001 Ken'ichi Fukamachi
# All rights reserved.
#
-# $FML: TicketSystem.pm,v 1.15 2001/05/30 04:03:22 fukachan Exp $
+# $FML: ThreadTrack.pm,v 1.16 2001/06/10 11:24:12 fukachan Exp $
#
-package FML::Process::TicketSystem;
+package FML::Process::ThreadTrack;
use vars qw($debug @ISA @EXPORT @EXPORT_OK);
use strict;
@@ -22,16 +22,11 @@ use FML::Config;
=head1 NAME
-FML::Process::TicketSystem -- primitive fml5 ticket system
+FML::Process::ThreadTrack -- primitive thread tracking system
=head1 SYNOPSIS
- use FML::Process::TicketSystem;
- ... snip ...
-
- use FML::Ticket::Model::minimal_states;
- $ticket = FML::Ticket::Model::minimal_states->new($curproc, $args);
- $ticket->$method($curproc, $args);
+See C<Mail::ThreadTrack> module.
=head1 DESCRIPTION
@@ -82,43 +77,47 @@ sub run
{
my ($curproc, $args) = @_;
my $config = $curproc->{ config };
- my $model = $config->{ ticket_model };
- my $pkg = $config->{ ticket_driver };
my $argv = $args->{ ARGV };
my $command = $argv->[ 0 ] || 'list';
- # fake "use FML::Ticket::Model::$model;"
- eval qq{ require $pkg; $pkg->import();};
- unless ($@) {
- my $ticket = $pkg->new($curproc, $args);
- $ticket->mode( { mode => 'text' } );
-
- if ($command eq 'list') {
- $ticket->show_summary($curproc, $args);
- }
- elsif ($command eq 'close') {
- $curproc->lock();
-
- my $ticket_id = $argv->[ 2 ];
- my $args = {
- ticket_id => $ticket_id,
- status => 'close',
- };
- if ($ticket_id) {
- $ticket->set_status($curproc, $args);
- }
- else {
- croak("specify \$ticket_id");
- }
-
- $curproc->unlock();
+ # argumente for thread track module
+ my $ml_name = $config->{ ml_name };
+ my $ticket_db_dir = $config->{ ticket_db_dir };
+ my $spool_dir = $config->{ spool_dir };
+ my $ttargs = {
+ logfp => \&Log,
+ fd => \*STDOUT,
+ db_base_dir => $ticket_db_dir,
+ ml_name => $ml_name,
+ spool_dir => $spool_dir,
+ };
+
+ use Mail::ThreadTrack;
+ my $thread = new Mail::ThreadTrack $ttargs;
+ $thread->set_mode('text');
+
+ if ($command eq 'list') {
+ $thread->show_summary();
+ }
+ elsif ($command eq 'close') {
+ $curproc->lock();
+
+ my $thread_id = $argv->[ 2 ];
+ my $args = {
+ thread_id => $thread_id,
+ status => 'close',
+ };
+ if ($thread_id) {
+ $thread->set_status($curproc, $args);
}
else {
- croak("unknown command=$command\n");
+ croak("specify \$thread_id");
}
+
+ $curproc->unlock();
}
else {
- Log($@);
+ croak("unknown command=$command\n");
}
}