--- loncom/interface/loncommon.pm 2002/05/09 15:56:02 1.37 +++ loncom/interface/loncommon.pm 2002/06/25 16:31:51 1.40 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.37 2002/05/09 15:56:02 matthew Exp $ +# $Id: loncommon.pm,v 1.40 2002/06/25 16:31:51 ng Exp $ # # Copyright Michigan State University Board of Trustees # @@ -768,8 +768,18 @@ sub filedescriptionex { return '.'.$ex.' '.$fd{lc($ex)}; } +# ---- Retrieve attempts by students +# input +# $symb - problem including path +# $username,$domain - that of the student +# $course - course name +# $getattempt - leave blank if want all attempts, else put something. +# +# output +# formatted as a table all the attempts, if any. +# sub get_previous_attempt { - my ($symb,$username,$domain,$course)=@_; + my ($symb,$username,$domain,$course,$getattempt)=@_; my $prevattempts=''; if ($symb) { my (%returnhash)= @@ -782,30 +792,33 @@ sub get_previous_attempt { $lasthash{$_}=$returnhash{$version.':'.$_}; } } - $prevattempts=''; + $prevattempts='
History
'; + $prevattempts.=''; foreach (sort(keys %lasthash)) { my ($ign,@parts) = split(/\./,$_); if (@parts) { my $data=$parts[-1]; pop(@parts); - $prevattempts.=''; + $prevattempts.=''; } else { - $prevattempts.=''; + $prevattempts.=''; } } - for ($version=1;$version<=$returnhash{'version'};$version++) { - $prevattempts.=''; - foreach (sort(keys %lasthash)) { - my $value; - if ($_ =~ /timestamp/) { - $value=scalar(localtime($returnhash{$version.':'.$_})); - } else { - $value=$returnhash{$version.':'.$_}; - } - $prevattempts.=''; - } + if ($getattempt eq '') { + for ($version=1;$version<=$returnhash{'version'};$version++) { + $prevattempts.=''; + foreach (sort(keys %lasthash)) { + my $value; + if ($_ =~ /timestamp/) { + $value=scalar(localtime($returnhash{$version.':'.$_})); + } else { + $value=$returnhash{$version.':'.$_}; + } + $prevattempts.=''; + } + } } - $prevattempts.=''; + $prevattempts.=''; foreach (sort(keys %lasthash)) { my $value; if ($_ =~ /timestamp/) { @@ -813,9 +826,9 @@ sub get_previous_attempt { } else { $value=$lasthash{$_}; } - $prevattempts.=''; + $prevattempts.=''; } - $prevattempts.='
HistoryPart '.join('.',@parts).'
'.$data.'
Part '.join('.',@parts).'
'.$data.' 
'.$ign.''.$ign.' 
Attempt '.$version.''.$value.'
Transaction '.$version.''.$value.' 
Current
Current'.$value.''.$value.' 
'; + $prevattempts.='
'; } else { $prevattempts='Nothing submitted - no attempts.'; }