'.&Apache::edit::end_row()
.&Apache::edit::start_spanning_row()."\n";
}
return $result;
@@ -261,6 +268,9 @@ sub start_foilgroup {
sub end_foilgroup {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $result;
+ my $part = $Apache::inputtags::part;
+ my $response_id = $Apache::inputtags::response[-1];
+
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || $target eq 'tex' || $target eq 'analyze') {
my $max = &Apache::lonxml::get_param('max',$parstack,$safeeval,'-2');
my $randomize = &Apache::lonxml::get_param('randomize',$parstack,
@@ -278,7 +288,12 @@ sub end_foilgroup {
['text','value','location']);
#FIXME need to store options in some way
}
- &Apache::lonxml::increment_counter(&getfoilcounts($max));
+ &Apache::lonxml::increment_counter(&getfoilcounts($max),
+ "$part.$response_id");
+ if ($target eq 'analyze') {
+ &Apache::lonhomework::set_bubble_lines();
+ }
+
} elsif ($target eq 'edit') {
$result=&Apache::edit::end_table();
}
@@ -498,15 +513,19 @@ sub displayfoils {
$optionlist="\n";
} else {
if ($Apache::lonhomework::type ne 'exam') {
- $optionlist='\framebox[5 mm][s]{\tiny\strut}';
- }
+ $optionlist='\framebox[10 mm][s]{\tiny\strut}';
+ }
}
my $option;
foreach $option (@used_letters) {
if ($option eq $last_letter) {
- if ($target ne 'tex') {$optionlist.="\n";}
+ if ($target ne 'tex') {
+ $optionlist.="\n";
+ }
} else {
- if ($target ne 'tex') {$optionlist.="\n";}
+ if ($target ne 'tex') {
+ $optionlist.="\n";
+ }
}
}
if ($target ne 'tex' && $Apache::lonhomework::type ne 'exam') {
@@ -564,7 +583,7 @@ sub displayfoils {
$question .= '\end{list} \vskip -8 mm \strut ';
$internal_counter++;
} else {
- $question.=' '.$optionlist.$text.'\strut\\\\\strut '."\n";
+ $question.=' '.$optionlist.$text.'\strut\\\\\strut '."\n";
}
}
$temp++;
@@ -710,12 +729,12 @@ sub end_foil {
my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval);
&Apache::lonxml::debug("Got a name of :$name:");
if (!$name) {
- &Apache::lonxml::warning("Foils without names exist. This can cause problems to malfunction.");
+ &Apache::lonxml::warning(&mt('Foils without names exist. This can cause problems to malfunction.'));
$name=$Apache::lonxml::curdepth;
}
&Apache::lonxml::debug("Using a name of :$name:");
if (defined($Apache::response::foilnames{$name})) {
- &Apache::lonxml::error(&mt("Foil name [_1] appears more than once. Foil names need to be unique.",$name));
+ &Apache::lonxml::error(&mt("Foil name [_1] appears more than once. Foil names need to be unique.",''.$name.''));
}
$Apache::response::foilnames{$name}++;
my $location =&Apache::lonxml::get_param('location',$parstack,