[LON-CAPA-cvs] cvs: loncom /lonnet/perl lonnet.pm
albertel
lon-capa-cvs-allow@mail.lon-capa.org
Tue, 13 Nov 2007 22:19:54 -0000
albertel Tue Nov 13 17:19:54 2007 EDT
Modified files:
/loncom/lonnet/perl lonnet.pm
Log:
- BUG#5512 - when in CSTR space can't use the on disk .meta file need to parse the .problem for meta information and then use that
Index: loncom/lonnet/perl/lonnet.pm
diff -u loncom/lonnet/perl/lonnet.pm:1.923 loncom/lonnet/perl/lonnet.pm:1.924
--- loncom/lonnet/perl/lonnet.pm:1.923 Fri Nov 9 22:51:10 2007
+++ loncom/lonnet/perl/lonnet.pm Tue Nov 13 17:19:53 2007
@@ -1,7 +1,7 @@
# The LearningOnline Network
# TCP networking package
#
-# $Id: lonnet.pm,v 1.923 2007/11/10 03:51:10 raeburn Exp $
+# $Id: lonnet.pm,v 1.924 2007/11/13 22:19:53 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -6801,8 +6801,11 @@
if (($uri eq '') ||
(($uri =~ m|^/*adm/|) &&
($uri !~ m|^adm/includes|) && ($uri !~ m|/bulletinboard$|)) ||
- ($uri =~ m|/$|) || ($uri =~ m|/.meta$|) || ($uri =~ /^~/) ||
- ($uri =~ m|home/$match_username/public_html/|)) {
+ ($uri =~ m|/$|) || ($uri =~ m|/.meta$|) ) {
+ return undef;
+ }
+ if (($uri =~ /^~/ || $uri =~ m{home/$match_username/public_html/})
+ && &Apache::lonxml::get_state('target') =~ /^(|meta)$/) {
return undef;
}
my $filename=$uri;
@@ -6823,6 +6826,7 @@
# if (! exists($metacache{$uri})) {
# $metacache{$uri}={};
# }
+ my $cachetime = 60*60;
if ($liburi) {
$liburi=&declutter($liburi);
$filename=$liburi;
@@ -6833,7 +6837,12 @@
my %metathesekeys=();
unless ($filename=~/\.meta$/) { $filename.='.meta'; }
my $metastring;
- if ($uri !~ m -^(editupload)/-) {
+ if ($uri =~ /^~/ || $uri =~ m{home/$match_username/public_html/}) {
+ $metastring =
+ &Apache::lonnet::ssi_body(&hreflocation('','/'.$uri),
+ ('grade_target' => 'meta'));
+ $cachetime = 1; # only want this cached in the child not long term
+ } elsif ($uri !~ m -^(editupload)/-) {
my $file=&filelocation('',&clutter($filename));
#push(@{$metaentry{$uri.'.file'}},$file);
$metastring=&getfile($file);
@@ -7000,7 +7009,7 @@
$metaentry{':keys'} = join(',',keys(%metathesekeys));
&metadata_generate_part0(\%metathesekeys,\%metaentry,$uri);
$metaentry{':allpossiblekeys'}=join(',',keys %metathesekeys);
- &do_cache_new('meta',$uri,\%metaentry,60*60);
+ &do_cache_new('meta',$uri,\%metaentry,$cachetime);
# this is the end of "was not already recently cached
}
return $metaentry{':'.$what};