--- loncom/auth/lonroles.pm 2002/05/21 13:07:40 1.38 +++ loncom/auth/lonroles.pm 2002/08/08 19:29:30 1.40 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # User Roles Screen # -# $Id: lonroles.pm,v 1.38 2002/05/21 13:07:40 stredwic Exp $ +# $Id: lonroles.pm,v 1.40 2002/08/08 19:29:30 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -69,14 +69,15 @@ sub handler { my %temp=('logout_'.$ENV{'request.course.id'} => time); &Apache::lonnet::put('email_status',\%temp); } - &Apache::lonnet::appenv("request.course.id" => '', - "request.course.fn" => '', - "request.course.uri" => '', - "request.course.sec" => '', - "request.role" => 'cm'); + &Apache::lonnet::appenv("request.course.id" => '', + "request.course.fn" => '', + "request.course.uri" => '', + "request.course.sec" => '', + "request.role" => 'cm', + "request.role.domain" => $ENV{'user.domain'}); foreach $envkey (keys %ENV) { - if ($envkey=~/^user\.role\./) { - my ($dum1,$dum2,$role,@pwhere)=split(/\./,$envkey); + next if ($envkey!~/^user\.role\./); + my (undef,undef,$role,@pwhere)=split(/\./,$envkey); my $where=join('.',@pwhere); my $trolecode=$role.'.'.$where; if ($ENV{'form.'.$trolecode}) { @@ -94,8 +95,9 @@ sub handler { if ($tstatus eq 'is') { $where=~s/^\///; my ($cdom,$cnum,$csec)=split(/\//,$where); - &Apache::lonnet::appenv('request.role' => $trolecode, - 'request.course.sec' => $csec); + &Apache::lonnet::appenv('request.role' => $trolecode, + 'request.role.domain' => $cdom, + 'request.course.sec' => $csec); my $msg='Entering course ...'; if (($cnum) && ($role ne 'ca')) { my ($furl,$ferr)= @@ -134,9 +136,8 @@ ENDREDIR } } } - } } - } + } # =============================================================== No Roles Init @@ -171,7 +172,7 @@ ENDHEADER my $advanced=0; foreach $envkey (keys %ENV) { if ($envkey=~/^user\.role\./) { - my ($dum1,$dum2,$role,@pwhere)=split(/\./,$envkey); + my (undef,undef,$role,@pwhere)=split(/\./,$envkey); if ($role ne 'st') { $advanced=1; } } } @@ -212,7 +213,7 @@ ENDHEADER ("

$ENV{'user.name'}, Please Select a Role

\n"); $r->print("Your home server is ". $Apache::lonnet::hostname{&Apache::lonnet::homeserver - ($ENV{'user.name'},$ENV{'user.domain'}, 'true')}. + ($ENV{'user.name'},$ENV{'user.domain'})}. "
\n"); $r->print("Author and Co-Author roles may not be available on ". "servers other than your home server."); @@ -238,7 +239,7 @@ ENDHEADER foreach $envkey (sort keys %ENV) { my $button = 1; if ($envkey=~/^user\.role\./) { - my ($dum1,$dum2,$role,@pwhere)=split(/\./,$envkey); + my (undef,undef,$role,@pwhere)=split(/\./,$envkey); my $where=join('.',@pwhere); my $trolecode=$role.'.'.$where; my ($tstart,$tend)=split(/\./,$ENV{$envkey}); @@ -297,8 +298,7 @@ ENDHEADER split(/\//,Apache::lonnet::declutter($where)); # First, Co-Authorship roles if ($role eq 'ca') { - my $home = &Apache::lonnet::homeserver($trest,$tdom, - 'true'); + my $home = &Apache::lonnet::homeserver($trest,$tdom); $button = 0 if ($home ne $r->dir_config('lonHostID')); #next if ($home eq 'no_host'); $home = $Apache::lonnet::hostname{$home}; @@ -309,7 +309,7 @@ ENDHEADER } elsif ($role eq 'au') { # Authors my $home = &Apache::lonnet::homeserver - ($ENV{'user.name'},$ENV{'user.domain'}, 'true'); + ($ENV{'user.name'},$ENV{'user.domain'}); $button = 0 if ($home ne $r->dir_config('lonHostID')); #next if ($home eq 'no_host'); $home = $Apache::lonnet::hostname{$home};