Current File : //usr/share/webmin/exports/delete_exports.cgi |
#!/usr/bin/perl
# Delete, disable or enable all exports for some directories
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
require './exports-lib.pl';
our (%text, %in, %config);
# Validate inputs
&error_setup($text{'delete_err'});
&ReadParse();
my @d = split(/\0/, $in{'d'});
@d || &error($text{'delete_enone'});
# Find the actual clients
&lock_file($config{'exports_file'});
my @exps = &list_exports();
my @dels;
foreach my $e (@exps) {
if (&indexof($e->{'dir'}, @d) >= 0) {
push(@dels, $e);
}
}
# Take them out, one by one
foreach my $d (reverse(@dels)) {
if ($in{'delete'}) {
&delete_export($d);
}
elsif ($in{'disable'} && $d->{'active'}) {
$d->{'active'} = 0;
&modify_export($d, $d);
}
elsif ($in{'enable'} && !$d->{'active'}) {
$d->{'active'} = 1;
&modify_export($d, $d);
}
}
&unlock_file($config{'exports_file'});
&webmin_log($in{'delete'} ? "delete" : $in{'disable'} ? "disable" : "enable",
"exports", scalar(@dels));
&redirect("");