mirror of
https://github.com/webmin/webmin.git
synced 2025-07-21 23:40:34 +00:00
41 lines
1.3 KiB
Perl
Executable File
41 lines
1.3 KiB
Perl
Executable File
#!/usr/local/bin/perl
|
|
# save_email.cgi
|
|
# Save scheduled email settings
|
|
|
|
require './quota-lib.pl';
|
|
$access{'email'} && &can_edit_filesys($in{'filesys'}) ||
|
|
&error($text{'email_ecannot'});
|
|
&ReadParse();
|
|
&error_setup($text{'email_err'});
|
|
|
|
# Validate inputs
|
|
if ($in{'email'}) {
|
|
$in{'interval'} =~ /^[0-9\.]+$/ || &error($text{'email_einterval'});
|
|
$in{'percent'} =~ /^[0-9\.]+$/ || &error($text{'email_epercent'});
|
|
$in{'domain'} =~ /^[a-z0-9\.\-]+$/i || &error($text{'email_edomain'});
|
|
$in{'from'} =~ /^\S+$/i || &error($text{'email_efrom'});
|
|
$in{'cc_def'} || $in{'cc'} =~ /^\S+$/i || &error($text{'email_ecc'});
|
|
}
|
|
|
|
# Save settings
|
|
&lock_file($module_config_file);
|
|
$config{"email_".$in{'filesys'}} = $in{'email'};
|
|
$config{"email_interval_".$in{'filesys'}} = $in{'interval'};
|
|
$config{"email_type_".$in{'filesys'}} = $in{'type'};
|
|
$config{"email_percent_".$in{'filesys'}} = $in{'percent'};
|
|
$config{"email_domain_".$in{'filesys'}} = $in{'domain'};
|
|
$config{"email_virtualmin_".$in{'filesys'}} = $in{'virtualmin'};
|
|
$config{"email_from_".$in{'filesys'}} = $in{'from'};
|
|
$config{"email_cc_".$in{'filesys'}} = $in{'cc'};
|
|
&save_module_config();
|
|
&unlock_file($module_config_file);
|
|
|
|
# Create cron job, if needed
|
|
if ($in{'email'}) {
|
|
&create_email_job();
|
|
}
|
|
|
|
&webmin_log("email", "user", $in{'filesys'}, \%in);
|
|
&redirect("list_users.cgi?dir=".&urlize($in{'filesys'}));
|
|
|