--- loncom/homework/inputtags.pm 2010/10/31 12:33:02 1.272 +++ loncom/homework/inputtags.pm 2010/12/19 02:58:16 1.274 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # input definitons # -# $Id: inputtags.pm,v 1.272 2010/10/31 12:33:02 www Exp $ +# $Id: inputtags.pm,v 1.274 2010/12/19 02:58:16 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -175,7 +175,18 @@ sub start_textfield { if ($target eq 'web') { $Apache::lonxml::evaluate--; my $partid=$Apache::inputtags::part; - my $oldresponse = &HTML::Entities::encode($Apache::lonhomework::history{"resource.$partid.$resid.submission"},'<>&"'); + my ($oldresponse,$newvariation); + if ((($Apache::lonhomework::history{"resource.$partid.type"} eq 'randomizetry') || + ($Apache::lonhomework::type eq 'randomizetry')) && + ($Apache::inputtags::status[-1] eq 'CAN_ANSWER')) { + if ($env{'form.'.$partid.'.rndseed'} ne + $Apache::lonhomework::history{"resource.$partid.rndseed"}) { + $newvariation = 1; + } + } + unless ($newvariation) { + $oldresponse = &HTML::Entities::encode($Apache::lonhomework::history{"resource.$partid.$resid.submission"},'<>&"'); + } if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER') { my $cols = &Apache::lonxml::get_param('cols',$parstack,$safeeval); if ( $cols eq '') { $cols = 80; } @@ -331,16 +342,26 @@ sub start_textline { $maxlength = ' maxlength="'.$size.'"'; } } - my $oldresponse = $Apache::lonhomework::history{"resource.$partid.$id.submission"}; - &Apache::lonxml::debug("oldresponse $oldresponse is ".ref($oldresponse)); - - if (ref($oldresponse) eq 'ARRAY') { - $oldresponse = $oldresponse->[$#Apache::inputtags::inputlist]; - } - $oldresponse = &HTML::Entities::encode($oldresponse,'<>&"'); - $oldresponse =~ s/^\s+//; - $oldresponse =~ s/\s+$//; - $oldresponse =~ s/\s+/ /g; + my ($oldresponse,$newvariation); + if ((($Apache::lonhomework::history{"resource.$partid.type"} eq 'randomizetry') || + ($Apache::lonhomework::type eq 'randomizetry')) && + ($Apache::inputtags::status[-1] eq 'CAN_ANSWER')) { + if ($env{'form.'.$partid.'.rndseed'} ne + $Apache::lonhomework::history{"resource.$partid.rndseed"}) { + $newvariation = 1; + } + } + unless ($newvariation) { + $oldresponse = $Apache::lonhomework::history{"resource.$partid.$id.submission"}; + &Apache::lonxml::debug("oldresponse $oldresponse is ".ref($oldresponse)); + if (ref($oldresponse) eq 'ARRAY') { + $oldresponse = $oldresponse->[$#Apache::inputtags::inputlist]; + } + $oldresponse = &HTML::Entities::encode($oldresponse,'<>&"'); + $oldresponse =~ s/^\s+//; + $oldresponse =~ s/\s+$//; + $oldresponse =~ s/\s+/ /g; + } if ($Apache::lonhomework::type ne 'exam') { my $addchars=&Apache::lonxml::get_param('addchars',$parstack,$safeeval); $result=''; @@ -576,6 +597,7 @@ sub current_file_submissions { } foreach my $name (sort(keys(%okfiles))) { if (ref($okfiles{$name}) eq 'ARRAY') { + my $num = 0; foreach my $url (@{$okfiles{$name}}) { if (ref($rows{$url}) eq 'HASH') { my $link = $rows{$url}{link}; @@ -592,7 +614,8 @@ sub current_file_submissions { if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER') { $result .= '