[LON-CAPA-cvs] cvs: loncom / lond
raeburn
lon-capa-cvs@mail.lon-capa.org
Wed, 07 Jun 2006 01:49:44 -0000
raeburn Tue Jun 6 21:49:44 2006 EDT
Modified files:
/loncom lond
Log:
Course type used in nohist_courseids.db to differentiate courses and ANGEL-style groups. Can also be used as a filter when selecting using lonpickcourse.pm
Index: loncom/lond
diff -u loncom/lond:1.332 loncom/lond:1.333
--- loncom/lond:1.332 Wed May 31 10:47:56 2006
+++ loncom/lond Tue Jun 6 21:49:43 2006
@@ -2,7 +2,7 @@
# The LearningOnline Network
# lond "LON Daemon" Server (port "LOND" 5663)
#
-# $Id: lond,v 1.332 2006/05/31 14:47:56 albertel Exp $
+# $Id: lond,v 1.333 2006/06/07 01:49:43 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -59,7 +59,7 @@
my $status='';
my $lastlog='';
-my $VERSION='$Revision: 1.332 $'; #' stupid emacs
+my $VERSION='$Revision: 1.333 $'; #' stupid emacs
my $remoteVERSION;
my $currenthostid="default";
my $currentdomainid;
@@ -3288,10 +3288,10 @@
my @new_items = split(/:/,$courseinfo);
my $numnew = scalar(@new_items);
if ($numcurrent > 0) {
- if ($numnew == 1) { # flushcourselogs() from 1.1 or earlier
- $courseinfo .= ':'.join(':',@current_items);
- } elsif ($numnew == 2) { # flushcourselogs() from 1.2.X
- $courseinfo .= ':'.$current_items[$numcurrent-1];
+ if ($numnew <= $numcurrent) { # flushcourselogs() from pre 2.2
+ for (my $j=$numcurrent-$numnew; $j>=0; $j--) {
+ $courseinfo .= ':'.$current_items[$numcurrent-$j-1];
+ }
}
}
$hashref->{$key}=$courseinfo.':'.$now;
@@ -3351,7 +3351,8 @@
my $userinput = "$cmd:$tail";
- my ($udom,$since,$description,$instcodefilter,$ownerfilter,$coursefilter) =split(/:/,$tail);
+ my ($udom,$since,$description,$instcodefilter,$ownerfilter,$coursefilter,
+ $typefilter) =split(/:/,$tail);
if (defined($description)) {
$description=&unescape($description);
} else {
@@ -3372,16 +3373,21 @@
} else {
$coursefilter='.';
}
+ if (defined($typefilter)) {
+ $typefilter=&unescape($typefilter);
+ } else {
+ $typefilter='.';
+ }
unless (defined($since)) { $since=0; }
my $qresult='';
my $hashref = &tie_domain_hash($udom, "nohist_courseids", &GDBM_WRCREAT());
if ($hashref) {
while (my ($key,$value) = each(%$hashref)) {
- my ($descr,$lasttime,$inst_code,$owner);
+ my ($descr,$lasttime,$inst_code,$owner,$type);
my @courseitems = split(/:/,$value);
$lasttime = pop(@courseitems);
- ($descr,$inst_code,$owner)=@courseitems;
+ ($descr,$inst_code,$owner,$type)=@courseitems;
if ($lasttime<$since) { next; }
my $match = 1;
unless ($description eq '.') {
@@ -3408,6 +3414,18 @@
$match = 0;
}
}
+ unless ($typefilter eq '.' || !defined($typefilter)) {
+ my $unescapeType = &unescape($type);
+ if (!defined($type)) {
+ if ($typefilter ne 'Course') {
+ $match = 0;
+ }
+ } else {
+ unless (eval('$unescapeType=~/^\Q$typefilter\E$/')) {
+ $match = 0;
+ }
+ }
+ }
if ($match == 1) {
$qresult.=$key.'='.$descr.':'.$inst_code.':'.$owner.'&';
}