2 # Save scheduled checking options
4 require './package-updates-lib.pl';
7 &lock_file($module_config_file);
8 $config{'sched_email'} = $in{'email'};
9 $config{'sched_action'} = $in{'action'};
10 &save_module_config();
11 &unlock_file($module_config_file);
13 $oldjob = $job = &find_cron_job();
14 if ($in{'sched_def'}) {
16 &lock_file(&cron::cron_file($job));
17 &cron::delete_cron_job($job);
18 &unlock_file(&cron::cron_file($job));
20 $msg = $text{'sched_no'};
23 $job ||= { 'user' => 'root',
25 'command' => $cron_cmd };
26 $job->{'mins'} = $job->{'hours'} = $job->{'days'} =
27 $job->{'months'} = $job->{'weekdays'} = '*';
28 if ($in{'sched'} eq 'h') {
29 $job->{'mins'} = int(rand()*60);
31 elsif ($in{'sched'} eq 'd') {
32 $job->{'mins'} = int(rand()*60);
33 $job->{'hours'} = int(rand()*24);
35 elsif ($in{'sched'} eq 'w') {
36 $job->{'mins'} = int(rand()*60);
37 $job->{'hours'} = int(rand()*24);
38 $job->{'weekdays'} = int(rand()*7);
40 &lock_file(&cron::cron_file($job));
42 &cron::change_cron_job($job);
45 &cron::create_cron_job($job);
47 &unlock_file(&cron::cron_file($job));
48 &lock_file($cron_cmd);
49 &cron::create_wrapper($cron_cmd, $module_name, "update.pl");
50 &unlock_file($cron_cmd);
51 $msg = $text{'sched_yes'};
55 &ui_print_header(undef, $text{'sched_title'}, "");
59 &webmin_log("sched", undef, $in{'sched_def'} ? 0 : 1);
60 &ui_print_footer("index.cgi?mode=$in{'mode'}&search=".
61 &urlize($in{'search'}), $text{'index_return'});