--- loncom/homework/matchresponse.pm 2007/04/11 09:20:32 1.63 +++ loncom/homework/matchresponse.pm 2007/04/17 23:25:09 1.64 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Full matching style response # -# $Id: matchresponse.pm,v 1.63 2007/04/11 09:20:32 foxr Exp $ +# $Id: matchresponse.pm,v 1.64 2007/04/17 23:25:09 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -415,6 +415,24 @@ sub grade_response { } } +sub format_prior_answer { + my ($mode,$answer,$other_data) = @_; + my %answer =&Apache::lonnet::str2hash($answer); + my $foil_order =$other_data->[0]; + my %grading =&Apache::lonnet::str2hash($other_data->[1]); + my @items =&Apache::lonnet::str2array($other_data->[2]); + my $output; + + foreach my $name (@{ $foil_order }) { + my $item=shift(@items); + $output .= ''.$item.''; + } + return if (!defined($output)); + + $output = ''.$output.'
'; + return $output; +} + sub itemdisplay { my ($location)=@_; if ($location eq 'top' && @@ -426,6 +444,7 @@ sub itemdisplay { } return undef; } + sub displayfoils { my ($target,$max,$randomize)=@_; my ($tabsize, $lefttabsize, $righttabsize); @@ -576,6 +595,12 @@ sub displayfoils { $result='\setlength{\tabcolsep}{1 mm}\begin{tabular}{p{'.$lefttabsize.'}p{'.$righttabsize.'}}\begin{minipage}{'.$lefttabsize.'}'.$result.'\end{minipage}&\begin{minipage}{'.$righttabsize.'}'.$question.'\end{minipage}\end{tabular}'; } } + if ($target eq 'web') { + &Apache::response::setup_prior_tries_hash(\&format_prior_answer, + [\@whichfoils, + 'submissiongrading', + 'submissionitems']); + } if ($target ne 'tex') {$result.="
";} else {$result.=' \\\\ ';} return $result; }