Viewing file:      save_user_mass.cgi (1.49 KB)      -rwxr-xr-x Select action/file-type:    (+) |   (+) |   (+) | Code (+) | Session (+) |   (+) | SDB (+) |   (+) |   (+) |   (+) |   (+) |   (+) |
 
#!/usr/bin/perl # Actually update the users
  require './quota-lib.pl'; &ReadParse(); &error_setup($text{'umass_err'}); $fs = $in{'dir'}; @d = split(/\0/, $in{'d'}); foreach $u (@d) {     &can_edit_user($u) ||         &error(&text('euser_eallowus', $u));     } $access{'ro'} && &error(&text('euser_eallowus', $u)); &can_edit_filesys($fs) ||     &error($text{'euser_eallowfs'});
  # Validate inputs foreach $t ('sblocks', 'hblocks', 'sfiles', 'hfiles') {     $in{$t."_def"} != 2 || $in{$t} =~ /^\d+(\.\d+)?$/ ||         &error($text{'umass_e'.$t});     }
  # Update the users $bsize = &block_size($fs); $n = &filesystem_users($fs); foreach $u (@d) {     # Find the user     @uinfo = ( );     for($i=0; $i<$n; $i++) {         if ($user{$i,'user'} eq $u) {             @uinfo = ( $user{$i,'sblocks'}, $user{$i,'hblocks'},                    $user{$i,'sfiles'},  $user{$i,'hfiles'} );             last;             }         }
      # Update his object     if (@uinfo) {         if ($in{'sblocks_def'} == 1) {             $uinfo[0] = 0;             }         elsif ($in{'sblocks_def'} == 2) {             $uinfo[0] = "a_parse('sblocks', $bsize, 1);             }         if ($in{'hblocks_def'} == 1) {             $uinfo[1] = 0;             }         elsif ($in{'hblocks_def'} == 2) {             $uinfo[1] = "a_parse('hblocks', $bsize, 1);             }         if ($in{'sfiles_def'} == 1) {             $uinfo[2] = 0;             }         elsif ($in{'sfiles_def'} == 2) {             $uinfo[2] = $in{'sfiles'};             }         if ($in{'hfiles_def'} == 1) {             $uinfo[3] = 0;             }         elsif ($in{'hfiles_def'} == 2) {             $uinfo[3] = $in{'hfiles'};             }
          # Update the user         &edit_user_quota($u, $fs, @uinfo);         }     }
  &redirect("list_users.cgi?dir=".&urlize($fs));
  
  |