#!/usr/local/bin/perl # index.cgi # Display a list of all local filesystems, and allow editing of quotas # on those which have quotas turned on. The actual turning on of quotas must # be done in the mount module first. require './quota-lib.pl'; &ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1, 0, &help_search_link("quota", "man", "howto")); $err = "as_init(); if ($err) { print "

$err

\n"; &ui_print_footer("/", $text{'index_return'}); exit; } @list = &list_filesystems(); if (@list) { print &ui_columns_start([ $text{'index_fs'}, $text{'index_type'}, $text{'index_mount'}, $text{'index_status'}, $access{'enable'} ? ( $text{'index_action'} ) : (), ], 100); @tds = ( "", "valign=top", "valign=top", "valign=top", "valign=top" ); foreach $f (@list) { $qc = $f->[4]; $qc = $qc&1 if ($access{'gmode'} == 3); next if (!$qc); next if (!&can_edit_filesys($f->[0])); $qn = $f->[5]; if ($qc == 1) { $msg = $text{'index_quser'}; } elsif ($qc == 2) { $msg = $text{'index_qgroup'}; } elsif ($qc == 3) { $msg = $text{'index_qboth'}; } $canactivate = 1; if ($qn >= 4) { $chg = $text{'index_mountonly'}; $qn -= 4; $canactivate = 0; if ($qn) { $msg .= " $text{'index_active'}"; } else { $msg .= " $text{'index_inactive'}"; } } elsif ($qn) { $msg .= " $text{'index_active'}"; $chg = $text{'index_disable'}; } else { $msg .= " $text{'index_inactive'}"; $chg = $text{'index_enable'}; } if ($qn%2 == 1) { $useractive++; } if ($qn > 1) { $groupactive++; } local @cols; $dir = $f->[0]; if (!$qn) { push(@cols, $dir); } elsif ($qc == 1) { push(@cols, "$dir"); } elsif ($qc == 2) { push(@cols, "$dir"); } elsif ($qc == 3) { push(@cols, "$dir (users)
". "$dir (groups)"); } push(@cols, &foreign_call("mount", "fstype_name", $f->[2])); push(@cols, &foreign_call("mount", "device_name", $f->[1])); push(@cols, $msg); if ($access{'enable'}) { if ($canactivate) { push(@cols, "$chg"); } else { push(@cols, $chg); } } print &ui_columns_row(\@cols, \@tds); } print &ui_columns_end(); } else { print "$text{'index_nosupport'}

\n"; if (&foreign_available("mount")) { print &text('index_mountmod', "../mount/"),"

\n"; } } # Buttons to edit and specific user or group if ($useractive || $groupactive) { print &ui_hr(); print &ui_buttons_start(); } if ($useractive) { print &ui_buttons_row("user_filesys.cgi", $text{'index_euser'}, $text{'index_euserdesc'}, undef, &ui_user_textbox("user")); } if ($groupactive) { print &ui_buttons_row("group_filesys.cgi", $text{'index_egroup'}, $text{'index_egroupdesc'}, undef, &ui_group_textbox("group")); } if ($useractive || $groupactive) { print &ui_buttons_end(); } &ui_print_footer("/", $text{'index_return'});