--- loncom/homework/rankresponse.pm 2005/03/15 16:55:22 1.45
+++ loncom/homework/rankresponse.pm 2005/12/06 10:13:46 1.49
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# rank style response
#
-# $Id: rankresponse.pm,v 1.45 2005/03/15 16:55:22 albertel Exp $
+# $Id: rankresponse.pm,v 1.49 2005/12/06 10:13:46 albertel Exp $
# Copyright Michigan State University Board of Trustees
#
# This file is part of the LearningOnline Network with CAPA (LON-CAPA).
@@ -166,12 +166,25 @@ sub displayanswers {
if (!defined(@{ $Apache::response::foilgroup{'names'} })) { return; }
my @names = @{ $Apache::response::foilgroup{'names'} };
my @whichfoils = &whichfoils($max,$randomize);
- my $result=&Apache::response::answer_header('rankresponse');
my @correctorder=&get_correct_order($tol,@whichfoils);
- foreach my $order (@correctorder) {
- $result.=&Apache::response::answer_part('rankresponse',$order);
+ my $result;
+ if ($Apache::lonhomework::type eq 'exam') {
+ my @alphabet = ('A'..'Z');
+ my $i=0;
+ foreach my $order (@correctorder) {
+ $result.=&Apache::response::answer_header('rankresponse',$i++);
+ $result.=&Apache::response::answer_part('rankresponse',
+ $alphabet[$order-1]);
+ $result.=&Apache::response::answer_part('rankresponse',$order);
+ $result.=&Apache::response::answer_footer('rankresponse');
+ }
+ } else {
+ $result=&Apache::response::answer_header('rankresponse');
+ foreach my $order (@correctorder) {
+ $result.=&Apache::response::answer_part('rankresponse',$order);
+ }
+ $result.=&Apache::response::answer_footer('rankresponse');
}
- $result.=&Apache::response::answer_footer('rankresponse');
return $result;
}
@@ -263,8 +276,11 @@ sub displayfoils {
foreach my $name (@whichfoils) {
my $text=$Apache::response::foilgroup{$name.'.text'};
my $value=shift(@correctorder);
- if ($target eq 'web') {$result.='
';} else {$result.=' \strut\\\\\strut ';}
- $result.=$value.':'.$text;
+ if ($target eq 'web') {
+ $result.='
'.$value.': '.$text;
+ } else {
+ $result.=' \strut\\\\\strut '.$value.':'.$text;
+ }
}
} else {
my $i = 0;
@@ -425,8 +441,8 @@ sub end_foil {
if ($value ne 'unused') {
my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval);
&Apache::lonxml::debug("Got a name of :$name:");
- if (!$name) {
- &Apache::lonxml::error("Foils without names exist. This can cause problems to malfunction.");
+ if ($name eq "") {
+ &Apache::lonxml::warning("Foils without names exist. This can cause problems to malfunction.");
$name=$Apache::lonxml::curdepth;
}
&Apache::lonxml::debug("Using a name of :$name:");