File: //usr/share/webmin/wuftpd/save_misc.cgi
#!/usr/bin/perl
# save_log.cgi
# Save miscellaneous options
require './wuftpd-lib.pl';
&error_setup($text{'misc_err'});
&ReadParse();
&lock_file($config{'ftpaccess'});
$conf = &get_ftpaccess();
# Save ls* commands
foreach $l ('lslong', 'lsshort', 'lsplain') {
if ($in{$l."_def"}) {
&save_directive($conf, $l, [ ]);
}
elsif ($in{$l} !~ /\S/) {
&error($text{"misc_e$l"});
}
else {
&save_directive($conf, $l, [ { 'name' => $l,
'values' => [ $in{$l} ] } ] );
}
}
# Save shutdown command
if ($in{'shutdown_def'}) {
&save_directive($conf, 'shutdown', [ ]);
}
elsif ($in{'shutdown'} !~ /\S/) {
&error($text{'misc_eshutdown'});
}
else {
&save_directive($conf, 'shutdown',
[ { 'name' => 'shutdown',
'values' => [ $in{'shutdown'} ] } ] );
}
# Save nice options
for($i=0; defined($ndelta = $in{"ndelta_$i"}); $i++) {
next if ($ndelta eq '');
$ndelta =~ /^[\-0-9]+$/ || &error(&text('misc_edelta', $ndelta));
push(@nice, { 'name' => 'nice',
'values' => [ $ndelta, $in{"nclass_$i"} ] } );
}
&save_directive($conf, 'nice', \@nice);
# Save defumask options
for($i=0; defined($umask = $in{"umask_$i"}); $i++) {
next if ($umask eq '');
$umask =~ /^[0-9]+$/ || &error(&text('misc_eumask', $umask));
push(@umask, { 'name' => 'defumask',
'values' => [ $umask, $in{"uclass_$i"} ] } );
}
&save_directive($conf, 'defumask', \@umask);
&flush_file_lines();
&unlock_file($config{'ftpaccess'});
&webmin_log("misc", undef, undef, \%in);
&redirect("");