summaryrefslogtreecommitdiff
path: root/fml/lib/FML/CGI/Admin/Menu.pm
diff options
context:
space:
mode:
authorfukachan <fukachan>2002-03-19 08:02:05 +0000
committerfukachan <fukachan>2002-03-19 08:02:05 +0000
commite47c93d8b1bd5357cf27082b87f22593a186bfc7 (patch)
tree1399f8450f2b15c6ae3e0aa201f8a93fb1072e9e /fml/lib/FML/CGI/Admin/Menu.pm
parente13dce8ae26942c7ea06e9286b6cd5fb63d88af7 (diff)
downloadfml8-e47c93d8b1bd5357cf27082b87f22593a186bfc7.tar.gz
fml8-e47c93d8b1bd5357cf27082b87f22593a186bfc7.tar.bz2
fml8-e47c93d8b1bd5357cf27082b87f22593a186bfc7.zip
o prepend cgi_ or run_cgi to function name.
o implement trampoline mechanism using FML::Command: class. o change: pop_menu -> scrolling_list
Diffstat (limited to 'fml/lib/FML/CGI/Admin/Menu.pm')
-rw-r--r--fml/lib/FML/CGI/Admin/Menu.pm95
1 files changed, 22 insertions, 73 deletions
diff --git a/fml/lib/FML/CGI/Admin/Menu.pm b/fml/lib/FML/CGI/Admin/Menu.pm
index 117eb909..a522728f 100644
--- a/fml/lib/FML/CGI/Admin/Menu.pm
+++ b/fml/lib/FML/CGI/Admin/Menu.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: Menu.pm,v 1.3 2002/03/18 14:19:41 fukachan Exp $
+# $FML: Menu.pm,v 1.4 2002/03/18 15:21:31 fukachan Exp $
#
package FML::CGI::Admin::Menu;
@@ -123,7 +123,7 @@ sub run_cgi_main
{
my ($curproc, $args) = @_;
my $command = $curproc->safe_param_command() || '';
- my $address = $curproc->try_get_address($args);
+ my $address = $curproc->cgi_try_get_address($args);
if ($command && $address) {
my $ml_name = $curproc->safe_param_ml_name();
@@ -139,13 +139,16 @@ sub run_cgi_main
$curproc->cgi_execute_command($args, $command_args);
print hr;
- $curproc->_show_menu($args);
+ $curproc->run_cgi_menu($args, $command);
+ }
+ elsif ($command) {
+ $curproc->run_cgi_menu($args, $command);
}
else {
my $ml_name = $curproc->safe_param_ml_name();
if ($ml_name) {
- $curproc->_show_menu($args);
+ $curproc->run_cgi_help($args);
}
else {
$curproc->run_cgi_help($args);
@@ -158,67 +161,6 @@ sub run_cgi_main
# Arguments: OBJ($curproc) HASH_REF($args)
# Side Effects: none
# Return Value: none
-sub _show_menu
-{
- my ($curproc, $args) = @_;
- my $action = $curproc->myname();
- my $target = '_top';
- my $ml_list = $curproc->get_ml_list($args);
- my $address = $curproc->safe_param_address() || '';
- my $config = $curproc->{ config };
-
- #
- my $address_list = $curproc->get_recipient_list();
- my $command_list =
- $config->get_as_array_ref('available_commands_for_admin_cgi');
-
-
- print start_form(-action=>$action, -target=>$target);
-
- print table( { -border => undef },
- Tr( undef,
- td([
- "ML: ",
- popup_menu(-name => 'ml_name', -values => $ml_list)
- ])
- ),
- Tr( undef,
- td([
- "command: ",
- popup_menu(-name => 'command', -values => $command_list)
- ])
- ),
- Tr( undef,
- td([
- "address: ",
- textfield(-name => 'address_specified',
- -default => $address,
- -override => 1,
- -size => 32,
- -maxlength => 64,
- )
- ])
- ),
- Tr( undef,
- td([
- "",
- popup_menu(-name => 'address_selected',
- -values => $address_list)
- ]),
- )
- );
-
-
- print submit(-name => 'submit');
- print reset(-name => 'reset');
- print end_form;
-}
-
-
-# Descriptions: show menu
-# Arguments: OBJ($curproc) HASH_REF($args)
-# Side Effects: none
-# Return Value: none
sub run_cgi_navigator
{
my ($curproc, $args) = @_;
@@ -231,19 +173,26 @@ sub run_cgi_navigator
$config->get_as_array_ref('available_commands_for_admin_cgi');
# main menu
- {
- my $ml_name = $curproc->safe_param_ml_name() || '?';
- print "<B>fml admin menu</B>\n<BR>\n";
- print "ML: $ml_name\n<BR>\n";
- }
+ my $ml_name = $curproc->safe_param_ml_name() || '?';
+ my $fml_url = '<A HREF="http://www.fml.org/software/fml-devel/">fml</A>';
+ print "<B>$fml_url admin menu</B>\n<BR>\n";
print start_form(-action=>$action, -target=>$target);
- print "Go to: <BR>\n";
- print popup_menu(-name => 'ml_name', -values => $ml_list);
+ print "mailing list:\n";
+ print scrolling_list(-name => 'ml_name',
+ -values => $ml_list,
+ -default => $ml_name,
+ -size => 5);
+ print "\n<BR>\n";
+
+ print " command:\n";
+ print scrolling_list(-name => 'command',
+ -values => $command_list,
+ -size => 5);
print "\n<BR>\n";
- print submit(-name => 'change');
+ print submit(-name => 'submit');
print reset(-name => 'reset');
print end_form;