version 1.65, 2000/11/16 12:00:01
|
version 1.69, 2000/11/24 19:59:31
|
Line 67
|
Line 67
|
# 10/04 Gerd Kortemeyer |
# 10/04 Gerd Kortemeyer |
# 10/04 Guy Albertelli |
# 10/04 Guy Albertelli |
# 10/06,10/09,10/10,10/11,10/14,10/20,10/23,10/25,10/26,10/27,10/28,10/29, |
# 10/06,10/09,10/10,10/11,10/14,10/20,10/23,10/25,10/26,10/27,10/28,10/29, |
# 10/30,10/31,11/2,11/14,11/15,11/16 Gerd Kortemeyer |
# 10/30,10/31,11/2,11/14,11/15,11/16,11/20,11/21,11/22,11/25 Gerd Kortemeyer |
|
|
package Apache::lonnet; |
package Apache::lonnet; |
|
|
Line 776 sub allowed {
|
Line 776 sub allowed {
|
} |
} |
|
|
# Course: uri itself is a course |
# Course: uri itself is a course |
|
my $courseuri=$uri; |
if ($ENV{'user.priv.'.$ENV{'request.role'}.'./'.$uri} |
$courseuri=~s/\_(\d)/\/$1/; |
|
if ($ENV{'user.priv.'.$ENV{'request.role'}.'./'.$courseuri} |
=~/$priv\&([^\:]*)/) { |
=~/$priv\&([^\:]*)/) { |
$thisallowed.=$1; |
$thisallowed.=$1; |
} |
} |
Line 1193 sub condval {
|
Line 1194 sub condval {
|
|
|
sub EXT { |
sub EXT { |
my $varname=shift; |
my $varname=shift; |
|
unless ($varname) { return ''; } |
my ($realm,$space,$qualifier,@therest)=split(/\./,$varname); |
my ($realm,$space,$qualifier,@therest)=split(/\./,$varname); |
my $rest; |
my $rest; |
if ($therest[0]) { |
if ($therest[0]) { |
Line 1257 sub EXT {
|
Line 1259 sub EXT {
|
} elsif ($realm eq 'resource') { |
} elsif ($realm eq 'resource') { |
if ($ENV{'request.course.id'}) { |
if ($ENV{'request.course.id'}) { |
# ----------------------------------------------------- Cascading lookup scheme |
# ----------------------------------------------------- Cascading lookup scheme |
my $symbparm=&symbread().'.'.$spacequalifierrest; |
my $symbp=&symbread(); |
my $reslevel= |
my $mapp=(split(/\_\_\_/,$symbp))[0]; |
$ENV{'request.course.id'}.'.'.$symbparm; |
|
|
my $symbparm=$symbp.'.'.$spacequalifierrest; |
|
my $mapparm=$mapp.'___(all).'.$spacequalifierrest; |
|
|
my $seclevel= |
my $seclevel= |
$ENV{'request.course.id'}.'.'. |
$ENV{'request.course.id'}.'.['. |
$ENV{'request.course.sec'}.'.'.$spacequalifierrest; |
$ENV{'request.course.sec'}.'].'.$spacequalifierrest; |
|
my $seclevelr= |
|
$ENV{'request.course.id'}.'.['. |
|
$ENV{'request.course.sec'}.'].'.$symbparm; |
|
my $seclevelm= |
|
$ENV{'request.course.id'}.'.['. |
|
$ENV{'request.course.sec'}.'].'.$mapparm; |
|
|
my $courselevel= |
my $courselevel= |
$ENV{'request.course.id'}.'.'.$spacequalifierrest; |
$ENV{'request.course.id'}.'.'.$spacequalifierrest; |
|
my $courselevelr= |
|
$ENV{'request.course.id'}.'.'.$symbparm; |
|
my $courselevelm= |
|
$ENV{'request.course.id'}.'.'.$mapparm; |
|
|
|
|
# ----------------------------------------------------------- first, check user |
# ----------------------------------------------------------- first, check user |
my %resourcedata=get('resourcedata',($reslevel,$seclevel,$courselevel)); |
my %resourcedata=get('resourcedata', |
if ($resourcedata{$reslevel}!~/^error\:/) { |
($courselevelr,$courselevelm,$courselevel)); |
if ($resourcedata{$reslevel}) { return $resourcedata{$reslevel}; } |
if ($resourcedata{$courselevelr}!~/^error\:/) { |
if ($resourcedata{$seclevel}) { return $resourcedata{$seclevel}; } |
|
|
if ($resourcedata{$courselevelr}) { |
|
return $resourcedata{$courselevelr}; } |
|
if ($resourcedata{$courselevelm}) { |
|
return $resourcedata{$courselevelm}; } |
if ($resourcedata{$courselevel}) { return $resourcedata{$courselevel}; } |
if ($resourcedata{$courselevel}) { return $resourcedata{$courselevel}; } |
|
|
} |
} |
# -------------------------------------------------------- second, check course |
# -------------------------------------------------------- second, check course |
my $section=''; |
my $section=''; |
Line 1282 sub EXT {
|
Line 1304 sub EXT {
|
$ENV{'course.'.$ENV{'request.course.id'}.$section.'.domain'}.':'. |
$ENV{'course.'.$ENV{'request.course.id'}.$section.'.domain'}.':'. |
$ENV{'course.'.$ENV{'request.course.id'}.$section.'.num'}. |
$ENV{'course.'.$ENV{'request.course.id'}.$section.'.num'}. |
':resourcedata:'. |
':resourcedata:'. |
escape($reslevel).':'.escape($seclevel).':'.escape($courselevel), |
escape($seclevelr).':'.escape($seclevelm).':'.escape($seclevel).':'. |
|
escape($courselevelr).':'.escape($courselevelm).':'.escape($courselevel), |
$ENV{'course.'.$ENV{'request.course.id'}.$section.'.home'}); |
$ENV{'course.'.$ENV{'request.course.id'}.$section.'.home'}); |
if ($reply!~/^error\:/) { |
if ($reply!~/^error\:/) { |
map { |
map { |
my ($name,$value)=split(/\=/,$_); |
my ($name,$value)=split(/\=/,$_); |
$resourcedata{unescape($name)}=unescape($value); |
$resourcedata{unescape($name)}=unescape($value); |
} split(/\&/,$reply); |
} split(/\&/,$reply); |
if ($resourcedata{$reslevel}) { return $resourcedata{$reslevel}; } |
|
if ($resourcedata{$seclevel}) { return $resourcedata{$seclevel}; } |
if ($resourcedata{$seclevelr}) { return $resourcedata{$seclevelr}; } |
|
if ($resourcedata{$seclevelm}) { return $resourcedata{$seclevelm}; } |
|
if ($resourcedata{$seclevel}) { return $resourcedata{$seclevel}; } |
|
|
|
if ($resourcedata{$courselevelr}) { |
|
return $resourcedata{$courselevelr}; } |
|
if ($resourcedata{$courselevelm}) { |
|
return $resourcedata{$courselevelm}; } |
if ($resourcedata{$courselevel}) { return $resourcedata{$courselevel}; } |
if ($resourcedata{$courselevel}) { return $resourcedata{$courselevel}; } |
|
|
} |
} |
|
|
# ------------------------------------------------------ third, check map parms |
# ------------------------------------------------------ third, check map parms |
Line 1307 sub EXT {
|
Line 1338 sub EXT {
|
|
|
# --------------------------------------------- last, look in resource metadata |
# --------------------------------------------- last, look in resource metadata |
my $uri=&declutter($ENV{'request.filename'}); |
my $uri=&declutter($ENV{'request.filename'}); |
my $filename=$perlvar{'lonDocRoot'}.'/res/'.$ENV.'.meta'; |
my $filename=$perlvar{'lonDocRoot'}.'/res/'.$uri.'.meta'; |
if (-e $filename) { |
if (-e $filename) { |
my @content; |
my @content; |
{ |
{ |