--- loncom/homework/radiobuttonresponse.pm 2007/02/22 01:25:31 1.111 +++ loncom/homework/radiobuttonresponse.pm 2007/05/17 10:01:44 1.115 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # mutliple choice style responses # -# $Id: radiobuttonresponse.pm,v 1.111 2007/02/22 01:25:31 albertel Exp $ +# $Id: radiobuttonresponse.pm,v 1.115 2007/05/17 10:01:44 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -31,6 +31,7 @@ use strict; use HTML::Entities(); use Apache::lonlocal; use Apache::lonnet; +use Apache::response; BEGIN { &Apache::lonxml::register('Apache::radiobuttonresponse',('radiobuttonresponse')); @@ -39,6 +40,14 @@ BEGIN { sub start_radiobuttonresponse { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; my $result; + #----- test/debugging to figure out some crap + + my $partid = $Apache::inputtags::part; + &Apache::lonnet::logthis("Part id = $partid"); + my $bubble_max = &Apache::response::get_response_param($partid, 'numbubbles', 10); + &Apache::lonnet::logthis("numbubbles [10] = $bubble_max"); + + #----- End test/debugging #when in a radiobutton response use these &Apache::lonxml::register('Apache::radiobuttonresponse',('foilgroup','foil','conceptgroup')); push (@Apache::lonxml::namespace,'radiobuttonresponse'); @@ -208,6 +217,11 @@ sub end_foilgroup { } $Apache::lonxml::post_evaluate=0; } + if ($target eq 'web') { + &Apache::response::setup_prior_tries_hash(\&format_prior_answer, + [\%Apache::response::foilgroup]); + } + &Apache::response::poprandomnumber(); &Apache::lonxml::increment_counter(); return $result; @@ -231,6 +245,16 @@ sub getfoilcounts { return ($truecnt,$falsecnt); } +sub format_prior_answer { + my ($mode,$answer,$other_data) = @_; + my $foil_data = $other_data->[0]; + my %response = &Apache::lonnet::str2hash($answer); + my ($name) = keys(%response); + return ''. + $foil_data->{$name.'.text'}.''; + +} + sub displayallfoils { my ($direction, $target)=@_; my $result; @@ -290,7 +314,11 @@ sub displayallfoils { $i++; } else { $result .= '