--- loncom/homework/optionresponse.pm 2002/03/29 18:32:46 1.34 +++ loncom/homework/optionresponse.pm 2002/03/29 19:19:21 1.35 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # option list style responses # -# $Id: optionresponse.pm,v 1.34 2002/03/29 18:32:46 albertel Exp $ +# $Id: optionresponse.pm,v 1.35 2002/03/29 19:19:21 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -148,7 +148,7 @@ sub end_foilgroup { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; my $result; - if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || $target eq 'tex') { + if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || $target eq 'tex' || $target eq 'analyze') { my $name; my ($count,$max) = &getfoilcounts($parstack,$safeeval); if ($count>$max) { $count=$max } @@ -166,10 +166,12 @@ sub end_foilgroup { if (defined($Apache::lonhomework::analyze{"$part_id.foil.value.$name"})) { next; } push (@{ $Apache::lonhomework::analyze{"$part_id.foils"} },$name); $Apache::lonhomework::analyze{"$part_id.foil.value.$name"} = - $Apache::response::conceptgroup{"$name.value"}; + $Apache::response::foilgroup{"$name.value"}; $Apache::lonhomework::analyze{"$part_id.foil.text.$name"} = - $Apache::response::conceptgroup{"$name.text"}; + $Apache::response::foilgroup{"$name.text"}; } + push (@{ $Apache::lonhomework::analyze{"$part_id.options"} },@opt); + push (@{ $Apache::lonhomework::analyze{"$part_id.shown"} },&whichfoils($count)); } elsif ( $target eq 'grade') { if ( defined $ENV{'form.submitted'}) { my @whichopt = &whichfoils($count); @@ -340,34 +342,38 @@ sub end_conceptgroup { $Apache::optionresponse::conceptgroup=0; my $result=''; if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' - || $target eq 'tex') { + || $target eq 'tex' || $target eq 'analyze') { #if not there aren't any foils to display and thus no question if (defined(@{ $Apache::response::conceptgroup{'names'} })) { my @names = @{ $Apache::response::conceptgroup{'names'} }; my $pick=int rand $#names+1; my $name=$names[$pick]; push @{ $Apache::response::foilgroup{'names'} }, $name; - $Apache::response::foilgroup{"$name.value"} = $Apache::response::conceptgroup{"$name.value"}; - $Apache::response::foilgroup{"$name.text"} = $Apache::response::conceptgroup{"$name.text"}; + $Apache::response::foilgroup{"$name.value"} = + $Apache::response::conceptgroup{"$name.value"}; + $Apache::response::foilgroup{"$name.text"} = + $Apache::response::conceptgroup{"$name.text"}; my $concept = &Apache::lonxml::get_param('concept',$parstack,$safeeval); $Apache::response::foilgroup{"$name.concept"} = $concept; &Apache::lonxml::debug("Selecting $name in $concept"); + if ($target eq 'analyze') { + my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]"; + push (@{ $Apache::lonhomework::analyze{"$part_id.concepts"} }, + $concept); + $Apache::lonhomework::analyze{"$part_id.concept.$concept"}= + $Apache::response::conceptgroup{'names'}; + foreach my $name (@{ $Apache::response::conceptgroup{'names'} }) { + push (@{ $Apache::lonhomework::analyze{"$part_id.foils"} }, + $name); + $Apache::lonhomework::analyze{"$part_id.foil.value.$name"} = + $Apache::response::conceptgroup{"$name.value"}; + $Apache::lonhomework::analyze{"$part_id.foil.text.$name"} = + $Apache::response::conceptgroup{"$name.text"}; + } + } } } elsif ($target eq 'edit') { $result=&Apache::edit::end_table(); - } elsif ($target eq 'analyze') { - my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]"; - my $concept = &Apache::lonxml::get_param('concept',$parstack,$safeeval); - push (@{ $Apache::lonhomework::analyze{"$part_id.concepts"} },$concept); - $Apache::lonhomework::analyze{"$part_id.concept.$concept"}= - $Apache::response::conceptgroup{'names'}; - foreach my $name (@{ $Apache::response::conceptgroup{'names'} }) { - push (@{ $Apache::lonhomework::analyze{"$part_id.foils"} },$name); - $Apache::lonhomework::analyze{"$part_id.foil.value.$name"} = - $Apache::response::conceptgroup{"$name.value"}; - $Apache::lonhomework::analyze{"$part_id.foil.text.$name"} = - $Apache::response::conceptgroup{"$name.text"}; - } } return $result; }