version 1.275, 2002/08/28 21:50:27
|
version 1.280, 2002/09/14 18:57:59
|
Line 2341 sub createcourse {
|
Line 2341 sub createcourse {
|
unless ($nonstandard) { |
unless ($nonstandard) { |
# ------------------------------------------ For standard courses, make top url |
# ------------------------------------------ For standard courses, make top url |
my $mapurl=&clutter($url); |
my $mapurl=&clutter($url); |
|
if ($mapurl eq '/res/') { $mapurl=''; } |
$ENV{'form.initmap'}=(<<ENDINITMAP); |
$ENV{'form.initmap'}=(<<ENDINITMAP); |
<map> |
<map> |
<resource id="1" type="start"></resource> |
<resource id="1" type="start"></resource> |
Line 2534 sub condval {
|
Line 2535 sub condval {
|
return $result; |
return $result; |
} |
} |
|
|
|
# ---------------------------------------------------- Devalidate courseresdata |
|
|
|
sub devalidatecourseresdata { |
|
my ($coursenum,$coursedomain)=@_; |
|
my $hashid=$coursenum.':'.$coursedomain; |
|
delete $courseresdatacache{$hashid.'.time'}; |
|
} |
|
|
# --------------------------------------------------- Course Resourcedata Query |
# --------------------------------------------------- Course Resourcedata Query |
|
|
sub courseresdata { |
sub courseresdata { |
Line 2774 sub metadata {
|
Line 2783 sub metadata {
|
# Look at timestamp of caching |
# Look at timestamp of caching |
# Everything is cached by the main uri, libraries are never directly cached |
# Everything is cached by the main uri, libraries are never directly cached |
# |
# |
unless (abs($metacache{$uri.':cachedtimestamp'}-time)<600) { |
unless (abs($metacache{$uri.':cachedtimestamp'}-time)<600 && !defined($liburi)) { |
# |
# |
# Is this a recursive call for a library? |
# Is this a recursive call for a library? |
# |
# |
Line 2797 sub metadata {
|
Line 2806 sub metadata {
|
my $package=$token->[2]->{'package'}; |
my $package=$token->[2]->{'package'}; |
my $keyroot=''; |
my $keyroot=''; |
if ($prefix) { |
if ($prefix) { |
$keyroot.='_'.$prefix; |
$keyroot.=$prefix; |
} else { |
} else { |
if (defined($token->[2]->{'part'})) { |
if (defined($token->[2]->{'part'})) { |
$keyroot.='_'.$token->[2]->{'part'}; |
$keyroot.='_'.$token->[2]->{'part'}; |
Line 2855 sub metadata {
|
Line 2864 sub metadata {
|
# |
# |
# Importing a library here |
# Importing a library here |
# |
# |
if (defined($depthcount)) { $depthcount++; } else |
|
{ $depthcount=0; } |
|
if ($depthcount<20) { |
if ($depthcount<20) { |
foreach (split(/\,/,&metadata($uri,'keys', |
my $location=$parser->get_text('/import'); |
$parser->get_text('/import'),$unikey, |
my $dir=$filename; |
$depthcount))) { |
$dir=~s|[^/]*$||; |
|
$location=&filelocation($dir,$location); |
|
foreach (sort(split(/\,/,&metadata($uri,'keys', |
|
$location,$unikey, |
|
$depthcount+1)))) { |
$metathesekeys{$_}=1; |
$metathesekeys{$_}=1; |
} |
} |
} |
} |
Line 2959 sub symbverify {
|
Line 2970 sub symbverify {
|
my $okay=0; |
my $okay=0; |
if (tie(%bighash,'GDBM_File',$ENV{'request.course.fn'}.'.db', |
if (tie(%bighash,'GDBM_File',$ENV{'request.course.fn'}.'.db', |
&GDBM_READER(),0640)) { |
&GDBM_READER(),0640)) { |
my $ids=$bighash{'ids_/res/'.$thisfn}; |
my $ids=$bighash{'ids_'.&clutter($thisfn)}; |
unless ($ids) { |
unless ($ids) { |
$ids=$bighash{'ids_/'.$thisfn}; |
$ids=$bighash{'ids_/'.$thisfn}; |
} |
} |
Line 3030 sub symbread {
|
Line 3041 sub symbread {
|
if (tie(%bighash,'GDBM_File',$ENV{'request.course.fn'}.'.db', |
if (tie(%bighash,'GDBM_File',$ENV{'request.course.fn'}.'.db', |
&GDBM_READER(),0640)) { |
&GDBM_READER(),0640)) { |
# ---------------------------------------------- Get ID(s) for current resource |
# ---------------------------------------------- Get ID(s) for current resource |
my $ids=$bighash{'ids_/res/'.$thisfn}; |
my $ids=$bighash{'ids_'.&clutter($thisfn)}; |
unless ($ids) { |
unless ($ids) { |
$ids=$bighash{'ids_/'.$thisfn}; |
$ids=$bighash{'ids_/'.$thisfn}; |
} |
} |