Current File : //usr/share/webmin/cluster-shell/index.cgi |
#!/usr/bin/perl
# index.cgi
# Shows a form for running a command, allowing the selection of a server or
# group of servers to run it on.
require './cluster-shell-lib.pl';
&ui_print_header(undef, $text{'index_title'}, "", "intro", 0, 1);
print &ui_form_start("run.cgi", "post");
print &ui_table_start(undef, undef, 2);
print &ui_table_row($text{'index_cmd'},
&ui_textbox("cmd", undef, 60));
open(COMMANDS, "<$commands_file");
chop(@commands = <COMMANDS>);
close(COMMANDS);
if (@commands) {
print &ui_table_row($text{'index_old'},
&ui_select("old", undef,
[ map { [ $_, &html_escape($_) ] }
unique(@commands) ])." ".
&ui_button($text{'index_edit'}, "clear", undef,
"onClick='form.cmd.value = form.old.value'").
" ".
&ui_button($text{'index_clear'}, "clear", undef,
"onClick='window.location = \"run.cgi?clear=1\"'"));
}
@opts = ( [ "ALL", $text{'index_all'} ],
[ "*", $text{'index_this'} ] );
foreach $s (grep { $_->{'user'} }
sort { $a->{'host'} cmp $b->{'host'} }
&servers::list_servers()) {
push(@opts, [ $s->{'host'},
$s->{'host'}.($s->{'desc'} ? " (".$s->{'desc'}.")" : "") ]);
}
foreach $g (&servers::list_all_groups()) {
$gn = "group_".$g->{'name'};
push(@opts, [ $gn, &text('index_group', $g->{'name'}) ]);
}
print &ui_table_row($text{'index_server'},
&ui_select("server", [ split(/ /, $config{'server'}) ],
\@opts, 10, 1));
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'index_run'} ] ]);
&ui_print_footer("/", $text{'index'});