Diff for /loncom/interface/loncoursegroups.pm between versions 1.72 and 1.77

version 1.72, 2007/12/24 18:36:44 version 1.77, 2008/05/08 23:25:29
Line 254  END Line 254  END
                 my $members_result = &group_members($cdom,$cnum,$group,                  my $members_result = &group_members($cdom,$cnum,$group,
                                                     \%grp_info);                                                      \%grp_info);
                 my $port_path = '/userfiles/groups/'.$group.'/portfolio';                  my $port_path = '/userfiles/groups/'.$group.'/portfolio';
                 my $port_dir = &Apache::loncommon::propath($cdom,$cnum).$port_path;  
                 my $totaldirs = 0;                  my $totaldirs = 0;
                 my $totalfiles = 0;                  my $totalfiles = 0;
                 &group_files($group,$port_dir,\$totalfiles,\$totaldirs);                  &group_files($group,$port_path,\$totalfiles,\$totaldirs);
                 $grp_info{$group}{'totalfiles'} = $totalfiles;                  $grp_info{$group}{'totalfiles'} = $totalfiles;
                 $grp_info{$group}{'totaldirs'} = $totaldirs;                  $grp_info{$group}{'totaldirs'} = $totaldirs;
                 my $diskuse = &Apache::lonnet::diskusage($cdom,$cnum,$port_dir);                  my $getpropath = 1;  
                   my $diskuse = &Apache::lonnet::diskusage($cdom,$cnum,$port_path,                                                         $getpropath);
                 if ($grp_info{$group}{'quota'} > 0) {                  if ($grp_info{$group}{'quota'} > 0) {
                     my $pct_use = 0.1 * $diskuse/$grp_info{$group}{'quota'};                      my $pct_use = 0.1 * $diskuse/$grp_info{$group}{'quota'};
                     $grp_info{$group}{'diskuse'} = sprintf("%.0f",$pct_use);                      $grp_info{$group}{'diskuse'} = sprintf("%.0f",$pct_use);
Line 1169  sub delete_group { Line 1169  sub delete_group {
     my @deleted;      my @deleted;
     my @undeleted;      my @undeleted;
     my %usersettings;      my %usersettings;
       my $context = 'deletegroup';
     foreach my $key (sort(keys(%membership))) {      foreach my $key (sort(keys(%membership))) {
         if ($key =~ /^\Q$groupname\E:([^:]+:[^:]+)$/) {          if ($key =~ /^\Q$groupname\E:([^:]+:[^:]+)$/) {
             my $user = $1;              my $user = $1;
Line 1178  sub delete_group { Line 1179  sub delete_group {
                 $usersettings{$groupname.':'.$user} = $now.':-1:'.$userprivs;                  $usersettings{$groupname.':'.$user} = $now.':-1:'.$userprivs;
                 if (&Apache::lonnet::modify_group_roles($cdom,$cnum,                  if (&Apache::lonnet::modify_group_roles($cdom,$cnum,
                                                         $groupname,$user,                                                          $groupname,$user,
                                                         $now,'-1',$userprivs)                                                          $now,'-1',$userprivs,
                                                           '',$context)
                     eq 'ok') {                      eq 'ok') {
                     $num_ok ++;                      $num_ok ++;
                     push(@deleted,$user);                      push(@deleted,$user);
Line 1338  sub reenable_group { Line 1340  sub reenable_group {
     my $num_users = 0;      my $num_users = 0;
     my $num_ok = 0;      my $num_ok = 0;
     my $num_fail = 0;      my $num_fail = 0;
       my $context = 'reenablegroup';
     my (%usersettings,@enabled,@unenabled);      my (%usersettings,@enabled,@unenabled);
     my ($result,$message) =      my ($result,$message) =
           &Apache::lonnet::toggle_coursegroup_status($cdom,$cnum,$groupname,            &Apache::lonnet::toggle_coursegroup_status($cdom,$cnum,$groupname,
Line 1357  sub reenable_group { Line 1360  sub reenable_group {
                     if (&Apache::lonnet::modify_group_roles($cdom,$cnum,                      if (&Apache::lonnet::modify_group_roles($cdom,$cnum,
                                                             $groupname,$user,                                                              $groupname,$user,
                                                             $defend,$defstart,                                                              $defend,$defstart,
                                                             $userprivs) eq 'ok') {                                                              $userprivs,'',
   $context) eq 'ok') {
                         $num_ok ++;                          $num_ok ++;
                         push(@enabled,$user);                          push(@enabled,$user);
                     } else {                      } else {
Line 1460  sub build_members_list { Line 1464  sub build_members_list {
 }  }
   
 sub group_files {  sub group_files {
     my ($group,$currdir,$numfiles,$numdirs) = @_;      my ($group,$portpath,$numfiles,$numdirs) = @_;
     my $dirptr=16384;      my $dirptr=16384;
     my @dir_list=&Apache::portfolio::get_dir_list($currdir,$group);      my @dir_list=&Apache::portfolio::get_dir_list($portpath,undef,$group);
     foreach my $line (@dir_list) {      foreach my $line (@dir_list) {
         my ($filename,$dom,undef,$testdir,undef,undef,undef,undef,$size,undef,$mtime,undef,undef,undef,$obs,undef)=split(/\&/,$line,16);          my ($filename,$dom,undef,$testdir,undef,undef,undef,undef,$size,undef,$mtime,undef,undef,undef,$obs,undef)=split(/\&/,$line,16);
         if (($filename !~ /^\.\.?$/) && ($filename !~ /\.meta$/ ) && ($filename !~ /(.*)\.(\d+)\.([^\.]*)$/) && ($filename ne 'no_such_dir')) {           if (($filename !~ /^\.\.?$/) && ($filename !~ /\.meta$/ ) && ($filename !~ /(.*)\.(\d+)\.([^\.]*)$/) && ($filename ne 'no_such_dir')) { 
             if ($dirptr&$testdir) {              if ($dirptr&$testdir) {
                 $currdir .= '/'.$filename;                  $portpath .= '/'.$filename;
                 $$numdirs ++;                  $$numdirs ++;
                 &group_files($numfiles,$numdirs)                  &group_files($group,$portpath,$numfiles,$numdirs)
             } else {              } else {
                 $$numfiles ++;                  $$numfiles ++;
             }              }
Line 3231  sub process_membership { Line 3235  sub process_membership {
     my %curr_start = ();      my %curr_start = ();
     my %curr_end = ();      my %curr_end = ();
     my %tooltype = ();      my %tooltype = ();
       my $context = 'processgroupmembership';
   
     foreach my $tool (@{$tools}) {      foreach my $tool (@{$tools}) {
         foreach my $priv (sort(keys(%{$$toolprivs{$tool}}))) {          foreach my $priv (sort(keys(%{$$toolprivs{$tool}}))) {
Line 3300  sub process_membership { Line 3305  sub process_membership {
                                                       $curr_privs{$user};                                                        $curr_privs{$user};
                 if (&Apache::lonnet::modify_group_roles($cdom,$cnum,$groupname,                  if (&Apache::lonnet::modify_group_roles($cdom,$cnum,$groupname,
                                                        $user,$now,$savestart,                                                         $user,$now,$savestart,
                                                        $curr_privs{$user}) eq 'ok') {                                                         $curr_privs{$user},'',$context) eq 'ok') {
                     push(@{$added{'expired'}},$user);                      push(@{$added{'expired'}},$user);
                     $num_ok ++;                      $num_ok ++;
                 } else {                  } else {
Line 3311  sub process_membership { Line 3316  sub process_membership {
             foreach my $user (@deletion) {              foreach my $user (@deletion) {
                 $usersettings{$groupname.':'.$user} = $now.':-1:';                  $usersettings{$groupname.':'.$user} = $now.':-1:';
                 if (&Apache::lonnet::modify_group_roles($cdom,$cnum,$groupname,                  if (&Apache::lonnet::modify_group_roles($cdom,$cnum,$groupname,
                                                        $user,$now,'-1','')                                                         $user,$now,'-1','','',$context)
                                                          eq 'ok') {                                                           eq 'ok') {
                     push(@{$added{'deleted'}},$user);                      push(@{$added{'deleted'}},$user);
                     $num_ok ++;                      $num_ok ++;
Line 3365  sub process_membership { Line 3370  sub process_membership {
                                               $group_privs{$user};                                                $group_privs{$user};
         if (&Apache::lonnet::modify_group_roles($cdom,$cnum,$groupname,          if (&Apache::lonnet::modify_group_roles($cdom,$cnum,$groupname,
                                                 $user,$end,$start,                                                  $user,$end,$start,
                                                 $group_privs{$user}) eq 'ok') {                                                  $group_privs{$user},'',$context) eq 'ok') {
             push(@{$added{$type}},$user);              push(@{$added{$type}},$user);
             $num_ok ++;              $num_ok ++;
         } else {          } else {
Line 3724  sub add_group_folder { Line 3729  sub add_group_folder {
             $outcome = &mt('Could not obtain exclusive lock to check status of the folder for all groups. No group folder added.');              $outcome = &mt('Could not obtain exclusive lock to check status of the folder for all groups. No group folder added.');
             return $outcome;              return $outcome;
         }          }
         my $grpfolder = &mt('[_1] Folder -',$ucgpterm,).$description;          my $grpfolder = &mt($ucgpterm.' Folder - [_1]',$description);
         $grppage='/adm/'.$cdom.'/'.$cnum.'/'.$groupname.'/smppg';          $grppage='/adm/'.$cdom.'/'.$cnum.'/'.$groupname.'/smppg';
         my $grptitle = &mt('Group homepage').' - '.$description;          my $grptitle = &mt('Group homepage - [_1]',$description);
         my ($discussions,$disctitle);          my ($discussions,$disctitle);
         my $outcome = &map_updater($cdom,$cnum,'group_folder_'.$groupname.'.sequence',          my $outcome = &map_updater($cdom,$cnum,'group_folder_'.$groupname.'.sequence',
                                    'grpseq',$grpfolder,$allgrpsmap,$grppage,                                     'grpseq',$grpfolder,$allgrpsmap,$grppage,

Removed from v.1.72  
changed lines
  Added in v.1.77


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>