Handle hostnames with upper-case letters
[webmin.git] / proftpd / limit_index.cgi
1 #!/usr/local/bin/perl
2 # limit_index.cgi
3 # Display a menu of icons for per-command options
4
5 require './proftpd-lib.pl';
6 &ReadParse();
7 if ($in{'file'}) {
8         $conf = &get_ftpaccess_config($in{'file'});
9         }
10 else {
11         if ($in{'global'}) {
12                 $conf = &get_config();
13                 $conf = &get_or_create_global($conf);
14                 }
15         else {
16                 ($conf, $v) = &get_virtual_config($in{'virt'});
17                 }
18         if ($in{'anon'}) {
19                 $anon = &find_directive_struct("Anonymous", $conf);
20                 $conf = $anon->{'members'};
21                 }
22         if ($in{'idx'} ne '') {
23                 $dir = $conf->[$in{'idx'}];
24                 $conf = $dir->{'members'};
25                 }
26         }
27 $l = $conf->[$in{'limit'}];
28 $ln = $l->{'value'};
29 $desc = $in{'file'} ? &text('limit_header6', $ln, &html_escape($in{'file'})) :
30         $dir ? &text('limit_header4', $ln, $dir->{'words'}->[0]) :
31         $in{'global'} ? &text('limit_header7', $ln) :
32         $in{'anon'} ? &text('limit_header5', $ln) :
33         $in{'virt'} ?  &text('limit_header1', $ln, $v->{'words'}->[0]) :
34         &text('limit_header2', $ln);
35 &ui_print_header($desc, $text{'limit_title'}, "",
36         undef, undef, undef, undef, &restart_button());
37
38 $limit_icon = { "icon" => "images/limit.gif",
39                 "name" => $text{'limit_limit'},
40                 "link" => "edit_lserv.cgi?virt=$in{'virt'}&idx=$in{'idx'}&limit=$in{'limit'}&anon=$in{'anon'}&global=$in{'global'}&file=$in{'file'}" };
41 $ed_icon = { "icon" => "images/edit.gif",
42              "name" => $text{'limit_edit'},
43              "link" => $in{'file'} ? "manual_form.cgi?limit=$in{'limit'}&file=$in{'file'}" : "manual_form.cgi?virt=$in{'virt'}&idx=$in{'idx'}&limit=$in{'limit'}&anon=$in{'anon'}&global=$in{'global'}" };
44 &config_icons("limit", "edit_limit.cgi?virt=$in{'virt'}&idx=$in{'idx'}&limit=$in{'limit'}&anon=$in{'anon'}&file=$in{'file'}&global=$in{'global'}&", $limit_icon, $ed_icon);
45
46 if ($in{'file'}) {
47         &ui_print_footer("ftpaccess_index.cgi?file=$in{'file'}",$text{'ftpindex_return'},
48                 "ftpaccess.cgi", $text{'ftpaccess_return'},
49                 "", $text{'index_return'});
50         }
51 elsif ($in{'idx'} eq '') {
52         if ($in{'global'}) {
53                 &ui_print_footer("", $text{'index_return'});
54                 }
55         elsif ($in{'anon'}) {
56                 &ui_print_footer("anon_index.cgi?virt=$in{'virt'}",$text{'anon_return'},
57                         "virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'},
58                         "", $text{'index_return'});
59                 }
60         else {
61                 &ui_print_footer("virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'},
62                         "", $text{'index_return'});
63                 }
64         }
65 else {
66         if ($in{'global'}) {
67
68                 &ui_print_footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&global=$in{'global'}", $text{'dir_return'},
69                         "", $text{'index_return'});
70                 }
71         elsif ($in{'anon'}) {
72                 &ui_print_footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}", $text{'dir_return'},
73                         "anon_index.cgi?virt=$in{'virt'}",$text{'anon_return'},
74                         "virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'},
75                         "", $text{'index_return'});
76                 }
77         else {
78                 &ui_print_footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}", $text{'dir_return'},
79                         "virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'},
80                         "", $text{'index_return'});
81                 }
82         }
83