version 1.70.4.1, 2009/05/18 21:51:26
|
version 1.70.4.4, 2010/11/01 13:35:42
|
Line 396 sub in_course {
|
Line 396 sub in_course {
|
$cdom = $env{'course.'.$cid.'.domain'}; |
$cdom = $env{'course.'.$cid.'.domain'}; |
$cnum = $env{'course.'.$cid.'.num'}; |
$cnum = $env{'course.'.$cid.'.num'}; |
} |
} |
my %roles = &Apache::lonnet::dump('roles',$udom,$uname); |
my $typesref; |
my @course_roles = grep(m{^/\Q$cdom\E/\Q$cnum\E[/_]}, keys(%roles)); |
if ($type eq 'all') { |
return 0 if (!@course_roles); |
$typesref = ['active','previous','future']; |
return 1 if ($type eq 'any'); |
} elsif ($type eq 'previous' || $type eq 'future') { |
my $now = time(); |
$typesref = [$type]; |
foreach my $role (@course_roles) { |
} |
my (undef,$role_end,$role_start)=split(/\_/,$roles{$role}); |
my %roles = &Apache::lonnet::get_my_roles($uname,$udom,'userroles', |
my $status = 'active'; |
$typesref,undef,[$cdom]); |
if ($role_start > 0 && $now < $role_start) { |
my ($tmp) = keys(%roles); |
$status = 'future'; |
return 0 if ($tmp =~ /^(con_lost|error|no_such_host)/i); |
} |
my @course_roles = grep(/^\Q$cnum\E:\Q$cdom\E:/, keys(%roles)); |
if ($role_end > 0 && $now > $role_end) { |
if (@course_roles > 0) { |
$status = 'previous'; |
return 1; |
} |
|
return 1 if ($status eq $type); |
|
} |
} |
return 0; |
return 0; |
} |
} |
Line 777 sub aboutme_access {
|
Line 775 sub aboutme_access {
|
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
if (($cdom eq '') || ($cnum eq '')) { |
if (($cdom eq '') || ($cnum eq '')) { |
my %coursehash = &coursedescription($env{'request.course.id'}); |
my %coursehash = &Apache::lonnet::coursedescription($env{'request.course.id'}); |
$cdom = $coursehash{'domain'}; |
$cdom = $coursehash{'domain'}; |
$cnum = $coursehash{'cnum'}; |
$cnum = $coursehash{'cnum'}; |
} |
} |
if ((&Apache::lonnetallowed('srm',$privcheck)) || |
if ((&Apache::lonnet::allowed('srm',$privcheck)) || |
(&Apache::lonnet::allowed('dff',$privcheck))) { |
(&Apache::lonnet::allowed('dff',$privcheck))) { |
if (&in_course($uname,$udom,$cnum,$cdom)) { |
if (&in_course($uname,$udom,$cnum,$cdom)) { |
return 1; |
return 1; |