[LON-CAPA-cvs] cvs: loncom /lonnet/perl lonnet.pm
matthew
lon-capa-cvs@mail.lon-capa.org
Tue, 09 Dec 2003 16:22:07 -0000
matthew Tue Dec 9 11:22:07 2003 EDT
Modified files:
/loncom/lonnet/perl lonnet.pm
Log:
Rework logic of access counting to store counts by course instead of by
user if the access is of adm/* or prtspool/*
Index: loncom/lonnet/perl/lonnet.pm
diff -u loncom/lonnet/perl/lonnet.pm:1.457 loncom/lonnet/perl/lonnet.pm:1.458
--- loncom/lonnet/perl/lonnet.pm:1.457 Mon Dec 8 08:50:57 2003
+++ loncom/lonnet/perl/lonnet.pm Tue Dec 9 11:22:06 2003
@@ -1,7 +1,7 @@
# The LearningOnline Network
# TCP networking package
#
-# $Id: lonnet.pm,v 1.457 2003/12/08 13:50:57 raeburn Exp $
+# $Id: lonnet.pm,v 1.458 2003/12/09 16:22:06 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1319,8 +1319,15 @@
# Writes to the dynamic metadata of resources to get hit counts, etc.
#
foreach my $entry (keys(%accesshash)) {
- my ($dom,$name,undef,$type)=($entry=~m:___(\w+)/(\w+)/(.*)___(\w+)$:);
- if ($type eq 'count'){
+ if ($entry =~ /___count$/) {
+ my ($dom,$name);
+ ($dom,$name,undef)=($entry=~m:___(\w+)/(\w+)/(.*)___count$:);
+ if (! defined($dom) || $dom eq '' ||
+ ! defined($name) || $name eq '') {
+ my $cid = $ENV{'request.course.id'};
+ $dom = $ENV{'request.'.$cid.'.domain'};
+ $name = $ENV{'request.'.$cid.'.num'};
+ }
my $value = $accesshash{$entry};
my (undef,$url,undef) = ($entry =~ /^(.*)___(.*)___count$/);
my %temphash=($url => $value);
@@ -1335,6 +1342,7 @@
}
}
} else {
+ my ($dom,$name) = ($entry=~m:___(\w+)/(\w+)/(.*)___(\w+)$:);
my %temphash=($entry => $accesshash{$entry});
if (&put('nohist_resevaldata',\%temphash,$dom,$name) eq 'ok') {
delete $accesshash{$entry};
@@ -1375,8 +1383,7 @@
} else {
$courselogs{$ENV{'request.course.id'}}.=$what;
}
-# if (length($courselogs{$ENV{'request.course.id'}})>4048) {
- if (length($courselogs{$ENV{'request.course.id'}})>48) {
+ if (length($courselogs{$ENV{'request.course.id'}})>4048) {
&flushcourselogs();
}
}
@@ -1398,6 +1405,7 @@
sub countacc {
my $url=&declutter(shift);
+ return if (! defined($url) || $url eq '');
unless ($ENV{'request.course.id'}) { return ''; }
$accesshash{$ENV{'request.course.id'}.'___'.$url.'___course'}=1;
my $key=$$.$processmarker.'_'.$dumpcount.'___'.$url.'___count';