Handle hostnames with upper-case letters
[webmin.git] / majordomo / edit_access.cgi
1 #!/usr/local/bin/perl
2 # edit_access.cgi
3 # Edit access control options
4
5 require './majordomo-lib.pl';
6 &ReadParse();
7 %access = &get_module_acl();
8 &can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
9 $list = &get_list($in{'name'}, &get_config());
10 $conf = &get_list_config($list->{'config'});
11 $desc = &text('edit_for', "<tt>".&html_escape($in{'name'})."</tt>");
12 &ui_print_header($desc, $text{'access_title'}, "");
13
14 print "<form action=save_access.cgi>\n";
15 print "<input type=hidden name=name value='$in{'name'}'>\n";
16 print "<table border width=100%>\n";
17 print "<tr $tb> <td><b>$text{'access_header'}</b></td> </tr>\n";
18 print "<tr $cb> <td><table>\n";
19
20 print "<tr>\n";
21 print &choice_input("get_access", $text{'access_get'}, $conf,
22                     "open",$text{'access_open'}, "list",$text{'access_list'},
23                     "closed",$text{'access_closed'});
24 print &choice_input("index_access", $text{'access_index'}, $conf,
25                     "open",$text{'access_open'}, "list",$text{'access_list'},
26                     "closed",$text{'access_closed'});
27 print "</tr>\n";
28
29 print "<tr>\n";
30 print &choice_input("info_access", $text{'access_info'}, $conf,
31                     "open",$text{'access_open'}, "list",$text{'access_list'},
32                     "closed",$text{'access_closed'});
33 print &choice_input("intro_access", $text{'access_intro'}, $conf,
34                     "open",$text{'access_open'}, "list",$text{'access_list'},
35                     "closed",$text{'access_closed'});
36 print "</tr>\n";
37
38 print "<tr>\n";
39 print &choice_input("which_access", $text{'access_which'}, $conf,
40                     "open",$text{'access_open'}, "list",$text{'access_list'},
41                     "closed",$text{'access_closed'});
42 print &choice_input("who_access", $text{'access_who'}, $conf,
43                     "open",$text{'access_open'}, "list",$text{'access_list'},
44                     "closed",$text{'access_closed'});
45 print "</tr>\n";
46
47 $adv = &find_value("advertise", $conf);
48 $noadv = &find_value("noadvertise", $conf);
49 print "<tr>\n";
50 print "<td valign=top><b>$text{'access_adv'}</b></td> <td valign=top>\n";
51 printf "<input type=radio name=adv_mode value=0 %s> $text{'access_adv0'}<br>\n",
52         $adv !~ /\S/ && $noadv !~ /\S/ ? "checked" : "";
53 printf "<input type=radio name=adv_mode value=1 %s> $text{'access_adv1'}<br>\n",
54         $adv =~ /\S/ ? "checked" : "";
55 printf "<input type=radio name=adv_mode value=2 %s> $text{'access_adv2'}<br>\n",
56         $noadv =~ /\S/ ? "checked" : "";
57 print "</td> <td valign=top colspan=2>\n";
58 printf "<textarea rows=4 cols=40 name=adv>%s</textarea></td> </tr>\n",
59         $adv =~ /\S/ ? $adv : $noadv =~ /\S/ ? $noadv : "";
60
61 $res = &find_value("restrict_post", $conf);
62 $ldir = &perl_var_replace(&find_value("listdir", &get_config()),
63                           &get_config());
64 $reslist = $res eq $in{'name'} || $res eq "$ldir/$in{'name'}";
65 print "<tr> <td><b>$text{'access_res'}</b></td> <td colspan=3>\n";
66 printf "<input type=radio name=res_mode value=0 %s> $text{'access_res0'}\n",
67         $res ? "" : "checked";
68 printf "<input type=radio name=res_mode value=1 %s> $text{'access_res1'}\n",
69         $reslist ? "checked" : "";
70 printf "<input type=radio name=res_mode value=2 %s> $text{'access_res2'}\n",
71         $res && !$reslist ? "checked" : "";
72 printf "<input name=res size=35 value=\"%s\">%s</td> </tr>\n",
73         $res && !$reslist ? $res : "", &file_chooser_button("res", 0);
74
75 print "<tr>\n";
76 print &multi_input("taboo_body", $text{'access_tbody'}, $conf);
77 print "</tr>\n";
78
79 print "<tr>\n";
80 print &multi_input("taboo_headers", $text{'access_theader'}, $conf);
81 print "</tr>\n";
82
83 print "<tr> <td colspan=4>$text{'access_taboo'}</td> </tr>\n";
84
85 print "</table></td></tr></table>\n";
86 print "<input type=submit value=\"$text{'save'}\"></form>\n";
87
88 &ui_print_footer("edit_list.cgi?name=$in{'name'}", $text{'edit_return'});
89