mirror of
https://github.com/webmin/webmin.git
synced 2025-07-20 16:48:46 +00:00
54 lines
1.0 KiB
Perl
Executable File
54 lines
1.0 KiB
Perl
Executable File
#!/usr/local/bin/perl
|
|
# save_export.cgi
|
|
# Save, create or delete an export
|
|
|
|
require './exports-lib.pl';
|
|
&ReadParse();
|
|
&lock_file($config{'exports_file'});
|
|
@exps = &list_exports();
|
|
|
|
if ($in{'delete'}) {
|
|
# Deleting some export
|
|
$exp = $exps[$in{'idx'}];
|
|
&delete_export($exp);
|
|
}
|
|
else {
|
|
if (!$in{'new'}) {
|
|
# Get old export
|
|
$oldexp = $exps[$in{'idx'}];
|
|
%opts = %{$oldexp->{'options'}};
|
|
}
|
|
|
|
# check dir and active
|
|
&error_setup($text{'save_err'});
|
|
-d $in{'dir'} || &error(&text('save_edir', $in{'dir'}));
|
|
$exp{'dir'} = $in{'dir'};
|
|
$exp{'active'} = $in{'active'};
|
|
|
|
# check inputs
|
|
&check_inputs();
|
|
|
|
# validate and parse options
|
|
&set_options();
|
|
|
|
$exp{'options'} = \%opts;
|
|
if ($in{'new'}) {
|
|
&create_export(\%exp);
|
|
}
|
|
else {
|
|
&modify_export(\%exp, $oldexp);
|
|
}
|
|
}
|
|
&unlock_file($config{'exports_file'});
|
|
if ($in{'delete'}) {
|
|
&webmin_log("delete", "export", $exp->{'dir'}, $exp);
|
|
}
|
|
elsif ($in{'new'}) {
|
|
&webmin_log("create", "export", $exp{'dir'}, \%exp);
|
|
}
|
|
else {
|
|
&webmin_log("modify", "export", $exp{'dir'}, \%exp);
|
|
}
|
|
&redirect("");
|
|
|