Handle hostnames with upper-case letters
[webmin.git] / usermin / save_logout.cgi
1 #!/usr/local/bin/perl
2 # Save per-user and group logout times options
3
4 require './usermin-lib.pl';
5 &error_setup($text{'logout_err'});
6 $access{'logout'} || &error($text{'logout_ecannot'});
7 &get_usermin_miniserv_config(\%miniserv);
8 &ReadParse();
9
10 # Save to list
11 for($i=0; defined($type = $in{"type_$i"}); $i++) {
12         next if (!$type);
13         $who = $in{"who_$i"};
14         $time = $in{"time_$i"};
15         if ($type == 1) {
16                 $who =~ /^\S+$/ || &error(&text('logout_euser', $i+1));
17                 }
18         elsif ($type == 2) {
19                 $who =~ /^\S+$/ || &error(&text('logout_egroup', $i+1));
20                 $who = "\@$who";
21                 }
22         elsif ($type == 3) {
23                 -r $who && $who =~ /^\// || &error(&text('logout_efile', $i+1));
24                 }
25         $time =~ /^\d+$/ || &error(&text('logout_etime', $i+1));
26         push(@logout, [ $who, $time ]);
27         }
28
29 # Update config
30 $miniserv{'logouttimes'} = join(" ", map { $_->[0]."=".$_->[1] } @logout);
31 &lock_file($usermin_miniserv_config);
32 &put_usermin_miniserv_config(\%miniserv);
33 &unlock_file($usermin_miniserv_config);
34 &reload_usermin_miniserv();
35 &webmin_log("logout");
36 &redirect("");
37