--- loncom/homework/radiobuttonresponse.pm 2004/12/23 17:08:22 1.97 +++ loncom/homework/radiobuttonresponse.pm 2005/06/21 21:00:55 1.101 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # mutliple choice style responses # -# $Id: radiobuttonresponse.pm,v 1.97 2004/12/23 17:08:22 albertel Exp $ +# $Id: radiobuttonresponse.pm,v 1.101 2005/06/21 21:00:55 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -30,6 +30,7 @@ package Apache::radiobuttonresponse; use strict; use HTML::Entities(); use Apache::lonlocal; +use Apache::lonnet; BEGIN { &Apache::lonxml::register('Apache::radiobuttonresponse',('radiobuttonresponse')); @@ -114,8 +115,8 @@ sub start_foilgroup { } sub storesurvey { - if ( !defined($ENV{'form.submitted'})) { return ''; } - my $response = $ENV{'form.HWVAL_'.$Apache::inputtags::response['-1']}; + if ( !&Apache::response::submitted() ) { return ''; } + my $response = $env{'form.HWVAL_'.$Apache::inputtags::response['-1']}; &Apache::lonxml::debug("Here I am!:$response:"); if ( $response !~ /[0-9]+/) { return ''; } my $part = $Apache::inputtags::part; @@ -137,12 +138,12 @@ sub grade_response { my ($max,$randomize)=@_; #keep the random numbers the same must always call this my ($answer,@whichfoils)=&whichfoils($max,$randomize); - if (!defined($ENV{'form.submitted'})) { return; } + if ( !&Apache::response::submitted() ) { return; } my $response; - if ($ENV{'form.submitted'} eq 'scantron') { + if ($env{'form.submitted'} eq 'scantron') { $response=&Apache::response::getresponse(); } else { - $response = $ENV{'form.HWVAL_'.$Apache::inputtags::response['-1']}; + $response = $env{'form.HWVAL_'.$Apache::inputtags::response['-1']}; } if ( $response !~ /[0-9]+/) { return; } my $part=$Apache::inputtags::part; @@ -606,7 +607,10 @@ sub end_foil { my $value = &Apache::lonxml::get_param('value',$parstack,$safeeval); if ($value ne 'unused') { my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval); - if (!$name) { $name=$Apache::lonxml::curdepth; } + if (!$name) { + &Apache::lonxml::warning("Foils without names exist. This can cause problems to malfunction."); + $name=$Apache::lonxml::curdepth; + } if (defined($Apache::response::foilnames{$name})) { &Apache::lonxml::error(&mt("Foil name [_1] appears more than once. Foil names need to be unique.",$name)); }