version 1.410, 2006/06/30 01:21:36
|
version 1.414, 2006/07/03 00:44:21
|
Line 3227 table.LC_breadcrumbs td, table.LC_docs_p
|
Line 3227 table.LC_breadcrumbs td, table.LC_docs_p
|
font-family: $sans; |
font-family: $sans; |
font-size: smaller; |
font-size: smaller; |
} |
} |
table.LC_breadcrumbs td.LC_breadcrumb_component, |
table.LC_breadcrumbs td.LC_breadcrumbs_component, |
table.LC_docs_path td.LC_docs_path_component { |
table.LC_docs_path td.LC_docs_path_component { |
background: $tabbg; |
background: $tabbg; |
color: $font; |
color: $font; |
Line 3505 sub headtag {
|
Line 3505 sub headtag {
|
|
|
my $result = |
my $result = |
'<head>'. |
'<head>'. |
'<link rel="stylesheet" type="text/css" href="'.$url.'" />'. |
|
&font_settings(). |
&font_settings(). |
&Apache::lonhtmlcommon::htmlareaheaders(); |
&Apache::lonhtmlcommon::htmlareaheaders(); |
|
|
Line 3514 sub headtag {
|
Line 3513 sub headtag {
|
} |
} |
|
|
if (ref($args->{'redirect'})) { |
if (ref($args->{'redirect'})) { |
my ($time,$url) = @{$args->{'redirect'}}; |
my ($time,$url,$inhibit_continue) = @{$args->{'redirect'}}; |
$url = &Apache::lonenc::check_encrypt($url); |
$url = &Apache::lonenc::check_encrypt($url); |
$env{'internal.head.redirect'} = $url; |
if (!$inhibit_continue) { |
|
$env{'internal.head.redirect'} = $url; |
|
} |
$result.=<<ADDMETA |
$result.=<<ADDMETA |
<meta http-equiv="pragma" content="no-cache" /> |
<meta http-equiv="pragma" content="no-cache" /> |
<meta http-equiv="Refresh" content="$time; url=$url" /> |
<meta http-equiv="Refresh" content="$time; url=$url" /> |
Line 3526 ADDMETA
|
Line 3527 ADDMETA
|
$title = 'The LearningOnline Network with CAPA'; |
$title = 'The LearningOnline Network with CAPA'; |
} |
} |
|
|
$result .= '<title> LON-CAPA '.&mt($title).'</title>'.$head_extra; |
$result .= '<title> LON-CAPA '.&mt($title).'</title>' |
|
.'<link rel="stylesheet" type="text/css" href="'.$url.'" />' |
|
.$head_extra; |
return $result; |
return $result; |
} |
} |
|
|
Line 3898 role status: active, previous or future.
|
Line 3901 role status: active, previous or future.
|
=cut |
=cut |
|
|
sub check_user_status { |
sub check_user_status { |
my ($udom,$uname,$cdom,$crs,$role,$secgrp) = @_; |
my ($udom,$uname,$cdom,$crs,$role,$sec) = @_; |
my %userinfo = &Apache::lonnet::dump('roles',$udom,$uname); |
my %userinfo = &Apache::lonnet::dump('roles',$udom,$uname); |
my @uroles = keys %userinfo; |
my @uroles = keys %userinfo; |
my $srchstr; |
my $srchstr; |
my $active_chk = 'none'; |
my $active_chk = 'none'; |
|
my $now = time; |
if (@uroles > 0) { |
if (@uroles > 0) { |
if (($role eq 'cc') || ($secgrp eq '') || (!defined($secgrp))) { |
if (($role eq 'cc') || ($sec eq '') || (!defined($sec))) { |
$srchstr = '/'.$cdom.'/'.$crs.'_'.$role; |
$srchstr = '/'.$cdom.'/'.$crs.'_'.$role; |
} else { |
} else { |
$srchstr = '/'.$cdom.'/'.$crs.'/'.$secgrp.'_'.$role; } |
$srchstr = '/'.$cdom.'/'.$crs.'/'.$sec.'_'.$role; |
if (grep/^$srchstr$/,@uroles) { |
} |
|
if (grep/^\Q$srchstr\E$/,@uroles) { |
my $role_end = 0; |
my $role_end = 0; |
my $role_start = 0; |
my $role_start = 0; |
$active_chk = 'active'; |
$active_chk = 'active'; |
if ($userinfo{$srchstr} =~ m/^($role)_(\d+)/) { |
if ($userinfo{$srchstr} =~ m/^\Q$role\E_(\d+)/) { |
$role_end = $2; |
$role_end = $1; |
if ($userinfo{$srchstr} =~ m/^($role)_($role_end)_(\d+)$/) { |
if ($userinfo{$srchstr} =~ m/^\Q$role\E_\Q$role_end\E_(\d+)$/) { |
$role_start = $3; |
$role_start = $1; |
} |
} |
} |
} |
if ($role_start > 0) { |
if ($role_start > 0) { |
if (time < $role_start) { |
if ($now < $role_start) { |
$active_chk = 'future'; |
$active_chk = 'future'; |
} |
} |
} |
} |
if ($role_end > 0) { |
if ($role_end > 0) { |
if (time > $role_end) { |
if ($now > $role_end) { |
$active_chk = 'previous'; |
$active_chk = 'previous'; |
} |
} |
} |
} |
Line 4044 sub get_course_users {
|
Line 4049 sub get_course_users {
|
my $now = time; |
my $now = time; |
foreach my $student (keys(%{$classlist})) { |
foreach my $student (keys(%{$classlist})) { |
my $match = 0; |
my $match = 0; |
|
my $secmatch = 0; |
if ((ref($sections) eq 'ARRAY') && (@{$sections} > 0)) { |
if ((ref($sections) eq 'ARRAY') && (@{$sections} > 0)) { |
unless(grep(/^\Q$$classlist{$student}[$idx{section}]\E$/, |
if (grep/^all$/,@{$sections}) { |
|
$secmatch = 1; |
|
} elsif ($$classlist{$student}[$idx{section}] eq '') { |
|
if (grep/^none$/,@{$sections}) { |
|
$secmatch = 1; |
|
} |
|
} else { |
|
if (grep(/^\Q$$classlist{$student}[$idx{section}]\E$/, |
@{$sections})) { |
@{$sections})) { |
next; |
$secmatch = 1; |
|
} |
} |
} |
|
if (!$secmatch) { |
|
next; |
|
} |
} |
} |
if (defined($$types{'active'})) { |
if (defined($$types{'active'})) { |
if ($$classlist{$student}[$idx{status}] eq 'Active') { |
if ($$classlist{$student}[$idx{status}] eq 'Active') { |
Line 4068 sub get_course_users {
|
Line 4085 sub get_course_users {
|
$match = 1; |
$match = 1; |
} |
} |
} |
} |
if ($match && defined($userdata)) { |
if ($match && ref($userdata) eq 'HASH') { |
$$userdata{$student} = $$classlist{$student}; |
$$userdata{$student} = $$classlist{$student}; |
} |
} |
} |
} |
} |
} |
if ((@{$roles} > 0) && (@{$roles} ne "st")) { |
if ((@{$roles} > 1) || ((@{$roles} == 1) && ($$roles[0] ne "st"))) { |
my @coursepersonnel = &Apache::lonnet::getkeys('nohist_userroles',$cdom,$cnum); |
my @coursepersonnel = &Apache::lonnet::getkeys('nohist_userroles',$cdom,$cnum); |
foreach my $person (@coursepersonnel) { |
foreach my $person (@coursepersonnel) { |
my $match = 0; |
my $match = 0; |
my ($role,$user) = ($person =~ /^([^:]*):([^:]+:[^:]+)/); |
my $secmatch = 0; |
|
my ($role,$user,$usec) = ($person =~ /^([^:]*):([^:]+:[^:]+):([^:]*)/); |
$user =~ s/:$//; |
$user =~ s/:$//; |
if (($role) && (grep(/^\Q$role\E$/,@{$roles}))) { |
if (($role) && (grep(/^\Q$role\E$/,@{$roles}))) { |
my ($uname,$udom,$usec) = split(/:/,$user); |
my ($uname,$udom) = split(/:/,$user); |
if ($usec ne '' && (ref($sections) eq 'ARRAY') && |
if ((ref($sections) eq 'ARRAY') && (@{$sections} > 0)) { |
@{$sections} > 0) { |
if (grep/^all$/,@{$sections}) { |
unless(grep(/^\Q$usec\E$/,@{$sections})) { |
$secmatch = 1; |
next; |
} elsif ($usec eq '') { |
} |
if (grep/^none$/,@{$sections}) { |
|
$secmatch = 1; |
|
} |
|
} else { |
|
if (grep(/^\Q$usec\E$/,@{$sections})) { |
|
$secmatch = 1; |
|
} |
|
} |
|
if (!$secmatch) { |
|
next; |
|
} |
} |
} |
if ($uname ne '' && $udom ne '') { |
if ($uname ne '' && $udom ne '') { |
my $status = &check_user_status($udom,$uname,$cdom,$cnum,$role); |
my $status = &check_user_status($udom,$uname,$cdom,$cnum,$role, |
|
$usec); |
foreach my $type (keys(%{$types})) { |
foreach my $type (keys(%{$types})) { |
if ($status eq $type) { |
if ($status eq $type) { |
@{$$users{$role}{$user}} = $type; |
@{$$users{$role}{$user}} = $type; |
$match = 1; |
$match = 1; |
} |
} |
} |
} |
if ($match && defined($userdata) && |
if (($match) && (ref($userdata) eq 'HASH') && |
!exists($$userdata{$uname.':'.$udom})) { |
(!exists($$userdata{$uname.':'.$udom}))) { |
&get_user_info($udom,$uname,\%idx,$userdata); |
&get_user_info($udom,$uname,\%idx,$userdata); |
} |
} |
} |
} |