\n"; } if ("as_supported() >= 2) { foreach $gid ($remote_user_info[3], &other_groups($remote_user)) { ($g = getgrgid($gid)) || next; $n = &group_filesystems($g); if ($n > 0) { print &ui_subheading(&text('index_gquotas', "$g")); "as_table(); } } } &ui_print_footer("/", $text{'index'}); sub quotas_table { # Generate top header (showing blocks/files) $bsize = $config{'block_size'}; @hcols = ( undef, $bsize ? $text{'ufilesys_space'} : $text{'ufilesys_blocks'}, $config{'show_grace'} ? ( undef ) : ( ), $text{'ufilesys_files'}, $config{'show_grace'} ? ( undef ) : ( ) ); print &ui_columns_start(\@hcols, 100, 0, [ undef, "colspan=3 align=center", "colspan=3 align=center" ]); # Generate second header @hcols = ( $text{'ufilesys_fs'}, $text{'ufilesys_used'}, $text{'ufilesys_soft'}, $text{'ufilesys_hard'}, $config{'show_grace'} ? ( $text{'ufilesys_grace'} ) : ( ), $text{'ufilesys_used'}, $text{'ufilesys_soft'}, $text{'ufilesys_hard'}, $config{'show_grace'} ? ( $text{'ufilesys_grace'} ) : ( ), ); print &ui_columns_header(\@hcols); # Generate one row per filesystem the user has quota on for($i=0; $i<$n; $i++) { $f = $filesys{$i,'filesys'}; local @cols; push(@cols, $f); if ($bsize) { push(@cols, &nice_size($filesys{$i,'ublocks'}*$bsize)); } else { push(@cols, $filesys{$i,'ublocks'}); } push(@cols, &nice_limit($filesys{$i,'sblocks'}, $bsize)); push(@cols, &nice_limit($filesys{$i,'hblocks'}, $bsize)); push(@cols, $filesys{$i,'gblocks'}) if ($config{'show_grace'}); push(@cols, $filesys{$i,'ufiles'}); push(@cols, &nice_limit($filesys{$i,'sfiles'}, $bsize, 1)); push(@cols, &nice_limit($filesys{$i,'hfiles'}, $bsize, 1)); push(@cols, $filesys{$i,'gfiles'}) if ($config{'show_grace'}); print &ui_columns_row(\@cols); } print &ui_columns_end(); }