Handle hostnames with upper-case letters
[webmin.git] / logrotate / save_sched.cgi
1 #!/usr/local/bin/perl
2 # save_sched.cgi
3 # Create, update or delete the rotation cron job
4
5 require './logrotate-lib.pl';
6 &ReadParse();
7
8 &foreign_require("cron", "cron-lib.pl");
9 @jobs = &cron::list_cron_jobs();
10 if ($in{'idx'} ne "") {
11         $oldjob = $job = $jobs[$in{'idx'}];
12         }
13 else {
14         $job = { 'user' => 'root',
15                  'command' => &has_command($config{'logrotate'})." ".
16                               $config{'logrotate_conf'},
17                  'active' => 1 };
18         }
19 &lock_file(&cron::cron_file($job));
20
21 &error_setup($text{'sched_err'});
22 &cron::parse_times_input($job, \%in) if ($in{'sched'});
23
24 if ($oldjob && $in{'sched'}) {
25         # Just update
26         &cron::change_cron_job($job);
27         $action = "modify";
28         }
29 elsif ($oldjob && !$in{'sched'}) {
30         # Delete
31         &cron::delete_cron_job($job);
32         $action = "delete";
33         }
34 elsif (!$oldjob && $in{'sched'}) {
35         # Create new
36         &cron::create_cron_job($job);
37         $action = "create";
38         }
39
40 &unlock_file(&cron::cron_file($job));
41 &webmin_log($action, "sched");
42
43 &redirect("");
44