Handle hostnames with upper-case letters
[webmin.git] / samba / cgi_args.pl
1
2 do 'samba-lib.pl';
3
4 sub cgi_args
5 {
6 my ($cgi) = @_;
7 my @shares = &list_shares();
8 if ($cgi eq 'edit_pshare.cgi' || $cgi eq 'edit_popts.cgi') {
9         # First printer share
10         foreach my $s (@shares) {
11                 next if (!&can('r', \%access, $s) || $s eq 'global');
12                 local %share;
13                 &get_share($s);
14                 if (&istrue("printable")) {
15                         return 'share='.&urlize($s);
16                         }
17                 }
18         return $access{'c_ps'} ? '' : 'none';   # Create if allowed
19         }
20 elsif ($cgi eq 'edit_fshare.cgi' || $cgi eq 'edit_sec.cgi' ||
21        $cgi eq 'edit_fperm.cgi' || $cgi eq 'edit_fname.cgi' ||
22        $cgi eq 'edit_fmisc.cgi') {
23         # First non-printer share
24         foreach my $s (@shares) {
25                 next if (!&can('r', \%access, $s) || $s eq 'global');
26                 local %share;
27                 &get_share($s);
28                 if (!&istrue("printable")) {
29                         return 'share='.&urlize($s);
30                         }
31                 }
32         return $access{'c_fs'} ? '' : 'none';   # Create if allowed
33         }
34 elsif ($cgi eq 'edit_euser.cgi') {
35         # First user, if any
36         my @ulist = &list_users();
37         return @ulist ? 'idx='.$ulist[0]->{'index'} : 'none';
38         }
39 return undef;
40 }