version 1.203, 2008/07/30 15:34:34
|
version 1.207, 2008/10/02 14:34:03
|
Line 146 sub handler {
|
Line 146 sub handler {
|
# Is this an ad-hoc CA-role? |
# Is this an ad-hoc CA-role? |
if (my ($domain,$user) = |
if (my ($domain,$user) = |
($envkey =~ m-^form\.ca\./($match_domain)/($match_username)$-)) { |
($envkey =~ m-^form\.ca\./($match_domain)/($match_username)$-)) { |
# Check if author blocked ca-access |
if (($domain eq $env{'user.domain'}) && ($user eq $env{'user.name'})) { |
|
delete($env{$envkey}); |
|
$env{'form.au./'.$domain.'/'} = 1; |
|
my ($server_status,$home) = &check_author_homeserver($user,$domain); |
|
if ($server_status eq 'switchserver') { |
|
my $trolecode = 'au./'.$domain.'/'; |
|
my $switchserver = '/adm/switchserver?otherserver='.$home.'&role='.$trolecode; |
|
$r->internal_redirect($switchserver); |
|
} |
|
last; |
|
} |
|
if (my ($castart,$caend) = ($env{'user.role.ca./'.$domain.'/'.$user} =~ /^(\d*)\.(\d*)$/)) { |
|
if (((($castart) && ($castart < $now)) || !$castart) && |
|
((!$caend) || (($caend) && ($caend > $now)))) { |
|
my ($server_status,$home) = &check_author_homeserver($user,$domain); |
|
if ($server_status eq 'switchserver') { |
|
my $trolecode = 'ca./'.$domain.'/'.$user; |
|
my $switchserver = '/adm/switchserver?otherserver='.$home.'&role='.$trolecode; |
|
$r->internal_redirect($switchserver); |
|
} |
|
last; |
|
} |
|
} |
|
# Check if author blocked ca-access |
my %blocked=&Apache::lonnet::get('environment',['domcoord.author'],$domain,$user); |
my %blocked=&Apache::lonnet::get('environment',['domcoord.author'],$domain,$user); |
if ($blocked{'domcoord.author'} eq 'blocked') { |
if ($blocked{'domcoord.author'} eq 'blocked') { |
delete($env{$envkey}); |
delete($env{$envkey}); |
$env{'user.error.msg'}=':::1:User '.$user.' in domain '.$domain.' blocked domain coordinator access'; |
$env{'user.error.msg'}=':::1:User '.$user.' in domain '.$domain.' blocked domain coordinator access'; |
last; |
last; |
} |
} |
if ($dcroles{$domain}) { |
if ($dcroles{$domain}) { |
my ($server_status,$home) = &check_author_homeserver($user,$domain); |
my ($server_status,$home) = &check_author_homeserver($user,$domain); |
Line 229 sub handler {
|
Line 252 sub handler {
|
$cdom,$cnum, |
$cdom,$cnum, |
$env{'user.domain'}, |
$env{'user.domain'}, |
$env{'user.name'}, |
$env{'user.name'}, |
'Assigned from '.$ENV{'REMOTE_ADDR'}.' at '.localtime().' for '. |
&mt('Assigned from [_1] at [_2] for [_3]' |
$trolecode); |
,$ENV{'REMOTE_ADDR'} |
|
,&Apache::lonlocal::locallocaltime() |
|
,$trolecode) |
|
); |
unless ($assignresult eq 'ok') { |
unless ($assignresult eq 'ok') { |
$assignresult=~s/^error\:\s*//; |
$assignresult=~s/^error\:\s*//; |
$message=&mt($assignresult). |
$message=&mt($assignresult). |
Line 354 ENDENTERKEY
|
Line 380 ENDENTERKEY
|
) { |
) { |
my $startpage = &courseloadpage($courseid); |
my $startpage = &courseloadpage($courseid); |
unless ($startpage eq 'firstres') { |
unless ($startpage eq 'firstres') { |
$msg = &mt('Entering [_1] ....', |
$msg = &mt('Entering [_1] ...', |
$env{'course.'.$courseid.'.description'}); |
$env{'course.'.$courseid.'.description'}); |
&redirect_user($r,&mt('New in course'), |
&redirect_user($r,&mt('New in course'), |
'/adm/whatsnew?refpage=start',$msg, |
'/adm/whatsnew?refpage=start',$msg, |
Line 554 ENDHEADER
|
Line 580 ENDHEADER
|
$countfuture ++; |
$countfuture ++; |
} elsif ($tstatus eq 'will') { |
} elsif ($tstatus eq 'will') { |
$tbg='#FFAA77'; |
$tbg='#FFAA77'; |
$tremark.=&mt('Active at next login. '); |
$tremark.=&mt('Active at next login.').' '; |
$roles_nextlogin{$trolecode} = $tstart.':'.$tend; |
$roles_nextlogin{$trolecode} = $tstart.':'.$tend; |
$countwill ++; |
$countwill ++; |
} elsif ($tstatus eq 'expired') { |
} elsif ($tstatus eq 'expired') { |
Line 563 ENDHEADER
|
Line 589 ENDHEADER
|
$button=0; |
$button=0; |
} elsif ($tstatus eq 'will_not') { |
} elsif ($tstatus eq 'will_not') { |
$tbg='#AAFF77'; |
$tbg='#AAFF77'; |
$tremark.=&mt('Expired after logout. '); |
$tremark.=&mt('Expired after logout.').' '; |
} elsif ($tstatus eq 'selected') { |
} elsif ($tstatus eq 'selected') { |
$tbg='#11CC55'; |
$tbg='#11CC55'; |
$tfont='#002200'; |
$tfont='#002200'; |
$inrole=1; |
$inrole=1; |
$countactive++; |
$countactive++; |
$tremark.=&mt('Currently selected. '); |
$tremark.=&mt('Currently selected.').' '; |
} |
} |
my $trole; |
my $trole; |
if ($role =~ /^cr\//) { |
if ($role =~ /^cr\//) { |
my ($rdummy,$rdomain,$rauthor,$rrole)=split(/\//,$role); |
my ($rdummy,$rdomain,$rauthor,$rrole)=split(/\//,$role); |
if ($tremark) { $tremark.='<br />'; } |
if ($tremark) { $tremark.='<br />'; } |
$tremark.=&mt('Defined by ').$rauthor. |
$tremark.=&mt('Defined by [_1] at [_2].',$rauthor,$rdomain); |
&mt(' at ').$rdomain.'.'; |
|
} |
} |
$trole=Apache::lonnet::plaintext($role); |
$trole=Apache::lonnet::plaintext($role); |
my $ttype; |
my $ttype; |
Line 704 ENDHEADER
|
Line 729 ENDHEADER
|
my $tfont='#003300'; |
my $tfont='#003300'; |
if ($env{'request.role'} eq 'cm') { |
if ($env{'request.role'} eq 'cm') { |
$r->print('<tr bgcolor="#11CC55">'); |
$r->print('<tr bgcolor="#11CC55">'); |
$tremark=&mt('Currently selected. '); |
$tremark=&mt('Currently selected.').' '; |
$tfont='#002200'; |
$tfont='#002200'; |
} else { |
} else { |
$r->print('<tr bgcolor="#77FF77">'); |
$r->print('<tr bgcolor="#77FF77">'); |
Line 717 ENDHEADER
|
Line 742 ENDHEADER
|
} |
} |
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |
return OK; |
return OK; |
# Is there only one choice? |
|
} elsif ($countactive==1) { |
|
my $needs_switchserver; |
|
if ($env{'user.author'}) { |
|
$needs_switchserver = &check_needs_switchserver($possiblerole); |
|
} |
|
if ((!$needs_switchserver) && ($env{'request.role'} eq 'cm')) { |
|
$r->print('<h3>'.&mt('Please stand by.').'</h3>'. |
|
'<input type="hidden" name="'.$possiblerole.'" value="1" />'. |
|
'<noscript><br /><input type="submit" name="submit" value="'.&mt('Continue').'" /></noscript>'); |
|
$r->print("</form>\n"); |
|
$r->rflush(); |
|
$r->print('<script type="text/javascript">document.forms.rolechoice.submit();</script>'); |
|
$r->print(&Apache::loncommon::end_page()); |
|
return OK; |
|
} |
|
if ($needs_switchserver) { |
|
$r->print("<h2>".&mt('Server Switch Required')."</h2>\n". |
|
&mt('Construction Space access is only available from '. |
|
'the home server of the corresponding Author.').'<br />'. |
|
&mt("Click the 'Switch Server' link to go there.").'<br />'); |
|
} |
|
} |
} |
# More than one possible role |
|
# ----------------------------------------------------------------------- Table |
# ----------------------------------------------------------------------- Table |
unless ((!&Apache::lonmenu::show_course()) || ($nochoose) || ($countactive==1)) { |
unless ((!&Apache::lonmenu::show_course()) || ($nochoose) || ($countactive==1)) { |
$r->print("<h2>".&mt('Select a Course to Enter')."</h2>\n"); |
$r->print("<h2>".&mt('Select a Course to Enter')."</h2>\n"); |
Line 782 ENDHEADER
|
Line 784 ENDHEADER
|
my $tfont='#003300'; |
my $tfont='#003300'; |
if ($env{'request.role'} eq 'cm') { |
if ($env{'request.role'} eq 'cm') { |
$r->print('<tr bgcolor="#11CC55">'); |
$r->print('<tr bgcolor="#11CC55">'); |
$tremark=&mt('Currently selected. '); |
$tremark=&mt('Currently selected.').' '; |
$tfont='#002200'; |
$tfont='#002200'; |
} else { |
} else { |
$r->print('<tr bgcolor="#77FF77">'); |
$r->print('<tr bgcolor="#77FF77">'); |
Line 940 sub privileges_info {
|
Line 942 sub privileges_info {
|
$ttype='System'; |
$ttype='System'; |
$twhere='/'; |
$twhere='/'; |
} |
} |
$output .= "\n<h3>".$ttype.': '.$twhere.'</h3>'."\n<ul>"; |
$output .= "\n<h3>".&mt($ttype).': '.$twhere.'</h3>'."\n<ul>"; |
foreach my $priv (sort(split(/:/,$env{$envkey}))) { |
foreach my $priv (sort(split(/:/,$env{$envkey}))) { |
next if (!$priv); |
next if (!$priv); |
|
|