Add cgi args parser

This commit is contained in:
Jamie Cameron
2009-06-07 20:45:46 +00:00
parent 7c3eb03786
commit 231d8deccb
3 changed files with 41 additions and 4 deletions

37
quota/cgi_args.pl Normal file
View File

@@ -0,0 +1,37 @@
do 'quota-lib.pl';
sub cgi_args
{
my ($cgi) = @_;
my ($fs) = grep { $_->[5] && &can_edit_filesys($_->[0]) } &list_filesystems();
my @uinfo = getpwnam($remote_user);
if ($cgi eq 'list_users.cgi' || $cgi eq 'list_groups.cgi') {
# First filesystem
return $fs ? 'dir='.&urlize($fs->[0]) : 'none';
}
elsif ($cgi eq 'edit_user_quota.cgi') {
# First editable user
my $n = &filesystem_users($fs->[0]);
return $n ? 'filesys='.&urlize($fs->[0]).
'&user='.&urlize($user{0,'user'}) : 'none';
}
elsif ($cgi eq 'edit_group_quota.cgi') {
# First editable group
my $n = &filesystem_groups($fs->[0]);
return $n ? 'filesys='.&urlize($fs->[0]).
'&group='.&urlize($group{0,'group'}) : 'none';
}
elsif ($cgi eq 'user_filesys.cgi' || $cgi eq 'copy_user_form.cgi') {
return defined(@uinfo) ?
'user='.&urlize($remote_user) : 'user=root';
}
elsif ($cgi eq 'group_filesys.cgi' || $cgi eq 'copy_group_form.cgi') {
if (defined(@uinfo)) {
my @ginfo = getgrgid($uinfo[3]);
return 'group='.&urlize($ginfo[0]) if (defined(@ginfo));
}
return 'group=bin';
}
return undef;
}

View File

@@ -11,8 +11,8 @@ $whatfailed = $text{'lgroups_failed'};
$form = 0;
# List quotas
&ui_print_header(&text('lgroups_quotas', $f),
$text{'lgroups_title'}, "", "list_groups");
&ui_print_header(&text('lgroups_quotas', $f), $text{'lgroups_title'}, "",
"list_groups");
# Build and show tabs
$prog = "list_groups.cgi?dir=".&urlize($f);

View File

@@ -11,8 +11,8 @@ $whatfailed = $text{'lusers_failed'};
$form = 0;
# List quotas
&ui_print_header(&text('lusers_qoutas', $f),
$text{'lusers_title'}, "", "list_users");
&ui_print_header(&text('lusers_qoutas', $f), $text{'lusers_title'},
"", "list_users");
# Build and show tabs
$prog = "list_users.cgi?dir=".&urlize($f);