--- loncom/lonnet/perl/lonnet.pm 2003/05/08 21:50:54 1.370 +++ loncom/lonnet/perl/lonnet.pm 2003/05/10 23:00:39 1.373 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.370 2003/05/08 21:50:54 albertel Exp $ +# $Id: lonnet.pm,v 1.373 2003/05/10 23:00:39 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -358,15 +358,16 @@ sub userload { while ($filename=readdir(LONIDS)) { if ($filename eq '.' || $filename eq '..') {next;} my ($atime)=(stat($perlvar{'lonIDsDir'}.'/'.$filename))[8]; - if ($curtime-$atime < 3600) { $num_users++; } + if ($curtime-$atime < 3600) { $numusers++; } } closedir(LONIDS); } my $userloadpercent=0; my $maxuserload=$perlvar{'lonUserLoadLim'}; if ($maxuserload) { - $userloadpercent=100*$num_users/$maxuserload; + $userloadpercent=100*$numusers/$maxuserload; } + $userloadpercent=sprintf("%.2f",$userloadpercent); return $userloadpercent; } @@ -1259,8 +1260,8 @@ sub get_course_adv_roles { } else { $returnhash{$key}=$username.':'.$domain; } - } - return sort %returnhash; + } + return %returnhash; } # ---------------------------------------------------------- Course ID routines @@ -2640,7 +2641,7 @@ sub assignrole { } else { my $cwosec=$url; $cwosec=~s/^\/(\w+)\/(\w+)\/.*/$1\/$2/; - unless (&allowed('c'.$role,$cwosec)) { + unless ((&allowed('c'.$role,$cwosec)) || &allowed('c'.$role,$udom)) { &logthis('Refused assignrole: '. $udom.' '.$uname.' '.$url.' '.$role.' '.$end.' '.$start.' by '. $ENV{'user.name'}.' at '.$ENV{'user.domain'}); @@ -2660,10 +2661,11 @@ sub assignrole { } # actually delete if ($deleteflag) { - if (&allowed('dro',$udom)) { + if ((&allowed('dro',$udom)) || (&allowed('dro',$url))) { # modify command to delete the role $command="encrypt:rolesdel:$ENV{'user.domain'}:$ENV{'user.name'}:". "$udom:$uname:$url".'_'."$mrole"; + &logthis("$ENV{'user.name'} at $ENV{'user.domain'} deletes $mrole in $url for $uname at $udom"); # set start and finish to negative values for userrolelog $start=-1; $end=-1;