#!/usr/bin/perl # index.cgi # Display a list of directories and their client(s) $| = 1; require './exports-lib.pl'; &ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1, 0, &help_search_link("nfs exports", "man", "howto")); if (!&has_nfs_commands()) { print $text{'index_eprog'},"
\n";
&ui_print_footer("/", $text{'index'});
exit;
}
# Display table of exports and clients
@exps = &list_exports();
if (@exps) {
print &ui_form_start("delete_exports.cgi", "post");
@dirs = &unique(map { $_->{'dir'} } @exps);
# Directory list heading
print &select_all_link("d"),"\n";
print &select_invert_link("d"),"\n";
print "$text{'index_add'}
\n";
@tds = ( "width=5" );
print &ui_columns_start([ "",
$text{'index_dir'},
$text{'index_to'} ], 100, 0, \@tds);
# Rows for directories and clients
foreach $d (@dirs) {
local @cols;
if ($d ne $nfsv4_root) {
push(@cols, &html_escape($d));
}
else {
push(@cols, "".
&html_escape($d)." (".$text{'index_vr'}.")".
"");
}
local $dirs;
@cl = grep { $_->{'dir'} eq $d } @exps;
$ccount = 0;
foreach $c (@cl) {
$dirs .= " | " if ($ccount++);
$dirs .= &ui_link("edit_export.cgi?idx=$c->{'index'}",
&describe_host($c->{'host'})),"\n";
if (!$c->{'active'}) {
$dirs .= "(".
$text{'index_inactive'}.")\n"
}
}
push(@cols, $dirs);
print &ui_checked_columns_row(\@cols, \@tds, "d", $d);
}
print &ui_columns_end();
print &select_all_link("d"),"\n";
print &select_invert_link("d"),"\n";
print &ui_link("edit_export.cgi?new=1", $text{'index_add'}),"
\n";
print &ui_form_end([ [ "delete", $text{'index_delete'} ],
[ "disable", $text{'index_disable'} ],
[ "enable", $text{'index_enable'} ] ]);
}
else {
print "$text{'index_none'}
\n"; print &ui_link("edit_export.cgi?new=1", $text{'index_add'}),"
\n"; } print "
| \n"; print " | $text{'index_applymsg'} | \n"; print "