2 # Actually update the groups
4 require './quota-lib.pl';
6 &error_setup($text{'gmass_err'});
8 @d = split(/\0/, $in{'d'});
10 &can_edit_group($u) ||
11 &error(&text('egroup_eallowgr', $u));
13 $access{'ro'} && &error(&text('egroup_eallowgr', $u));
14 &can_edit_filesys($fs) ||
15 &error($text{'euser_eallowfs'});
18 foreach $t ('sblocks', 'hblocks', 'sfiles', 'hfiles') {
19 $in{$t."_def"} != 2 || $in{$t} =~ /^\d+$/ ||
20 &error($text{'umass_e'.$t});
24 $bsize = &block_size($fs);
25 $n = &filesystem_groups($fs);
29 for($i=0; $i<$n; $i++) {
30 if ($group{$i,'group'} eq $u) {
31 @uinfo = ( $group{$i,'sblocks'}, $group{$i,'hblocks'},
32 $group{$i,'sfiles'}, $group{$i,'hfiles'} );
39 if ($in{'sblocks_def'} == 1) {
42 elsif ($in{'sblocks_def'} == 2) {
43 $uinfo[0] = "a_parse('sblocks', $bsize, 1);
45 if ($in{'hblocks_def'} == 1) {
48 elsif ($in{'hblocks_def'} == 2) {
49 $uinfo[1] = "a_parse('hblocks', $bsize, 1);
51 if ($in{'sfiles_def'} == 1) {
54 elsif ($in{'sfiles_def'} == 2) {
55 $uinfo[2] = $in{'sfiles'};
57 if ($in{'hfiles_def'} == 1) {
60 elsif ($in{'hfiles_def'} == 2) {
61 $uinfo[3] = $in{'hfiles'};
65 &edit_group_quota($u, $fs, @uinfo);
69 &redirect("list_groups.cgi?dir=".&urlize($fs));