mirror of
https://github.com/webmin/webmin.git
synced 2025-07-20 16:48:46 +00:00
73 lines
1.6 KiB
Perl
Executable File
73 lines
1.6 KiB
Perl
Executable File
#!/usr/local/bin/perl
|
|
# save_user.cgi
|
|
# Save other user options
|
|
|
|
require './spam-lib.pl';
|
|
&error_setup($text{'user_err'});
|
|
&ReadParse();
|
|
&set_config_file_in(\%in);
|
|
&can_use_check("user");
|
|
&execute_before("user");
|
|
&lock_spam_files();
|
|
$conf = &get_config();
|
|
|
|
if ($in{'dns'} == 1) {
|
|
&save_directives($conf, 'dns_available', [ 'yes' ], 1);
|
|
}
|
|
elsif ($in{'dns'} == 0) {
|
|
&save_directives($conf, 'dns_available', [ 'no' ], 1);
|
|
}
|
|
elsif ($in{'dns'} == -1) {
|
|
&save_directives($conf, 'dns_available', [ ], 1);
|
|
}
|
|
else {
|
|
local $test = "test";
|
|
if ($in{'dnslist'}) {
|
|
$test .= ": $in{'dnslist'}";
|
|
}
|
|
if ($config{'defaults'} && !$in{'dnslist'}) {
|
|
&save_directives($conf, 'dns_available', [ ]);
|
|
}
|
|
else {
|
|
&save_directives($conf, 'dns_available', [ $test ], 1);
|
|
}
|
|
}
|
|
|
|
&parse_opt($conf, "razor_timeout", \&check_timeout);
|
|
|
|
&parse_opt($conf, "dcc_path", \&check_path);
|
|
&parse_opt($conf, "dcc_body_max", \&check_max);
|
|
&parse_opt($conf, "dcc_timeout", \&check_timeout);
|
|
&parse_opt($conf, "dcc_fuz1_max", \&check_max);
|
|
&parse_opt($conf, "dcc_fuz2_max", \&check_max);
|
|
if (!&version_atleast(3)) {
|
|
&parse_yes_no($conf, "dcc_add_header");
|
|
}
|
|
|
|
&parse_opt($conf, "pyzor_path", \&check_path);
|
|
&parse_opt($conf, "pyzor_body_max", \&check_max);
|
|
&parse_opt($conf, "pyzor_timeout", \&check_timeout);
|
|
&parse_yes_no($conf, "pyzor_add_header");
|
|
|
|
&flush_file_lines();
|
|
&unlock_spam_files();
|
|
&execute_after("user");
|
|
&webmin_log("user");
|
|
&redirect($redirect_url);
|
|
|
|
sub check_timeout
|
|
{
|
|
$_[0] =~ /^\d+$/ || &error(&text('user_etimeout', $_[0]));
|
|
}
|
|
|
|
sub check_path
|
|
{
|
|
$_[0] =~ /^\// && -r $_[0] || &error(&text('user_epath', $_[0]));
|
|
}
|
|
|
|
sub check_max
|
|
{
|
|
$_[0] =~ /^\d+$/ || &error(&text('user_emax', $_[0]));
|
|
}
|
|
|