summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfukachan <fukachan>2001-11-11 13:37:40 +0000
committerfukachan <fukachan>2001-11-11 13:37:40 +0000
commit10ba2623d01ca0cb7475bbd74aa72b8370e554f0 (patch)
treec4963d54381aab915c4818b0bc0312f6532cb7d6
parent9355ffe6229e1b86cfc968806ab2e2057732436e (diff)
downloadfml8-10ba2623d01ca0cb7475bbd74aa72b8370e554f0.tar.gz
fml8-10ba2623d01ca0cb7475bbd74aa72b8370e554f0.tar.bz2
fml8-10ba2623d01ca0cb7475bbd74aa72b8370e554f0.zip
ThreadTrack switches acconding to myname ($0).
threadview is view only and cannot change status.
-rw-r--r--fml/lib/FML/CGI/ThreadTrack.pm37
-rw-r--r--fml/lib/FML/Process/Distribute.pm4
-rw-r--r--fml/lib/FML/Process/Switch.pm15
-rw-r--r--fml/lib/FML/Process/ThreadTrack.pm4
-rwxr-xr-xfml/lib/Mail/ThreadTrack.pm4
-rw-r--r--fml/lib/Mail/ThreadTrack/Print/HTML.pm6
6 files changed, 44 insertions, 26 deletions
diff --git a/fml/lib/FML/CGI/ThreadTrack.pm b/fml/lib/FML/CGI/ThreadTrack.pm
index 86022fd0..92ca9cbf 100644
--- a/fml/lib/FML/CGI/ThreadTrack.pm
+++ b/fml/lib/FML/CGI/ThreadTrack.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: ThreadTrack.pm,v 1.3 2001/11/11 02:46:42 fukachan Exp $
+# $FML: ThreadTrack.pm,v 1.4 2001/11/11 11:12:27 fukachan Exp $
#
package FML::CGI::ThreadTrack;
@@ -49,10 +49,10 @@ C<FML::Process::CGI> base class.
sub html_start
{
my ($curproc, $args) = @_;
- my $config = $curproc->{ config };
- my $title = $config->{ thread_cgi_title } || 'thread system interface';
- my $color = $config->{ thread_cgi_bgcolor } || '#E6E6FA';
- my $myname = $config->{ program_name };
+ my $config = $curproc->{ config };
+ my $title = $config->{ thread_cgi_title } || 'thread system interface';
+ my $color = $config->{ thread_cgi_bgcolor } || '#E6E6FA';
+ my $myname = $curproc->myname();
my $charset = $config->{ cgi_charset } || 'euc-jp';
# o.k start html
@@ -101,17 +101,24 @@ sub run_cgi
$thread->show($tid);
}
elsif ($action eq 'change_status') {
- my (@id);
- for my $param (param()) {
- my $req = param($param);
- if ($req eq 'closed') {
- if ($param =~ /^change_status\.(\S+)\/(\d+)$/) {
- my $tid = $thread->_create_thread_id_strings($2);
- print "closed $tid\n"; print br;
- $thread->close($tid);
+ # fmlthread.cgi is for administorator, so you can change status.
+ if ($myname eq 'fmlthread.cgi') {
+ my (@id);
+ for my $param (param()) {
+ my $req = param($param);
+ if ($req eq 'closed') {
+ if ($param =~ /^change_status\.(\S+)\/(\d+)$/) {
+ my $tid = $thread->_create_thread_id_strings($2);
+ print "closed $tid\n"; print br;
+ $thread->close($tid);
+ }
}
}
}
+ else {
+ print "Warning: only administrator change status\n";
+ }
+
$thread->summary();
}
else {
@@ -124,6 +131,7 @@ sub _build_param
{
my ($curproc, $args) = @_;
my $config = $curproc->{ config };
+ my $myname = $config->{ program_name };
# argumente for thread track module
my $ml_name = $curproc->safe_param_ml_name();
@@ -131,6 +139,7 @@ sub _build_param
my $spool_dir = $config->{ spool_dir };
my $max_id = $curproc->article_id_max();
my $ttargs = {
+ myname => $myname,
logfp => \&Log,
fd => \*STDOUT,
db_base_dir => $thread_db_dir,
@@ -147,7 +156,7 @@ sub _show_guide
{
my ($curproc, $args) = @_;
my $config = $curproc->{ config };
- my $myname = $config->{ program_name };
+ my $myname = $config->{ program_name };
my $action = $myname;
my $target = $config->{ thread_cgi_target_window } || 'ThreadCGIWindow';
my $ml_list = $curproc->get_ml_list($args);
diff --git a/fml/lib/FML/Process/Distribute.pm b/fml/lib/FML/Process/Distribute.pm
index 271d0297..e47b0bdd 100644
--- a/fml/lib/FML/Process/Distribute.pm
+++ b/fml/lib/FML/Process/Distribute.pm
@@ -4,7 +4,7 @@
# Copyright (C) 2000,2001 Ken'ichi Fukamachi
# All rights reserved.
#
-# $FML: Distribute.pm,v 1.50 2001/11/03 09:57:32 fukachan Exp $
+# $FML: Distribute.pm,v 1.51 2001/11/04 04:42:52 fukachan Exp $
#
package FML::Process::Distribute;
@@ -317,12 +317,14 @@ sub _thread_check
my ($curproc, $args) = @_;
my $config = $curproc->{ config };
my $pcb = $curproc->{ pcb };
+ my $myname = $curproc->myname();
my $ml_name = $config->{ ml_name };
my $thread_db_dir = $config->{ thread_db_dir };
my $spool_dir = $config->{ spool_dir };
my $article_id = $pcb->get('article', 'id');
my $ttargs = {
+ myname => $myname,
logfp => \&Log,
fd => \*STDOUT,
db_base_dir => $thread_db_dir,
diff --git a/fml/lib/FML/Process/Switch.pm b/fml/lib/FML/Process/Switch.pm
index 2bf82274..21a8e375 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.34 2001/11/09 13:23:14 fukachan Exp $
+# $FML: Switch.pm,v 1.35 2001/11/10 04:01:11 fukachan Exp $
#
package FML::Process::Switch;
@@ -350,7 +350,10 @@ sub _module_specific_options
$myname eq 'loader' ) {
return qw(ctladdr! debug! params=s -c=s);
}
- elsif ($myname eq 'fmlthread'|| $myname eq 'fmlthread.cgi') {
+ elsif ($myname eq 'fmlthread' ||
+ $myname eq 'fmlthread.cgi' ||
+ $myname eq 'thread.cgi' ||
+ $myname eq 'threadview.cgi') {
return qw(debug!
article_id_max=i
spool_dir=s
@@ -437,12 +440,14 @@ sub _module_we_use
elsif ($name eq 'fmlconf' || $name eq 'makefml') {
$pkg = 'FML::Process::Configure';
}
- elsif ($name eq 'fmlthread.cgi') {
- $pkg = 'FML::CGI::ThreadTrack';
- }
elsif ($name eq 'fmlthread') {
$pkg = 'FML::Process::ThreadTrack';
}
+ elsif ($name eq 'fmlthread.cgi' ||
+ $name eq 'thread.cgi' ||
+ $name eq 'threadview.cgi') {
+ $pkg = 'FML::CGI::ThreadTrack';
+ }
elsif ($name eq 'mead') {
$pkg = 'FML::Process::MailErrorAnalyzer';
}
diff --git a/fml/lib/FML/Process/ThreadTrack.pm b/fml/lib/FML/Process/ThreadTrack.pm
index e94ed36c..6442d0c9 100644
--- a/fml/lib/FML/Process/ThreadTrack.pm
+++ b/fml/lib/FML/Process/ThreadTrack.pm
@@ -4,7 +4,7 @@
# Copyright (C) 2000-2001 Ken'ichi Fukamachi
# All rights reserved.
#
-# $FML: ThreadTrack.pm,v 1.10 2001/11/07 09:28:27 fukachan Exp $
+# $FML: ThreadTrack.pm,v 1.11 2001/11/09 13:23:15 fukachan Exp $
#
package FML::Process::ThreadTrack;
@@ -74,6 +74,7 @@ sub run
{
my ($curproc, $args) = @_;
my $config = $curproc->{ config };
+ my $myname = $curproc->myname();
my $argv = $curproc->command_line_argv();
my $options = $curproc->command_line_options();
my $mydir = defined $options->{spool_dir} ? $options->{spool_dir} : '';
@@ -86,6 +87,7 @@ sub run
my $max_id = defined $options->{ article_id_max } ?
$options->{ article_id_max } : $curproc->article_id_max();
my $ttargs = {
+ myname => $myname,
logfp => \&Log,
fd => \*STDOUT,
db_base_dir => $thread_db_dir,
diff --git a/fml/lib/Mail/ThreadTrack.pm b/fml/lib/Mail/ThreadTrack.pm
index aeff51e2..e4fdaa81 100755
--- a/fml/lib/Mail/ThreadTrack.pm
+++ b/fml/lib/Mail/ThreadTrack.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: ThreadTrack.pm,v 1.15 2001/11/11 00:58:44 fukachan Exp $
+# $FML: ThreadTrack.pm,v 1.16 2001/11/11 11:12:28 fukachan Exp $
#
package Mail::ThreadTrack;
@@ -82,7 +82,7 @@ sub new
db_type => 'AnyDBM_File',
};
- my @keys = qw(ml_name spool_dir article_id db_base_dir reverse_order);
+ my @keys = qw(myname ml_name spool_dir article_id db_base_dir reverse_order);
my %must = ('ml_name' => 1, 'spool_dir' => 1, 'db_base_dir' => 1);
for my $key (@keys) {
diff --git a/fml/lib/Mail/ThreadTrack/Print/HTML.pm b/fml/lib/Mail/ThreadTrack/Print/HTML.pm
index eb0399dd..f635d679 100644
--- a/fml/lib/Mail/ThreadTrack/Print/HTML.pm
+++ b/fml/lib/Mail/ThreadTrack/Print/HTML.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: HTML.pm,v 1.4 2001/11/11 00:57:36 fukachan Exp $
+# $FML: HTML.pm,v 1.5 2001/11/11 11:12:28 fukachan Exp $
#
package Mail::ThreadTrack::Print::HTML;
@@ -71,7 +71,7 @@ sub __start_thread_summary
my $config = $self->{ _config };
my $ml_name = $config->{ ml_name };
my $fd = $self->{ _fd } || \*STDOUT;
- my $action = "fmlthread.cgi";
+ my $action = $config->{ myname };
my $target = "ResultsWindow";
# statistics
@@ -137,7 +137,7 @@ sub __print_thread_summary
my $config = $self->{ _config };
my $ml_name = $config->{ ml_name };
my $spool_dir = $config->{ spool_dir };
- my $action = 'fmlthread.cgi';
+ my $action = $config->{ myname };
my $target = $config->{ thread_cgi_target_window } || 'ThreadCGIWindow';
my $date = $optargs->{ date };