Handle hostnames with upper-case letters
[webmin.git] / apache / cgi_args.pl
1
2 do 'apache-lib.pl';
3
4 sub cgi_args
5 {
6 my ($cgi) = @_;
7 if ($cgi eq 'edit_global.cgi') {
8         # Global options page
9         return $access{'global'}==1 ? 'type=0' : 'none';
10         }
11 elsif ($cgi eq 'htaccess.cgi') {
12         return $access{'global'} ? '' : 'none';
13         }
14 elsif ($cgi eq 'edit_defines.cgi' || $cgi eq 'allmanual_form.cgi' ||
15        $cgi eq 'edit_mods.cgi') {
16         return $access{'global'}==1 ? '' : 'none';
17         }
18 else {
19         # Get first allowed virtual host
20         my $conf = &get_config();
21         my ($virt) = grep { &can_edit_virt($_) }
22                           &find_directive_struct("VirtualHost", $conf);
23         my $vidx = &indexof($virt, @$conf);
24         if ($cgi eq 'virt_index.cgi') {
25                 return 'virt='.$vidx;
26                 }
27         elsif ($cgi eq 'edit_virt.cgi') {
28                 return 'virt='.$vidx.'&type=0';
29                 }
30         elsif ($cgi eq 'dir_index.cgi' || $cgi eq 'edit_dir.cgi') {
31                 # Get first directory
32                 my ($dir) = &find_directive_struct(
33                                 "Directory", $virt->{'members'});
34                 return 'none' if (!$dir);
35                 my $rv = 'virt='.$vidx.'&idx='.$didx;
36                 if ($cgi eq 'edit_dir.cgi') {
37                         $rv .= '&type=0';
38                         }
39                 return $rv;
40                 }
41         }
42 return undef;
43 }