mirror of
https://github.com/webmin/webmin.git
synced 2025-07-20 16:48:46 +00:00
95 lines
2.5 KiB
Perl
Executable File
95 lines
2.5 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
# index.cgi
|
|
# Display icons for the various shorewall configuration files
|
|
|
|
require './shorewall-lib.pl';
|
|
|
|
if (!&has_command($config{'shorewall'})) {
|
|
&ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1);
|
|
print "<p>",&text('index_ecmd', "<tt>$config{'shorewall'}</tt>",
|
|
"@{[&get_webprefix()]}/config.cgi?$module_name"),"<p>\n";
|
|
}
|
|
else {
|
|
# Get the version
|
|
$shorewall_version = &get_shorewall_version(1);
|
|
&open_tempfile(VERSION, ">$module_config_directory/version");
|
|
&print_tempfile(VERSION, $shorewall_version,"\n");
|
|
&close_tempfile(VERSION);
|
|
|
|
&ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1, 0,
|
|
&help_search_link("shorewall", "doc", "google"),
|
|
undef, undef, &text('index_version', &get_printable_version($shorewall_version)));
|
|
|
|
if (!-d $config{'config_dir'}) {
|
|
# Config dir not found!
|
|
print "<p>",&text('index_edir',
|
|
"<tt>$config{'config_dir'}</tt>",
|
|
"@{[&get_webprefix()]}/config.cgi?$module_name"),"<p>\n";
|
|
}
|
|
else {
|
|
# Just show the file icons
|
|
@files = grep { &can_access($_) } @shorewall_files;
|
|
@titles = map { $text{&clean_name($_)."_title"}."<br>($_)" } @files;
|
|
@links = map { "list.cgi?table=".$_ } @files;
|
|
@icons = map { "images/".$_.".gif" } @files;
|
|
&icons_table(\@links, \@titles, \@icons, 4);
|
|
|
|
# Check if shorewall is running by looking for the 'shorewall'
|
|
# chain in the filter table
|
|
print &ui_hr();
|
|
print &ui_buttons_start();
|
|
my $ex = system("$config{'shorewall'} status 2>&1");
|
|
|
|
if ($ex && !$access{'nochange'}) {
|
|
# Down .. offer to start
|
|
print &ui_buttons_row(
|
|
"start.cgi",
|
|
$text{'index_start'},
|
|
$text{'index_startdesc'});
|
|
}
|
|
elsif (!$ex && !$access{'nochange'}) {
|
|
# Up .. offer to restart, clear and stop
|
|
print &ui_buttons_row(
|
|
"restart.cgi",
|
|
$text{'index_restart'},
|
|
$text{'index_restartdesc'});
|
|
|
|
print &ui_buttons_row(
|
|
"refresh.cgi",
|
|
$text{'index_refresh'},
|
|
$text{'index_refreshdesc'});
|
|
|
|
print &ui_buttons_row(
|
|
"clear.cgi",
|
|
$text{'index_clear'},
|
|
$text{'index_cleardesc'});
|
|
|
|
print &ui_buttons_row(
|
|
"stop.cgi",
|
|
$text{'index_stop'},
|
|
$text{'index_stopdesc'});
|
|
}
|
|
if (!$ex) {
|
|
print &ui_buttons_row(
|
|
"status.cgi",
|
|
$text{'index_status'},
|
|
$text{'index_statusdesc'});
|
|
}
|
|
|
|
# Check and dump buttons
|
|
print &ui_buttons_row(
|
|
"check.cgi",
|
|
$text{'index_check'},
|
|
$text{'index_checkdesc'});
|
|
print &ui_buttons_row(
|
|
"dump.cgi",
|
|
$text{'index_dump'},
|
|
$text{'index_dumpdesc'});
|
|
|
|
print &ui_buttons_end();
|
|
}
|
|
}
|
|
|
|
&ui_print_footer("/", $text{'index'});
|
|
|