Handle hostnames with upper-case letters
[webmin.git] / htaccess-htpasswd / cgi_args.pl
1
2 do 'htaccess-lib.pl';
3
4 sub cgi_args
5 {
6 my ($cgi) = @_;
7 my @dirs = grep { &can_access_dir($_->[0]) } &list_directories();
8 if ($cgi eq 'edit_dir.cgi') {
9         return @dirs ? 'dir='.&urlize($dirs[0]->[0]) : 'new=1';
10         }
11 elsif ($cgi eq 'edit_user.cgi') {
12         if (!@dirs) {
13                 return 'none';
14                 }
15         else {
16                 my $d = $dirs[0];
17                 my $users = $d->[2] == 3 ? &list_digest_users($d->[1])
18                                          : &list_users($d->[1]);
19                 return @$users ? 'dir='.&urlize($d->[0]).
20                                  '&idx='.$users->[0]->{'index'}
21                                : 'dir='.&urlize($d->[0]).'&new=1';
22                 }
23         }
24 elsif ($cgi eq 'edit_group.cgi') {
25         my ($d) = grep { $_->[4] } @dirs;
26         if (!$d) {
27                 return 'none';
28                 }
29         else {
30                 my $groups = &list_groups($d->[4]);
31                 return @$groups ? 'dir='.&urlize($d->[0]).
32                                   '&idx='.$groups->[0]->{'index'}
33                                 : 'dir='.&urlize($d->[0]).'&new=1';
34                 }
35         }
36 return undef;
37 }