summaryrefslogtreecommitdiff
path: root/fml/lib/FML/Command
diff options
context:
space:
mode:
authorfukachan <fukachan>2002-07-13 09:45:41 +0000
committerfukachan <fukachan>2002-07-13 09:45:41 +0000
commit831714d0fedfc4188a17c1a75c38d7f8918368eb (patch)
treec3ba93df3dfc2c28d98ac354f4cace2b66b3f4df /fml/lib/FML/Command
parent0ddc9e463372f57630685619cbd55c802854268d (diff)
downloadfml8-831714d0fedfc4188a17c1a75c38d7f8918368eb.tar.gz
fml8-831714d0fedfc4188a17c1a75c38d7f8918368eb.tar.bz2
fml8-831714d0fedfc4188a17c1a75c38d7f8918368eb.zip
define admin {add,del}{user,admin} / admin {user,admin}{add,del}
Diffstat (limited to 'fml/lib/FML/Command')
-rw-r--r--fml/lib/FML/Command/Admin/adduser.pm61
-rw-r--r--fml/lib/FML/Command/Admin/adminadd.pm61
-rw-r--r--fml/lib/FML/Command/Admin/deladmin.pm130
-rw-r--r--fml/lib/FML/Command/Admin/deluser.pm61
-rw-r--r--fml/lib/FML/Command/Admin/useradd.pm61
-rw-r--r--fml/lib/FML/Command/Admin/userdel.pm61
6 files changed, 435 insertions, 0 deletions
diff --git a/fml/lib/FML/Command/Admin/adduser.pm b/fml/lib/FML/Command/Admin/adduser.pm
new file mode 100644
index 00000000..45d8a7a3
--- /dev/null
+++ b/fml/lib/FML/Command/Admin/adduser.pm
@@ -0,0 +1,61 @@
+#-*- perl -*-
+#
+# Copyright (C) 2002 Ken'ichi Fukamachi
+# All rights reserved. This program is free software; you can
+# redistribute it and/or modify it under the same terms as Perl itself.
+#
+# $FML: adduser.pm,v 1.6 2002/04/03 11:32:58 fukachan Exp $
+#
+
+package FML::Command::Admin::adduser;
+use strict;
+use vars qw(@ISA @EXPORT @EXPORT_OK $AUTOLOAD);
+use Carp;
+
+
+use FML::Command::Admin::subscribe;
+@ISA = qw(FML::Command::Admin::subscribe);
+
+
+# Descriptions: subscribe user
+# Arguments: OBJ($self) OBJ($curproc) HASH_REF($command_args)
+# Side Effects: forward request to subscribe module
+# Return Value: none
+sub process
+{
+ my ($self, $curproc, $command_args) = @_;
+ $self->SUPER::process($curproc, $command_args);
+}
+
+=head1 NAME
+
+FML::Command::Admin::adduser - add a new member
+
+=head1 SYNOPSIS
+
+See C<FML::Command> for more details.
+
+=head1 DESCRIPTION
+
+an alias of C<FML::Command::Admin::subscribe>.
+
+=head1 AUTHOR
+
+Ken'ichi Fukamachi
+
+=head1 COPYRIGHT
+
+Copyright (C) 2002 Ken'ichi Fukamachi
+
+All rights reserved. This program is free software; you can
+redistribute it and/or modify it under the same terms as Perl itself.
+
+=head1 HISTORY
+
+FML::Command::Admin::adduser appeared in fml5 mailing list driver package.
+See C<http://www.fml.org/> for more details.
+
+=cut
+
+
+1;
diff --git a/fml/lib/FML/Command/Admin/adminadd.pm b/fml/lib/FML/Command/Admin/adminadd.pm
new file mode 100644
index 00000000..ce936694
--- /dev/null
+++ b/fml/lib/FML/Command/Admin/adminadd.pm
@@ -0,0 +1,61 @@
+#-*- perl -*-
+#
+# Copyright (C) 2002 Ken'ichi Fukamachi
+# All rights reserved. This program is free software; you can
+# redistribute it and/or modify it under the same terms as Perl itself.
+#
+# $FML: adminadd.pm,v 1.6 2002/04/03 11:32:58 fukachan Exp $
+#
+
+package FML::Command::Admin::adminadd;
+use strict;
+use vars qw(@ISA @EXPORT @EXPORT_OK $AUTOLOAD);
+use Carp;
+
+
+use FML::Command::Admin::addadmin;
+@ISA = qw(FML::Command::Admin::addadmin);
+
+
+# Descriptions: add an admin user
+# Arguments: OBJ($self) OBJ($curproc) HASH_REF($command_args)
+# Side Effects: forward request to subscribe module
+# Return Value: none
+sub process
+{
+ my ($self, $curproc, $command_args) = @_;
+ $self->SUPER::process($curproc, $command_args);
+}
+
+=head1 NAME
+
+FML::Command::Admin::adminadd - add a new admin
+
+=head1 SYNOPSIS
+
+See C<FML::Command> for more details.
+
+=head1 DESCRIPTION
+
+an alias of C<FML::Command::Admin::addadmin>.
+
+=head1 AUTHOR
+
+Ken'ichi Fukamachi
+
+=head1 COPYRIGHT
+
+Copyright (C) 2002 Ken'ichi Fukamachi
+
+All rights reserved. This program is free software; you can
+redistribute it and/or modify it under the same terms as Perl itself.
+
+=head1 HISTORY
+
+FML::Command::Admin::adminadd appeared in fml5 mailing list driver package.
+See C<http://www.fml.org/> for more details.
+
+=cut
+
+
+1;
diff --git a/fml/lib/FML/Command/Admin/deladmin.pm b/fml/lib/FML/Command/Admin/deladmin.pm
new file mode 100644
index 00000000..c0937b60
--- /dev/null
+++ b/fml/lib/FML/Command/Admin/deladmin.pm
@@ -0,0 +1,130 @@
+#-*- perl -*-
+#
+# Copyright (C) 2001,2002 Ken'ichi Fukamachi
+# All rights reserved. This program is free software; you can
+# redistribute it and/or modify it under the same terms as Perl itself.
+#
+# $FML: deladmin.pm,v 1.4 2002/07/02 12:07:33 fukachan Exp $
+#
+
+package FML::Command::Admin::deladmin;
+use strict;
+use vars qw(@ISA @EXPORT @EXPORT_OK $AUTOLOAD);
+use Carp;
+
+
+=head1 NAME
+
+FML::Command::Admin::deladmin - remove the specified administrator
+
+=head1 SYNOPSIS
+
+See C<FML::Command> for more details.
+
+=head1 DESCRIPTION
+
+deladmin a new user.
+
+=head1 METHODS
+
+=head2 C<process($curproc, $command_args)>
+
+=cut
+
+
+# Descriptions: standard constructor
+# Arguments: OBJ($self)
+# Side Effects: none
+# Return Value: OBJ
+sub new
+{
+ my ($self) = @_;
+ my ($type) = ref($self) || $self;
+ my $me = {};
+ return bless $me, $type;
+}
+
+
+# Descriptions: need lock or not
+# Arguments: none
+# Side Effects: none
+# Return Value: NUM( 1 or 0)
+sub need_lock { 1;}
+
+
+# Descriptions: remove the specified administrator
+# Arguments: OBJ($self) OBJ($curproc) HASH_REF($command_args)
+# Side Effects: update $member_map $recipient_map
+# Return Value: none
+sub process
+{
+ my ($self, $curproc, $command_args) = @_;
+ my $config = $curproc->{ config };
+ my $member_map = $config->{ primary_admin_member_map };
+ my $options = $command_args->{ options };
+ my $address = $command_args->{ command_data } || $options->[ 0 ];
+
+ # fundamental check
+ croak("address is not undefined") unless defined $address;
+ croak("member_map is not undefined") unless defined $member_map;
+ croak("address is not specified") unless $address;
+ croak("member_map is not specified") unless $member_map;
+
+ # FML::Command::UserControl specific parameters
+ my $uc_args = {
+ address => $address,
+ maplist => [ $member_map ],
+ };
+ my $r = '';
+
+ eval q{
+ use FML::Command::UserControl;
+ my $obj = new FML::Command::UserControl;
+ $obj->userdel($curproc, $command_args, $uc_args);
+ };
+ if ($r = $@) {
+ croak($r);
+ }
+}
+
+
+# Descriptions: show cgi menu to remove the administrator
+# Arguments: OBJ($self) OBJ($curproc) HASH_REF($command_args)
+# Side Effects: update $member_map $recipient_map
+# Return Value: none
+sub cgi_menu
+{
+ my ($self, $curproc, $args, $command_args) = @_;
+ my $r = '';
+
+ eval q{
+ use FML::CGI::Admin::User;
+ my $obj = new FML::CGI::Admin::User;
+ $obj->cgi_menu($curproc, $args, $command_args);
+ };
+ if ($r = $@) {
+ croak($r);
+ }
+}
+
+
+=head1 AUTHOR
+
+Ken'ichi Fukamachi
+
+=head1 COPYRIGHT
+
+Copyright (C) 2001,2002 Ken'ichi Fukamachi
+
+All rights reserved. This program is free software; you can
+redistribute it and/or modify it under the same terms as Perl itself.
+
+=head1 HISTORY
+
+FML::Command::Admin::deladmin appeared in fml5 mailing list driver package.
+See C<http://www.fml.org/> for more details.
+
+=cut
+
+
+1;
diff --git a/fml/lib/FML/Command/Admin/deluser.pm b/fml/lib/FML/Command/Admin/deluser.pm
new file mode 100644
index 00000000..3f6c8297
--- /dev/null
+++ b/fml/lib/FML/Command/Admin/deluser.pm
@@ -0,0 +1,61 @@
+#-*- perl -*-
+#
+# Copyright (C) 2001,2002 Ken'ichi Fukamachi
+# All rights reserved. This program is free software; you can
+# redistribute it and/or modify it under the same terms as Perl itself.
+#
+# $FML: deluser.pm,v 1.7 2002/04/03 11:32:59 fukachan Exp $
+#
+
+package FML::Command::Admin::deluser;
+use strict;
+use vars qw(@ISA @EXPORT @EXPORT_OK $AUTOLOAD);
+use Carp;
+
+
+use FML::Command::Admin::unsubscribe;
+@ISA = qw(FML::Command::Admin::unsubscribe);
+
+
+# Descriptions: unsubscribe user
+# Arguments: OBJ($self) OBJ($curproc) HASH_REF($command_args)
+# Side Effects: forward request to unsubscribe module
+# Return Value: none
+sub process
+{
+ my ($self, $curproc, $command_args) = @_;
+ $self->SUPER::process($curproc, $command_args);
+}
+
+=head1 NAME
+
+FML::Command::Admin::deluser - remove the specified user
+
+=head1 SYNOPSIS
+
+See C<FML::Command> for more details.
+
+=head1 DESCRIPTION
+
+all requests are forwarded to C<FML::Command::Admin::unsubscribe>.
+
+=head1 AUTHOR
+
+Ken'ichi Fukamachi
+
+=head1 COPYRIGHT
+
+Copyright (C) 2001,2002 Ken'ichi Fukamachi
+
+All rights reserved. This program is free software; you can
+redistribute it and/or modify it under the same terms as Perl itself.
+
+=head1 HISTORY
+
+FML::Command::Admin::deluser appeared in fml5 mailing list driver package.
+See C<http://www.fml.org/> for more details.
+
+=cut
+
+
+1;
diff --git a/fml/lib/FML/Command/Admin/useradd.pm b/fml/lib/FML/Command/Admin/useradd.pm
new file mode 100644
index 00000000..96a1247a
--- /dev/null
+++ b/fml/lib/FML/Command/Admin/useradd.pm
@@ -0,0 +1,61 @@
+#-*- perl -*-
+#
+# Copyright (C) 2002 Ken'ichi Fukamachi
+# All rights reserved. This program is free software; you can
+# redistribute it and/or modify it under the same terms as Perl itself.
+#
+# $FML: useradd.pm,v 1.6 2002/04/03 11:32:58 fukachan Exp $
+#
+
+package FML::Command::Admin::useradd;
+use strict;
+use vars qw(@ISA @EXPORT @EXPORT_OK $AUTOLOAD);
+use Carp;
+
+
+use FML::Command::Admin::subscribe;
+@ISA = qw(FML::Command::Admin::subscribe);
+
+
+# Descriptions: subscribe user
+# Arguments: OBJ($self) OBJ($curproc) HASH_REF($command_args)
+# Side Effects: forward request to subscribe module
+# Return Value: none
+sub process
+{
+ my ($self, $curproc, $command_args) = @_;
+ $self->SUPER::process($curproc, $command_args);
+}
+
+=head1 NAME
+
+FML::Command::Admin::useradd - add a new member
+
+=head1 SYNOPSIS
+
+See C<FML::Command> for more details.
+
+=head1 DESCRIPTION
+
+an alias of C<FML::Command::Admin::subscribe>.
+
+=head1 AUTHOR
+
+Ken'ichi Fukamachi
+
+=head1 COPYRIGHT
+
+Copyright (C) 2002 Ken'ichi Fukamachi
+
+All rights reserved. This program is free software; you can
+redistribute it and/or modify it under the same terms as Perl itself.
+
+=head1 HISTORY
+
+FML::Command::Admin::useradd appeared in fml5 mailing list driver package.
+See C<http://www.fml.org/> for more details.
+
+=cut
+
+
+1;
diff --git a/fml/lib/FML/Command/Admin/userdel.pm b/fml/lib/FML/Command/Admin/userdel.pm
new file mode 100644
index 00000000..f12c0d0a
--- /dev/null
+++ b/fml/lib/FML/Command/Admin/userdel.pm
@@ -0,0 +1,61 @@
+#-*- perl -*-
+#
+# Copyright (C) 2001,2002 Ken'ichi Fukamachi
+# All rights reserved. This program is free software; you can
+# redistribute it and/or modify it under the same terms as Perl itself.
+#
+# $FML: userdel.pm,v 1.7 2002/04/03 11:32:59 fukachan Exp $
+#
+
+package FML::Command::Admin::userdel;
+use strict;
+use vars qw(@ISA @EXPORT @EXPORT_OK $AUTOLOAD);
+use Carp;
+
+
+use FML::Command::Admin::unsubscribe;
+@ISA = qw(FML::Command::Admin::unsubscribe);
+
+
+# Descriptions: unsubscribe user
+# Arguments: OBJ($self) OBJ($curproc) HASH_REF($command_args)
+# Side Effects: forward request to unsubscribe module
+# Return Value: none
+sub process
+{
+ my ($self, $curproc, $command_args) = @_;
+ $self->SUPER::process($curproc, $command_args);
+}
+
+=head1 NAME
+
+FML::Command::Admin::userdel - remove the specified user
+
+=head1 SYNOPSIS
+
+See C<FML::Command> for more details.
+
+=head1 DESCRIPTION
+
+all requests are forwarded to C<FML::Command::Admin::unsubscribe>.
+
+=head1 AUTHOR
+
+Ken'ichi Fukamachi
+
+=head1 COPYRIGHT
+
+Copyright (C) 2001,2002 Ken'ichi Fukamachi
+
+All rights reserved. This program is free software; you can
+redistribute it and/or modify it under the same terms as Perl itself.
+
+=head1 HISTORY
+
+FML::Command::Admin::userdel appeared in fml5 mailing list driver package.
+See C<http://www.fml.org/> for more details.
+
+=cut
+
+
+1;