--- loncom/auth/lonroles.pm 2001/05/03 17:54:12 1.24 +++ loncom/auth/lonroles.pm 2001/10/26 17:09:04 1.29 @@ -9,7 +9,7 @@ # 12/08,12/28, # 01/15/01 Gerd Kortemeyer # 02/27/01 Scott Harrison -# 03/02,05/03 Gerd Kortemeyer +# 03/02,05/03,05/25,05/30,06/01,07/06,08/06 Gerd Kortemeyer package Apache::lonroles; @@ -18,6 +18,8 @@ use Apache::lonnet(); use Apache::lonuserstate(); use Apache::Constants qw(:common); use Apache::File(); +use Apache::lonmenu; +use Apache::loncommon; sub handler { @@ -58,7 +60,8 @@ sub handler { my ($cdom,$cnum,$csec)=split(/\//,$where); &Apache::lonnet::appenv('request.role' => $trolecode, 'request.course.sec' => $csec); - if ($cnum) { + my $msg='Entering course ...'; + if (($cnum) && ($role ne 'ca')) { my ($furl,$ferr)= &Apache::lonuserstate::readmap($cdom.'/'.$cnum); if (($ENV{'form.orgurl'}) && @@ -66,15 +69,28 @@ sub handler { $r->internal_redirect($ENV{'form.orgurl'}); return OK; } else { + unless ($ENV{'request.course.id'}) { + &Apache::lonnet::appenv( + "request.course.id" => $cdom.'_'.$cnum); + $furl='/adm/notfound.html'; + $msg= + '
'); } @@ -193,6 +223,8 @@ ENDHEADER $tstatus='selected'; } my $tbg; + if (($tstatus eq 'is') || ($tstatus eq 'selected') || + ($ENV{'form.showall'})) { if ($tstatus eq 'is') { $tbg='#77FF77'; } elsif ($tstatus eq 'future') { @@ -257,6 +289,10 @@ ENDHEADER if ($tstatus eq 'is') { $r->print(' | '); + } elsif ($ENV{'user.adv'}) { + $r->print( + ' | '); } else { $r->print(' | '); } @@ -265,6 +301,7 @@ ENDHEADER $ttype.' | '.$twhere.' | '.$tpstart. ' | '.$tpend. ' | '.$tremark.' |
---|