--- loncom/lonnet/perl/lonnet.pm 2001/08/08 17:56:57 1.144 +++ loncom/lonnet/perl/lonnet.pm 2001/08/09 14:03:42 1.145 @@ -122,7 +122,7 @@ # 5/30 H. K. Ng # 6/1 Gerd Kortemeyer # July Guy Albertelli -# 8/4,8/7,8/8 Gerd Kortemeyer +# 8/4,8/7,8/8,8/9 Gerd Kortemeyer package Apache::lonnet; @@ -1735,6 +1735,10 @@ sub EXT { $spacequalifierrest}; } elsif ($realm eq 'resource') { if ($ENV{'request.course.id'}) { + +# print '
'.$space.' - '.$qualifier.' - '.$spacequalifierrest; + + # ----------------------------------------------------- Cascading lookup scheme my $symbp=&symbread(); my $mapp=(split(/\_\_\_/,$symbp))[0]; @@ -1823,12 +1827,19 @@ sub EXT { $metadata=&metadata($ENV{'request.filename'}, 'parameter_'.$spacequalifierrest); if ($metadata) { return $metadata; } - - $spacequalifierrest=~/[^\_]+$/; - - $metadata=&metadata($ENV{'request.filename'},'parameter_0'.$1); - if ($metadata) { return $metadata; } +# ------------------------------------------------------------------ Cascade up + + unless ($space eq '0') { + my ($part,$id)=split(/\_/,$space); + if ($id) { + my $partgeneral=&EXT('resource.'.$part.'.'.$qualifierrest); + if ($partgeneral) { return $partgeneral; } + } else { + my $resourcegeneral=&EXT('resource.0.'.$qualifierrest); + if ($resourcegeneral) { return $resourcegeneral; } + } + } # ---------------------------------------------------- Any other user namespace } elsif ($realm eq 'environment') {