1 |
95b003ff
|
Origo
|
#!/usr/bin/perl
|
2 |
|
|
# save_periods.cgi
|
3 |
|
|
# Save all period directives
|
4 |
|
|
|
5 |
|
|
require './mon-lib.pl';
|
6 |
|
|
&ReadParse();
|
7 |
|
|
&error_setup($text{'periods_err'});
|
8 |
|
|
$conf = &get_mon_config();
|
9 |
|
|
@operiods = &find("period", $conf);
|
10 |
|
|
|
11 |
|
|
for($i=0; defined($in{"name_$i"}); $i++) {
|
12 |
|
|
next if (!$in{"name_$i"});
|
13 |
|
|
$in{"name_$i"} =~ /^\S+$/ ||
|
14 |
|
|
&error(&text('periods_ename', $in{"name_$i"}));
|
15 |
|
|
if (defined($in{"value_$i"})) {
|
16 |
|
|
push(@periods,
|
17 |
|
|
{ 'name' => 'period',
|
18 |
|
|
'values' => [ $in{"name_$i"}.":", $in{"value_$i"} ] } );
|
19 |
|
|
}
|
20 |
|
|
else {
|
21 |
|
|
local @pv;
|
22 |
|
|
if (!$in{"days_def_$i"}) {
|
23 |
|
|
push(@pv, "wd {".$in{"dfrom_$i"}."-".
|
24 |
|
|
$in{"dto_$i"}."}");
|
25 |
|
|
}
|
26 |
|
|
if (!$in{"hours_def_$i"}) {
|
27 |
|
|
$in{"hfrom_$i"} =~ /^(\d+)(am|pm|)$/ ||
|
28 |
|
|
&error(&text('periods_ehour', $i+1));
|
29 |
|
|
$in{"hto_$i"} =~ /^(\d+)(am|pm|)$/ ||
|
30 |
|
|
&error(&text('periods_ehour', $i+1));
|
31 |
|
|
push(@pv, "hr {".$in{"hfrom_$i"}."-".
|
32 |
|
|
$in{"hto_$i"}."}");
|
33 |
|
|
}
|
34 |
|
|
push(@periods,
|
35 |
|
|
{ 'name' => 'period',
|
36 |
|
|
'values' => [ $in{"name_$i"}.":", @pv ] } );
|
37 |
|
|
}
|
38 |
|
|
}
|
39 |
|
|
|
40 |
|
|
for($i=0; $i<@operiods || $i<@periods; $i++) {
|
41 |
|
|
&save_directive($conf, $operiods[$i], $periods[$i]);
|
42 |
|
|
}
|
43 |
|
|
&flush_file_lines();
|
44 |
|
|
|
45 |
|
|
&redirect("");
|