--- loncom/lonnet/perl/lonnet.pm 2003/11/12 20:32:04 1.449 +++ loncom/lonnet/perl/lonnet.pm 2003/12/04 20:09:35 1.452 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.449 2003/11/12 20:32:04 matthew Exp $ +# $Id: lonnet.pm,v 1.452 2003/12/04 20:09:35 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -848,10 +848,14 @@ sub getsection { return '-1'; } + +my $disk_caching_disabled=1; + sub devalidate_cache { my ($cache,$id,$name) = @_; delete $$cache{$id.'.time'}; delete $$cache{$id}; + if ($disk_caching_disabled) { return; } my $filename=$perlvar{'lonDaemons'}.'/tmp/lonnet_internal_cache_'.$name.".db"; open(DB,"$filename.lock"); flock(DB,LOCK_EX); @@ -907,6 +911,7 @@ sub do_cache { sub save_cache_item { my ($cache,$name,$id)=@_; + if ($disk_caching_disabled) { return; } my $starttime=&Time::HiRes::time(); # &logthis("Saving :$name:$id"); my %hash; @@ -936,6 +941,7 @@ EVALBLOCK sub load_cache_item { my ($cache,$name,$id)=@_; + if ($disk_caching_disabled) { return; } my $starttime=&Time::HiRes::time(); # &logthis("Before Loading $name for $id size is ".scalar(%$cache)); my %hash; @@ -1153,8 +1159,8 @@ sub ssi_body { my ($filelink,%form)=@_; my $output=($filelink=~/^http\:/?&externalssi($filelink): &ssi($filelink,%form)); - $output=~s/^.*\]*\>//si; - $output=~s/\<\/body\s*\>.*$//si; + $output=~s/^.*?\]*\>//si; + $output=~s/(.*)\<\/body\s*\>.*?$/$1/si; $output=~ s/\/\/ BEGIN LON\-CAPA Internal.+\/\/ END LON\-CAPA Internal\s//gs; return $output; @@ -1336,19 +1342,22 @@ sub flushcourselogs { # foreach my $entry (keys(%accesshash)) { my ($dom,$name,undef,$type)=($entry=~m:___(\w+)/(\w+)/(.*)___(\w+)$:); - my %temphash=($entry => $accesshash{$entry}); if ($type eq 'count'){ + my $value = $accesshash{$entry}; + my (undef,$url,undef) = ($entry =~ /^(.*)___(.*)___count$/); + my %temphash=($url => $value); my $result = &inc('nohist_accesscount',\%temphash,$dom,$name); if ($result eq 'ok') { delete $accesshash{$entry}; } elsif ($result eq 'unknown_cmd') { # Target server has old code running on it. + my %temphash=($entry => $value); if (&put('nohist_resevaldata',\%temphash,$dom,$name) eq 'ok') { delete $accesshash{$entry}; } } - &logthis('incrementing '.$entry.' by '.$accesshash{$entry}.' result is '.$result); } else { + my %temphash=($entry => $accesshash{$entry}); if (&put('nohist_resevaldata',\%temphash,$dom,$name) eq 'ok') { delete $accesshash{$entry}; } @@ -1388,7 +1397,8 @@ sub courselog { } else { $courselogs{$ENV{'request.course.id'}}.=$what; } - if (length($courselogs{$ENV{'request.course.id'}})>4048) { +# if (length($courselogs{$ENV{'request.course.id'}})>4048) { + if (length($courselogs{$ENV{'request.course.id'}})>48) { &flushcourselogs(); } } @@ -1413,11 +1423,7 @@ sub countacc { unless ($ENV{'request.course.id'}) { return ''; } $accesshash{$ENV{'request.course.id'}.'___'.$url.'___course'}=1; my $key=$$.$processmarker.'_'.$dumpcount.'___'.$url.'___count'; - if (defined($accesshash{$key})) { - $accesshash{$key}++; - } else { - $accesshash{$key}=1; - } + $accesshash{$key}++; } sub linklog {