--- loncom/interface/loncommon.pm 2002/07/01 15:24:44 1.42 +++ loncom/interface/loncommon.pm 2002/07/03 21:12:38 1.43 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.42 2002/07/01 15:24:44 matthew Exp $ +# $Id: loncommon.pm,v 1.43 2002/07/03 21:12:38 ng Exp $ # # Copyright Michigan State University Board of Trustees # @@ -33,6 +33,7 @@ # 12/25,12/28 Gerd Kortemeyer # YEAR=2002 # 1/4 Gerd Kortemeyer +# 6/24,7/2 H. K. Ng # Makes a table out of the previous attempts # Inputs result_from_symbread, user, domain, course_id @@ -864,13 +865,16 @@ sub filedescriptionex { # $username,$domain - that of the student # $course - course name # $getattempt - leave blank if want all attempts, else put something. +# $regexp - regular expression. If string matches regexp send to +# $gradesub - routine that process the string if it matches regexp # # output # formatted as a table all the attempts, if any. # sub get_previous_attempt { - my ($symb,$username,$domain,$course,$getattempt)=@_; + my ($symb,$username,$domain,$course,$getattempt,$regexp,$gradesub)=@_; my $prevattempts=''; + no strict 'refs'; if ($symb) { my (%returnhash)= &Apache::lonnet::restore($symb,$course,$domain,$username); @@ -882,7 +886,7 @@ sub get_previous_attempt { $lasthash{$_}=$returnhash{$version.':'.$_}; } } - $prevattempts='
'; + $prevattempts='
'; $prevattempts.=''; foreach (sort(keys %lasthash)) { my ($ign,@parts) = split(/\./,$_); @@ -920,6 +924,7 @@ sub get_previous_attempt { } else { $value=$lasthash{$_}; } + if ($_ =~/$regexp$/) {$value = &$gradesub($value)} $prevattempts.=''; } $prevattempts.='
History'.$value.' 
';