1# display args for pam_time.so
2
3# display_args(&service, &module, &args)
4sub display_module_args
5{
6local $file = "/etc/security/time.conf";
7local @time;
8open(FILE, "<".$file);
9while(<FILE>) {
10	s/#.*$//;
11	s/\r|\n//g;
12	if (/^\s*([^;]*)\s*;\s*([^;]*)\s*;\s*([^;]*)\s*;\s*([^;]*)\s*$/) {
13		push(@time, [ $1, $2, $3, $4 ]);
14		}
15	}
16close(FILE);
17local $tt = &ui_columns_start([ $text{'time_services'},
18				$text{'time_ttys'},
19				$text{'time_users'},
20				$text{'time_times'} ]);
21local $i = 0;
22foreach $t (@time, [ ]) {
23	$tt .= &ui_columns_row([
24		&ui_textbox("services_$i", $t->[0], 25),
25		&ui_textbox("ttys_$i", $t->[1], 25),
26		&ui_textbox("users_$i", $t->[2], 25),
27		&ui_textbox("times_$i", $t->[3], 25),
28		]);
29	$i++;
30	}
31$tt .= &ui_columns_end();
32$tt .= "<br>".$text{'time_info'};
33print &ui_table_row(undef, $tt, 4);
34}
35
36# parse_module_args(&service, &module, &args)
37sub parse_module_args
38{
39local $file = "/etc/security/time.conf";
40local (@lines, $i);
41for($i=0; defined($in{"services_$i"}); $i++) {
42	next if (!$in{"services_$i"});
43	push(@lines, join(";", $in{"services_$i"}, $in{"ttys_$i"},
44			       $in{"users_$i"}, $in{"times_$i"}),"\n");
45	}
46&lock_file($file);
47&open_tempfile(FILE, ">$file");
48&print_tempfile(FILE, @lines);
49&close_tempfile(FILE);
50&unlock_file($file);
51}
52
53