version 1.48, 2002/09/26 21:41:30
|
version 1.50, 2002/10/01 20:17:04
|
Line 305 sub displayfoils {
|
Line 305 sub displayfoils {
|
my $result; |
my $result; |
my $name; |
my $name; |
my $displayoptionintex=0; |
my $displayoptionintex=0; |
|
my @alphabet = ('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P', |
|
'Q','R','S','T','U','V','W','X','Y','Z'); |
my @whichopt = &whichfoils($max,$randomize); |
my @whichopt = &whichfoils($max,$randomize); |
my $part=$Apache::inputtags::part; |
my $part=$Apache::inputtags::part; |
my $id=$Apache::inputtags::response[-1]; |
my $id=$Apache::inputtags::response[-1]; |
Line 341 sub displayfoils {
|
Line 343 sub displayfoils {
|
$result.="<br /><select name=\"HWVAL_$Apache::inputtags::response['-1']:$temp\">" |
$result.="<br /><select name=\"HWVAL_$Apache::inputtags::response['-1']:$temp\">" |
.$optionlist |
.$optionlist |
."</select>\n".$Apache::response::foilgroup{$name.'.text'}."\n"; |
."</select>\n".$Apache::response::foilgroup{$name.'.text'}."\n"; |
|
if ($Apache::lonhomework::type eq 'exam') { |
|
my $number_of_bubbles = $#opt + 1; |
|
$result.= '<table border="1"><tr>'; |
|
for (my $ind=0;$ind<$number_of_bubbles;$ind++) { |
|
$result.='<td>'.$alphabet[$ind].': '.$opt[$ind].'</td>'; |
|
} |
|
$result.='</tr></table>'; |
|
} |
$temp++; |
$temp++; |
} else { |
} else { |
if ($displayoptionintex == 0) { |
if ($displayoptionintex == 0) { |
my $texoptionlist = $optionlist; |
my $texoptionlist = &optionlist_correction($optionlist); |
$texoptionlist =~ s/<option><\/option>/\\item \[\] The possible answers are:/; |
|
$texoptionlist =~ s/<option>/{\\bf /g; |
|
$texoptionlist =~ s/<option selected="on">/{\\bf /g; |
|
$texoptionlist =~ s/<\/option>/},/g; |
|
$texoptionlist =~ s/,$/\./g; |
|
$texoptionlist =~ s/>/\$>\$/g; |
|
$texoptionlist =~ s/</\$<\$/g; |
|
$texoptionlist =~ s/=/\$=\$/g; |
|
if ($Apache::response::foilgroup{$name.'.text'}=~m/\\item /) { |
if ($Apache::response::foilgroup{$name.'.text'}=~m/\\item /) { |
$result.= $texoptionlist.$Apache::response::foilgroup{$name.'.text'}; |
$result.= $texoptionlist.$Apache::response::foilgroup{$name.'.text'}; |
} else { |
} else { |
$result.= $texoptionlist.'\item '.$Apache::response::foilgroup{$name.'.text'}; |
$result.= $texoptionlist.'\item '.$Apache::response::foilgroup{$name.'.text'}; |
} |
} |
|
if ($Apache::lonhomework::type eq 'exam') { |
|
$result.=&bubbles(\@alphabet,\@opt); |
|
} |
$displayoptionintex=1; |
$displayoptionintex=1; |
} else { |
} else { |
if ($Apache::response::foilgroup{$name.'.text'}=~m/\\item /) { |
if ($Apache::response::foilgroup{$name.'.text'}=~m/\\item /) { |
Line 365 sub displayfoils {
|
Line 370 sub displayfoils {
|
} else { |
} else { |
$result.= '\item '.$Apache::response::foilgroup{$name.'.text'}; |
$result.= '\item '.$Apache::response::foilgroup{$name.'.text'}; |
} |
} |
|
if ($Apache::lonhomework::type eq 'exam') { |
|
$result.=&bubbles(\@alphabet,\@opt); |
|
} |
} |
} |
} |
} |
} |
} |
Line 378 sub displayfoils {
|
Line 386 sub displayfoils {
|
} |
} |
|
|
|
|
|
sub optionlist_correction { |
|
|
|
my $texoptionlist = shift; |
|
$texoptionlist =~ s/<option><\/option>/\\item \[\] The possible answers are:/; |
|
$texoptionlist =~ s/<option>/\{\\bf /g; |
|
$texoptionlist =~ s/<option selected="on">/\{\\bf /g; |
|
$texoptionlist =~ s/<\/option>/\},/g; |
|
$texoptionlist =~ s/,$/\./g; |
|
$texoptionlist =~ s/>/\$>\$/g; |
|
$texoptionlist =~ s/</\$<\$/g; |
|
$texoptionlist =~ s/=/\$=\$/g; |
|
return $texoptionlist; |
|
} |
|
|
|
|
|
sub bubbles { |
|
|
|
my ($ralphabit,$ropt) = @_; |
|
my @alphabet = @$ralphabit; |
|
my @opt = @$ropt; |
|
my $result=''; |
|
my $number_of_bubbles = $#opt + 1; |
|
$result.= '\vskip 2 mm \noindent \begin{tabular}{|'; |
|
for (my $ind=0;$ind<$number_of_bubbles;$ind++) { |
|
$result.='lr|'; |
|
} |
|
$result.='}\hline '; |
|
for (my $ind=0;$ind<$number_of_bubbles;$ind++) { |
|
$result.=' '.$alphabet[$ind].': & '.$opt[$ind].' '; |
|
if ($ind != $number_of_bubbles - 1) {$result.=' & ';} |
|
} |
|
$result.='\\\\\hline\end{tabular}\vskip 0 mm '; |
|
return $result; |
|
} |
|
|
|
|
sub start_conceptgroup { |
sub start_conceptgroup { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
$Apache::optionresponse::conceptgroup=1; |
$Apache::optionresponse::conceptgroup=1; |