--- loncom/homework/optionresponse.pm 2012/06/25 10:36:00 1.186 +++ loncom/homework/optionresponse.pm 2012/11/30 11:45:50 1.188 @@ -1,7 +1,7 @@ # LearningOnline Network with CAPA # option list style responses # -# $Id: optionresponse.pm,v 1.186 2012/06/25 10:36:00 foxr Exp $ +# $Id: optionresponse.pm,v 1.188 2012/11/30 11:45:50 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -108,7 +108,11 @@ sub start_foilgroup { my $optionlist="\n"; my $option; my @opt; - eval '@opt ='. &Apache::lonxml::get_param('options',$parstack,$safeeval); + my @raw_options = &Apache::lonxml::get_param('options', $parstack, $safeeval, 0, 0, 1); + + + eval '@opt ='. &Apache::lonxml::get_param('options',$parstack,$safeeval, 0, 0, 1); + my $count=1; foreach $option (@opt) { $optionlist.="\n"; @@ -148,7 +152,10 @@ ENDTABLE if ($target eq 'modified') { my @options; my $optchanged=0; - eval '@options ='.&Apache::lonxml::get_param('options',$parstack,$safeeval); + + + eval '@options ='.&Apache::lonxml::get_param('options',$parstack,$safeeval, 0, 0, 1); + if ($env{"form.$Apache::lonxml::curdepth.deleteopt"}) { my $delopt=$env{"form.$Apache::lonxml::curdepth.deleteopt"}; &Apache::lonxml::debug("Deleting :$delopt:"); @@ -427,8 +434,11 @@ sub whichfoils { sub displayanswers { my ($max,$randomize,@opt)=@_; - if (!defined(@{ $Apache::response::foilgroup{'names'} })) {return;} - my @names = @{ $Apache::response::foilgroup{'names'} }; + my @names; + if (ref($Apache::response::foilgroup{'names'}) eq 'ARRAY') { + @names = @{ $Apache::response::foilgroup{'names'} }; + } + return if (!@names); my @whichopt = &whichfoils($max,$randomize); my $result; if ($Apache::lonhomework::type eq 'exam') {