--- /dev/null
+
+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;
+}
$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);
$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);