version 1.162.2.3, 2006/10/10 01:55:33
|
version 1.170, 2006/11/23 01:49:41
|
Line 40 use Apache::lonhtmlcommon;
|
Line 40 use Apache::lonhtmlcommon;
|
use Apache::lonannounce; |
use Apache::lonannounce; |
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::lonpageflip(); |
use Apache::lonpageflip(); |
|
use Apache::lonnavdisplay(); |
use GDBM_File; |
use GDBM_File; |
use LONCAPA; |
use LONCAPA qw(:DEFAULT :match); |
|
|
|
|
sub redirect_user { |
sub redirect_user { |
Line 53 sub redirect_user {
|
Line 54 sub redirect_user {
|
my $swinfo=&Apache::lonmenu::rawconfig(); |
my $swinfo=&Apache::lonmenu::rawconfig(); |
my $navwindow; |
my $navwindow; |
if ($launch_nav eq 'on') { |
if ($launch_nav eq 'on') { |
$navwindow.=&Apache::lonnavmaps::launch_win('now',undef,undef, |
$navwindow.=&Apache::lonnavdisplay::launch_win('now',undef,undef, |
($url =~ m-^/adm/whatsnew-)); |
($url =~ m-^/adm/whatsnew-)); |
} else { |
} else { |
$navwindow.=&Apache::lonnavmaps::close(); |
$navwindow.=&Apache::lonnavmaps::close(); |
} |
} |
Line 125 sub handler {
|
Line 126 sub handler {
|
if ($numdc > 0) { |
if ($numdc > 0) { |
foreach my $envkey (keys %env) { |
foreach my $envkey (keys %env) { |
if (my ($domain,$coursenum) = |
if (my ($domain,$coursenum) = |
($envkey =~ m-^form\.cc\./(\w+)/(\w+)$-)) { |
($envkey =~ m-^form\.cc\./($match_domain)/($match_username)$-)) { |
if ($dcroles{$domain}) { |
if ($dcroles{$domain}) { |
&check_privs($domain,$coursenum,$then,$now); |
&check_privs($domain,$coursenum,$then,$now); |
} |
} |
Line 312 ENDENTERKEY
|
Line 313 ENDENTERKEY
|
} |
} |
} |
} |
# Are we allowed to look at the first resource? |
# Are we allowed to look at the first resource? |
if (!&Apache::lonnet::allowed('bre',$furl)) { |
if ($furl !~ m|^/adm/|) { |
# Guess not ... |
# Guess not ... |
$furl=&Apache::lonpageflip::first_accessible_resource(); |
$furl=&Apache::lonpageflip::first_accessible_resource(); |
} |
} |
Line 485 ENDHEADER
|
Line 486 ENDHEADER
|
$tstatus='selected'; |
$tstatus='selected'; |
} |
} |
my $tbg; |
my $tbg; |
if (($tstatus eq 'is') || ($tstatus eq 'selected') || |
if (($tstatus eq 'is') |
($env{'form.showall'})) { |
|| ($tstatus eq 'selected') |
|
|| ($tstatus eq 'will') |
|
|| ($tstatus eq 'future') |
|
|| ($env{'form.showall'})) { |
if ($tstatus eq 'is') { |
if ($tstatus eq 'is') { |
$tbg='#77FF77'; |
$tbg='#77FF77'; |
$tfont='#003300'; |
$tfont='#003300'; |
Line 635 ENDHEADER
|
Line 639 ENDHEADER
|
# More than one possible role |
# More than one possible role |
# ----------------------------------------------------------------------- Table |
# ----------------------------------------------------------------------- Table |
unless (($advanced) || ($nochoose)) { |
unless (($advanced) || ($nochoose)) { |
$r->print("<h2>".&mt('Select a Course to Enter')."</h2>\n"); |
$r->print("<h2>".&mt('Select a Course/Group to Enter')."</h2>\n"); |
} |
} |
$r->print('<br /><table><tr>'); |
$r->print('<br /><table><tr>'); |
unless ($nochoose) { $r->print('<th> </th>'); } |
unless ($nochoose) { $r->print('<th> </th>'); } |
Line 659 ENDHEADER
|
Line 663 ENDHEADER
|
foreach (sort(keys(%recent_roles))) { |
foreach (sort(keys(%recent_roles))) { |
if (defined($roletext{'user.role.'.$_})) { |
if (defined($roletext{'user.role.'.$_})) { |
$output.=$roletext{'user.role.'.$_}; |
$output.=$roletext{'user.role.'.$_}; |
if ($_ =~ m-dc\./(\w+)/- && $dcroles{$1}) { |
if ($_ =~ m-dc\./($match_domain)/- |
|
&& $dcroles{$1}) { |
$output .= &allcourses_row($1,'recent'); |
$output .= &allcourses_row($1,'recent'); |
} |
} |
} elsif ($numdc > 0) { |
} elsif ($numdc > 0) { |
Line 686 ENDHEADER
|
Line 691 ENDHEADER
|
foreach my $which (sort {uc($a) cmp uc($b)} (keys(%sortrole))) { |
foreach my $which (sort {uc($a) cmp uc($b)} (keys(%sortrole))) { |
if ($roleclass{$sortrole{$which}} =~ /^\Q$type\E/) { |
if ($roleclass{$sortrole{$which}} =~ /^\Q$type\E/) { |
$output.=$roletext{$sortrole{$which}}; |
$output.=$roletext{$sortrole{$which}}; |
if ($sortrole{$which} =~ m-dc\./(\w+)/-) { |
if ($sortrole{$which} =~ m-dc\./($match_domain)/-) { |
if ($dcroles{$1}) { |
if ($dcroles{$1}) { |
$output .= &allcourses_row($1,''); |
$output .= &allcourses_row($1,''); |
} |
} |
Line 831 sub build_roletext {
|
Line 836 sub build_roletext {
|
$roletext.='<td'.$rowspan.'><a href="/adm/switchserver?'. |
$roletext.='<td'.$rowspan.'><a href="/adm/switchserver?'. |
$switchserver.'">'.&mt('Switch Server').'</a></td>'; |
$switchserver.'">'.&mt('Switch Server').'</a></td>'; |
} else { |
} else { |
$roletext.=('<td> </td>'); |
$roletext.=('<td'.$rowspan.'> </td>'); |
} |
} |
} elsif ($tstatus eq 'is') { |
} elsif ($tstatus eq 'is') { |
$roletext.='<td'.$rowspan.'><input name="'.$buttonname.'" type="button" value="'. |
$roletext.='<td'.$rowspan.'><input name="'.$buttonname.'" type="button" value="'. |
Line 886 sub check_fordc {
|
Line 891 sub check_fordc {
|
my $numdc = 0; |
my $numdc = 0; |
if ($env{'user.adv'}) { |
if ($env{'user.adv'}) { |
foreach my $envkey (sort keys %env) { |
foreach my $envkey (sort keys %env) { |
if ($envkey=~/^user\.role\.dc\.\/(\w+)\/$/) { |
if ($envkey=~/^user\.role\.dc\.\/($match_domain)\/$/) { |
my $dcdom = $1; |
my $dcdom = $1; |
my $livedc = 1; |
my $livedc = 1; |
my ($tstart,$tend)=split(/\./,$env{$envkey}); |
my ($tstart,$tend)=split(/\./,$env{$envkey}); |
Line 983 sub display_cc_role {
|
Line 988 sub display_cc_role {
|
my $advanced = $env{'user.adv'}; |
my $advanced = $env{'user.adv'}; |
my $tryagain = $env{'form.tryagain'}; |
my $tryagain = $env{'form.tryagain'}; |
unless ($rolekey =~/^error\:/) { |
unless ($rolekey =~/^error\:/) { |
if ($rolekey =~ m-^user\.role.cc\./(\w+)/(\w+)$-) { |
if ($rolekey =~ m-^user\.role.cc\./($match_domain)/($match_username)$-) { |
my $tcourseid = $1.'_'.$2; |
my $tcourseid = $1.'_'.$2; |
my $trolecode = 'cc./'.$1.'/'.$2; |
my $trolecode = 'cc./'.$1.'/'.$2; |
my $twhere; |
my $twhere; |
Line 1013 sub allcourses_row {
|
Line 1018 sub allcourses_row {
|
my ($dcdom,$rowtype) = @_; |
my ($dcdom,$rowtype) = @_; |
my $output = '<tr bgcolor="#77FF77">'. |
my $output = '<tr bgcolor="#77FF77">'. |
' <td colspan="5">'; |
' <td colspan="5">'; |
foreach my $type ('Course') { |
foreach my $type ('Course','Group') { |
my $selectlink = &courselink($dcdom,$rowtype,$type); |
my $selectlink = &courselink($dcdom,$rowtype,$type); |
my $ccrole = &Apache::lonnet::plaintext('cc',$type); |
my $ccrole = &Apache::lonnet::plaintext('cc',$type); |
$output.= '<font color="#002200">'.$ccrole.'</font>'. |
$output.= '<font color="#002200">'.$ccrole.'</font>'. |
Line 1034 sub set_privileges {
|
Line 1039 sub set_privileges {
|
my $area = '/'.$dcdom.'/'.$pickedcourse; |
my $area = '/'.$dcdom.'/'.$pickedcourse; |
my $role = 'cc'; |
my $role = 'cc'; |
my $spec = $role.'.'.$area; |
my $spec = $role.'.'.$area; |
my %userroles = &Apache::lonnet::set_arearole($role,$area,'','',$dcdom,$env{'user.name'}); |
my %userroles = &Apache::lonnet::set_arearole($role,$area,'','', |
|
$env{'user.domain'}, |
|
$env{'user.name'}); |
my %ccrole = (); |
my %ccrole = (); |
&Apache::lonnet::standard_roleprivs(\%ccrole,$role,$dcdom,$spec,$pickedcourse,$area); |
&Apache::lonnet::standard_roleprivs(\%ccrole,$role,$dcdom,$spec,$pickedcourse,$area); |
my ($author,$adv)= &Apache::lonnet::set_userprivs(\%userroles,\%ccrole); |
my ($author,$adv)= &Apache::lonnet::set_userprivs(\%userroles,\%ccrole); |