Handle hostnames with upper-case letters
[webmin.git] / quota / save_email.cgi
1 #!/usr/local/bin/perl
2 # save_email.cgi
3 # Save scheduled email settings
4
5 require './quota-lib.pl';
6 $access{'email'} && &can_edit_filesys($in{'filesys'}) ||
7         &error($text{'email_ecannot'});
8 &ReadParse();
9 &error_setup($text{'email_err'});
10
11 # Validate inputs
12 if ($in{'email'}) {
13         $in{'interval'} =~ /^[0-9\.]+$/ || &error($text{'email_einterval'});
14         $in{'percent'} =~ /^[0-9\.]+$/ || &error($text{'email_epercent'});
15         $in{'domain'} =~ /^[a-z0-9\.\-]+$/i || &error($text{'email_edomain'});
16         $in{'from'} =~ /^\S+$/i || &error($text{'email_efrom'});
17         $in{'cc_def'} || $in{'cc'} =~ /^\S+$/i || &error($text{'email_ecc'});
18         }
19
20 # Save settings
21 &lock_file($module_config_file);
22 $config{"email_".$in{'filesys'}} = $in{'email'};
23 $config{"email_interval_".$in{'filesys'}} = $in{'interval'};
24 $config{"email_type_".$in{'filesys'}} = $in{'type'};
25 $config{"email_percent_".$in{'filesys'}} = $in{'percent'};
26 $config{"email_domain_".$in{'filesys'}} = $in{'domain'};
27 $config{"email_virtualmin_".$in{'filesys'}} = $in{'virtualmin'};
28 $config{"email_from_".$in{'filesys'}} = $in{'from'};
29 $config{"email_cc_".$in{'filesys'}} = $in{'cc'};
30 &save_module_config();
31 &unlock_file($module_config_file);
32
33 # Create cron job, if needed
34 if ($in{'email'}) {
35         &create_email_job();
36         }
37
38 &webmin_log("email", "user", $in{'filesys'}, \%in);
39 &redirect("list_users.cgi?dir=".&urlize($in{'filesys'}));
40