Handle hostnames with upper-case letters
[webmin.git] / quota / save_gemail.cgi
1 #!/usr/local/bin/perl
2 # Save scheduled email settings for groups
3
4 require './quota-lib.pl';
5 $access{'email'} && &can_edit_filesys($in{'filesys'}) ||
6         &error($text{'email_ecannot'});
7 &ReadParse();
8 &error_setup($text{'email_err'});
9
10 # Validate inputs
11 if ($in{'email'}) {
12         $in{'interval'} =~ /^[0-9\.]+$/ || &error($text{'email_einterval'});
13         $in{'percent'} =~ /^[0-9\.]+$/ || &error($text{'email_epercent'});
14         $in{'from'} =~ /^\S+$/i || &error($text{'email_efrom'});
15         $in{'tomode'} != 1 || $in{'to'} =~ /^\S+$/ ||
16                 &error($text{'email_eto'});
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{"gemail_".$in{'filesys'}} = $in{'email'};
23 $config{"gemail_interval_".$in{'filesys'}} = $in{'interval'};
24 $config{"gemail_type_".$in{'filesys'}} = $in{'type'};
25 $config{"gemail_percent_".$in{'filesys'}} = $in{'percent'};
26 $config{"gemail_from_".$in{'filesys'}} = $in{'from'};
27 $config{"gemail_to_".$in{'filesys'}} = $in{'to'};
28 $config{"gemail_tomode_".$in{'filesys'}} = $in{'tomode'};
29 $config{"gemail_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", "group", $in{'filesys'}, \%in);
39 &redirect("list_groups.cgi?dir=".&urlize($in{'filesys'}));
40