--- loncom/interface/loncoursegroups.pm 2007/12/24 18:36:44 1.72 +++ loncom/interface/loncoursegroups.pm 2008/05/08 23:25:29 1.77 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: loncoursegroups.pm,v 1.72 2007/12/24 18:36:44 raeburn Exp $ +# $Id: loncoursegroups.pm,v 1.77 2008/05/08 23:25:29 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -254,13 +254,13 @@ END my $members_result = &group_members($cdom,$cnum,$group, \%grp_info); my $port_path = '/userfiles/groups/'.$group.'/portfolio'; - my $port_dir = &Apache::loncommon::propath($cdom,$cnum).$port_path; my $totaldirs = 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}{'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) { my $pct_use = 0.1 * $diskuse/$grp_info{$group}{'quota'}; $grp_info{$group}{'diskuse'} = sprintf("%.0f",$pct_use); @@ -1169,6 +1169,7 @@ sub delete_group { my @deleted; my @undeleted; my %usersettings; + my $context = 'deletegroup'; foreach my $key (sort(keys(%membership))) { if ($key =~ /^\Q$groupname\E:([^:]+:[^:]+)$/) { my $user = $1; @@ -1178,7 +1179,8 @@ sub delete_group { $usersettings{$groupname.':'.$user} = $now.':-1:'.$userprivs; if (&Apache::lonnet::modify_group_roles($cdom,$cnum, $groupname,$user, - $now,'-1',$userprivs) + $now,'-1',$userprivs, + '',$context) eq 'ok') { $num_ok ++; push(@deleted,$user); @@ -1338,6 +1340,7 @@ sub reenable_group { my $num_users = 0; my $num_ok = 0; my $num_fail = 0; + my $context = 'reenablegroup'; my (%usersettings,@enabled,@unenabled); my ($result,$message) = &Apache::lonnet::toggle_coursegroup_status($cdom,$cnum,$groupname, @@ -1357,7 +1360,8 @@ sub reenable_group { if (&Apache::lonnet::modify_group_roles($cdom,$cnum, $groupname,$user, $defend,$defstart, - $userprivs) eq 'ok') { + $userprivs,'', +$context) eq 'ok') { $num_ok ++; push(@enabled,$user); } else { @@ -1460,16 +1464,16 @@ sub build_members_list { } sub group_files { - my ($group,$currdir,$numfiles,$numdirs) = @_; + my ($group,$portpath,$numfiles,$numdirs) = @_; 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) { 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 ($dirptr&$testdir) { - $currdir .= '/'.$filename; + $portpath .= '/'.$filename; $$numdirs ++; - &group_files($numfiles,$numdirs) + &group_files($group,$portpath,$numfiles,$numdirs) } else { $$numfiles ++; } @@ -3231,6 +3235,7 @@ sub process_membership { my %curr_start = (); my %curr_end = (); my %tooltype = (); + my $context = 'processgroupmembership'; foreach my $tool (@{$tools}) { foreach my $priv (sort(keys(%{$$toolprivs{$tool}}))) { @@ -3300,7 +3305,7 @@ sub process_membership { $curr_privs{$user}; if (&Apache::lonnet::modify_group_roles($cdom,$cnum,$groupname, $user,$now,$savestart, - $curr_privs{$user}) eq 'ok') { + $curr_privs{$user},'',$context) eq 'ok') { push(@{$added{'expired'}},$user); $num_ok ++; } else { @@ -3311,7 +3316,7 @@ sub process_membership { foreach my $user (@deletion) { $usersettings{$groupname.':'.$user} = $now.':-1:'; if (&Apache::lonnet::modify_group_roles($cdom,$cnum,$groupname, - $user,$now,'-1','') + $user,$now,'-1','','',$context) eq 'ok') { push(@{$added{'deleted'}},$user); $num_ok ++; @@ -3365,7 +3370,7 @@ sub process_membership { $group_privs{$user}; if (&Apache::lonnet::modify_group_roles($cdom,$cnum,$groupname, $user,$end,$start, - $group_privs{$user}) eq 'ok') { + $group_privs{$user},'',$context) eq 'ok') { push(@{$added{$type}},$user); $num_ok ++; } else { @@ -3724,9 +3729,9 @@ sub add_group_folder { $outcome = &mt('Could not obtain exclusive lock to check status of the folder for all groups. No group folder added.'); return $outcome; } - my $grpfolder = &mt('[_1] Folder -',$ucgpterm,).$description; + my $grpfolder = &mt($ucgpterm.' Folder - [_1]',$description); $grppage='/adm/'.$cdom.'/'.$cnum.'/'.$groupname.'/smppg'; - my $grptitle = &mt('Group homepage').' - '.$description; + my $grptitle = &mt('Group homepage - [_1]',$description); my ($discussions,$disctitle); my $outcome = &map_updater($cdom,$cnum,'group_folder_'.$groupname.'.sequence', 'grpseq',$grpfolder,$allgrpsmap,$grppage,