Handle hostnames with upper-case letters
[webmin.git] / usermin / edit_assignment.cgi
1 #!/usr/local/bin/perl
2
3 require './usermin-lib.pl';
4 $access{'assignment'} || &error($text{'acl_ecannot'});
5
6 @modules = &list_modules();
7 &read_file("$config{'usermin_dir'}/webmin.catnames", \%catnames);
8 &get_usermin_miniserv_config(\%miniserv);
9 &read_file("$miniserv{'root'}/lang/en", \%utext);
10 &read_file("$miniserv{'root'}/ulang/en", \%utext);
11
12 &ui_print_header(undef, $text{'assignment_title'}, undef);
13 print qq(
14 $text{'assignment_desc'}<p>
15 <form action="save_assignment.cgi">
16 <table border><tr $tb>
17 <td><b>$text{'assignment_header'}</b></td></tr>
18 <tr $cb><td><table>
19 );
20 foreach ( @modules ){
21     $a++;
22     print "<tr></tr>" if $a%2;
23     print qq(<td>$_->{desc}</td><td>), &cats($_->{dir}, $_->{'category'}), "</td>\n";
24 }
25
26 print qq(
27 </td></tr></table>
28 </td></tr></table>
29 <input type=submit value="$text{'assignment_ok'}">
30 </form>
31 );
32 &ui_print_footer("", $text{'index_return'});
33
34 sub cats {
35     my $cats;
36     my %cats;
37     foreach (keys %utext) {
38         next unless /^category_/;
39         my $desc = $utext{$_};
40         s/^category_//;
41         $cats{$_} = $desc;
42         }
43     foreach (keys %catnames) {
44         $cats{$_} = $catnames{$_};
45         }
46     foreach $c (sort { $cats{$a} cmp $cats{$b} } keys %cats) {
47         $cats .= sprintf "<option value='%s' %s>%s\n",
48                         $c, $_[1] eq $c ? 'selected' : '', $cats{$c};
49         }
50     $cats = qq(<select name="$_[0]">$cats\n</select>\n);
51 }