Handle hostnames with upper-case letters
[webmin.git] / cluster-shutdown / save_sched.cgi
1 #!/usr/local/bin/perl
2 # Update scheduled checking
3
4 require './cluster-shutdown-lib.pl';
5 &ReadParse();
6 &error_setup($text{'sched_err'});
7
8 # Validate and store inputs
9 $job = &find_cron_job();
10 if ($in{'sched'}) {
11         $in{'email'} =~ /\S/ || &error($text{'sched_eemail'});
12         $config{'email'} = $in{'email'};
13         if ($in{'smtp_def'}) {
14                 delete($config{'smtp'});
15                 }
16         else {
17                 &to_ipaddress($in{'smtp'}) || &to_ip6address($in{'smtp'}) ||
18                         &error($text{'sched_esmtp'});
19                 $config{'smtp'} = $in{'smtp'};
20                 }
21         &save_module_config();
22         }
23
24 # Create or delete cron job
25 &cron::create_wrapper($cron_cmd, $module_name, "check.pl");
26 if ($in{'sched'} && !$job) {
27         $job = { 'command' => $cron_cmd,
28                  'user' => 'root',
29                  'active' => 1,
30                  'mins' => '*/5',
31                  'hours' => '*',
32                  'days' => '*',
33                  'months' => '*',
34                  'weekdays' => '*',
35                 };
36         &cron::create_cron_job($job);
37         }
38 elsif (!$in{'sched'} && $job) {
39         &cron::delete_cron_job($job);
40         }
41
42 # Tell the user
43 &ui_print_header(undef, $text{'sched_title'}, "");
44
45 if ($in{'sched'}) {
46         print $text{'sched_enabled'},"<p>\n";
47         }
48 else {
49         print $text{'sched_disabled'},"<p>\n";
50         }
51
52 &ui_print_footer("", $text{'index_return'});
53