Handle hostnames with upper-case letters
[webmin.git] / proftpd / dir_index.cgi
1 #!/usr/local/bin/perl
2 # dir_index.cgi
3 # Display a menu of icons for per-directory options
4
5 require './proftpd-lib.pl';
6 &ReadParse();
7 if ($in{'global'}) {
8         $conf = &get_config();
9         $conf = &get_or_create_global($conf);
10         }
11 else {
12         ($conf, $v) = &get_virtual_config($in{'virt'});
13         }
14 if ($in{'anon'}) {
15         $anon = &find_directive_struct("Anonymous", $conf);
16         $conf = $anon->{'members'};
17         }
18 $d = $conf->[$in{'idx'}];
19 $dn = $d->{'words'}->[0];
20 $dconf = $d->{'members'};
21 $desc = $in{'global'} ? &text('dir_header5', $dn) :
22         $in{'anon'} ? &text('dir_header4', $dn) :
23         $in{'virt'} ? &text('dir_header1', $dn, $v->{'words'}->[0]) :
24         &text('dir_header2', $dn);
25 &ui_print_header($desc, $text{'dir_title'}, "",
26         undef, undef, undef, undef, &restart_button());
27
28 $dir_icon = { "icon" => "images/dir.gif",
29               "name" => $text{'dir_dir'},
30               "link" => "edit_dserv.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}&global=$in{'global'}" };
31 $ed_icon = { "icon" => "images/edit.gif",
32              "name" => $text{'dir_edit'},
33              "link" => "manual_form.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}&global=$in{'global'}" };
34 &config_icons("directory", "edit_dir.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}&global=$in{'global'}&", $dir_icon, $ed_icon);
35
36 # Display limit options
37 @lim = &find_directive_struct("Limit", $dconf);
38 if (@lim) {
39         print &ui_hr();
40         print "<h3>$text{'dir_header'}</h3>\n";
41         foreach $l (@lim) {
42                 push(@links, "limit_index.cgi?limit=".&indexof($l, @$dconf).
43                         "&virt=$in{'virt'}&anon=$in{'anon'}".
44                         "&global=$in{'global'}&idx=$in{'idx'}");
45                 push(@titles, &text('virt_limit', $l->{'value'}));
46                 push(@icons, "images/limit.gif");
47                 }
48         &icons_table(\@links, \@titles, \@icons, 3);
49         }
50
51 print "<form action=create_limit.cgi>\n";
52 print "<input type=hidden name=virt value='$in{'virt'}'>\n";
53 print "<input type=hidden name=idx value='$in{'idx'}'>\n";
54 print "<input type=hidden name=anon value='$in{'anon'}'>\n";
55 print "<input type=hidden name=global value='$in{'global'}'>\n";
56 print "<table border>\n";
57 print "<tr $tb> <td><b>$text{'virt_addlimit'}</b></td> </tr>\n";
58 print "<tr $cb> <td><table>\n";
59 print "<tr> <td><b>$text{'virt_cmds'}</b></td>\n";
60 print "<td><input name=cmd size=20>\n";
61 print "<input type=submit value=\"$text{'create'}\"></td> </tr>\n";
62 print "</table></td></tr></table></form>\n";
63
64 if ($in{'global'}) {
65         &ui_print_footer("", $text{'index_return'});
66         }
67 elsif ($in{'anon'}) {
68         &ui_print_footer("anon_index.cgi?virt=$in{'virt'}", $text{'anon_return'},
69                 "virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
70                 "", $text{'index_return'});
71         }
72 else {
73         &ui_print_footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
74                 "", $text{'index_return'});
75         }
76