Handle hostnames with upper-case letters
[webmin.git] / cron / acl_security.pl
1
2 require 'cron-lib.pl';
3 do '../ui-lib.pl';
4
5 # acl_security_form(&options)
6 # Output HTML for editing security options for the cron module
7 sub acl_security_form
8 {
9 local $m = $_[0]->{'mode'};
10 print &ui_table_row($text{'acl_users'},
11         &ui_radio("mode", $m,
12          [ [ 0, "$text{'acl_all'}<br>" ],
13            [ 3, "$text{'acl_this'}<br>" ],
14            [ 1, $text{'acl_only'}." ".
15                 &ui_textbox("userscan",
16                         $m == 1 ? $_[0]->{'users'} : "", 40)." ".
17                 &user_chooser_button("userscan", 1)."<br>" ],
18            [ 2, $text{'acl_except'}." ".
19                 &ui_textbox("userscannot",
20                         $m == 2 ? $_[0]->{'users'} : "", 40)." ".
21                 &user_chooser_button("userscannot", 1)."<br>" ],
22            [ 5, $text{'acl_gid'}." ".
23                 &ui_textbox("gid",
24                     $m == 5 ? scalar(getgrgid($_[0]->{'users'})) : "", 13)." ".
25                 &group_chooser_button("gid", 0)."<br>" ],
26            [ 4, $text{'acl_uid'}." ".
27                 &ui_textbox("uidmin", $_[0]->{'uidmin'}, 6)." - ".
28                 &ui_textbox("uidmax", $_[0]->{'uidmax'}, 6)."<br>" ],
29          ]), 3);
30
31 print &ui_table_row($text{'acl_control'},
32         &ui_radio("allow", $_[0]->{'allow'},
33                 [ [ 1, $text{'yes'} ], [ 0, $text{'no'} ] ]));
34
35 print &ui_table_row($text{'acl_command'},
36         &ui_radio("command", $_[0]->{'command'},
37                 [ [ 1, $text{'yes'} ], [ 0, $text{'no'} ] ]));
38
39 print &ui_table_row($text{'acl_create'},
40         &ui_radio("create", $_[0]->{'create'},
41                 [ [ 1, $text{'yes'} ], [ 0, $text{'no'} ] ]));
42
43 print &ui_table_row($text{'acl_delete'},
44         &ui_radio("delete", $_[0]->{'delete'},
45                 [ [ 1, $text{'yes'} ], [ 0, $text{'no'} ] ]));
46
47 print &ui_table_row($text{'acl_move'},
48         &ui_radio("move", $_[0]->{'move'},
49                 [ [ 1, $text{'yes'} ], [ 0, $text{'no'} ] ]));
50
51 print &ui_table_row($text{'acl_kill'},
52         &ui_radio("kill", $_[0]->{'kill'},
53                 [ [ 1, $text{'yes'} ], [ 0, $text{'no'} ] ]));
54
55 print &ui_table_row($text{'acl_hourly'},
56         &ui_radio("hourly", $_[0]->{'hourly'},
57                 [ [ 1, $text{'yes'} ], [ 0, $text{'no'} ],
58                   [ 2, $text{'acl_hourlydef'} ] ]), 3);
59 }
60
61 # acl_security_save(&options)
62 # Parse the form for security options for the cron module
63 sub acl_security_save
64 {
65 $_[0]->{'mode'} = $in{'mode'};
66 $_[0]->{'users'} = $in{'mode'} == 0 || $in{'mode'} == 3 ||
67                    $in{'mode'} == 4 ? "" :
68                    $in{'mode'} == 5 ? scalar(getgrnam($in{'gid'})) :
69                    $in{'mode'} == 1 ? $in{'userscan'}
70                                     : $in{'userscannot'};
71 $_[0]->{'uidmin'} = $in{'mode'} == 4 ? $in{'uidmin'} : "";
72 $_[0]->{'uidmax'} = $in{'mode'} == 4 ? $in{'uidmax'} : "";
73 $_[0]->{'allow'} = $in{'allow'};
74 $_[0]->{'command'} = $in{'command'};
75 $_[0]->{'create'} = $in{'create'};
76 $_[0]->{'delete'} = $in{'delete'};
77 $_[0]->{'move'} = $in{'move'};
78 $_[0]->{'kill'} = $in{'kill'};
79 $_[0]->{'hourly'} = $in{'hourly'};
80 }
81