1#!/usr/local/bin/perl
2# Show details of one Webmin cron function, and allow changing
3
4require './webmin-lib.pl';
5&ReadParse();
6
7if (!&foreign_check("webmincron")) {
8	&ui_print_endpage($text{'webmincron_emodule'});
9	}
10&foreign_require("webmincron");
11my @wcrons = &webmincron::list_webmin_crons();
12my ($wcron) = grep { $_->{'id'} eq $in{'id'} } @wcrons;
13$wcron || &error($text{'webmincron_egone'});
14
15&ui_print_header(undef, $text{'webmincron_title'}, "");
16
17print &ui_form_start("save_webmincron.cgi", "post");
18print &ui_hidden("id", $in{'id'});
19print &ui_table_start($text{'webmincron_header'}, undef, 2);
20
21# Run from module
22%minfo = &get_module_info($wcron->{'module'});
23print &ui_table_row($text{'webmincron_module'},
24	$minfo{'desc'} || $wcron->{'module'}, undef, [ "valign=middle","valign=middle" ]);
25
26# Function to call
27print &ui_table_row($text{'webmincron_func'},
28	"<tt>$wcron->{'func'}</tt>", undef, [ "valign=middle","valign=middle" ]);
29
30# Function params, if any
31if (@{$wcron->{'args'}}) {
32	print &ui_table_row($text{'webmincron_args'},
33		join("<br>\n", map { "<tt>".&html_escape($_)."</tt>" }
34				   @{$wcron->{'args'}}), undef, [ "valign=middle","valign=middle" ]);
35	}
36
37# Run-time (editable)
38print &ui_table_row($text{'webmincron_when'},
39	&ui_radio_table("whenmode", $wcron->{'interval'} ? 0 : 1,
40			[ [ 0, $text{'webmincron_when0'},
41			    &ui_textbox("interval", $wcron->{'interval'}, 5)." ".
42			    $text{'webmincron_secs'} ],
43			  [ 1, $text{'webmincron_when1'},
44			    &webmincron::show_times_input($wcron) ] ]));
45
46print &ui_table_end();
47print &ui_form_end([ [ undef, $text{'save'} ],
48		     [ 'delete', $text{'delete'} ] ]);
49
50&ui_print_footer("edit_webmincron.cgi", $text{'webmincron_return'});
51