version 1.58, 2002/11/07 16:45:55
|
version 1.66, 2003/01/13 21:24:39
|
Line 318 sub displayfoils {
|
Line 318 sub displayfoils {
|
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]; |
if (($Apache::lonhomework::history{"resource.$part.solved"} =~ /^correct/) || ($Apache::inputtags::status[-1] eq 'SHOW_ANSWER')) { |
my $break; |
my $temp=1; #### |
my $solved=$Apache::lonhomework::history{"resource.$part.solved"}; |
|
my $status=$Apache::inputtags::status[-1]; |
|
if ( |
|
($target ne 'tex') && |
|
(($solved =~ /^correct/) || ($status eq 'SHOW_ANSWER')) ) { |
foreach $name (@whichopt) { |
foreach $name (@whichopt) { |
if ($target eq 'web') { |
my $text=$Apache::response::foilgroup{$name.'.text'}; |
$result.="<br />"; |
if ($text!~/^\s*$/) { |
|
if ($target eq 'tex') { |
|
$break='\vskip 0 mm '; |
|
} elsif ($target eq 'web') { |
|
$break='<br />'; |
|
} |
|
} |
|
$result.=$break; |
|
if ($target eq 'web') { |
|
my $value=$Apache::response::foilgroup{$name.'.value'}; |
|
if (!($text=~s|<drawoptionlist\s*/>|$value|)) { |
|
if ($text=~/^\s*$/) { |
|
$text=$value.$text; |
|
} else { |
|
$text=$value.': '.$text; |
|
} |
|
} |
|
$result.=$text."\n"; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$result.='\vskip 0 mm '; |
|
} |
|
if ($target ne 'tex') { |
|
$result .=$Apache::response::foilgroup{$name.'.value'}. |
|
":".$Apache::response::foilgroup{$name.'.text'}."\n"; |
|
} else { |
|
$Apache::response::foilgroup{$name.'.text'}=~s/\\item//; |
$Apache::response::foilgroup{$name.'.text'}=~s/\\item//; |
$result .='\item \textit{'.$Apache::response::foilgroup{$name.'.value'}.'}'. |
$result .='\item \textit{'.$Apache::response::foilgroup{$name.'.value'}.'}'. |
":".$Apache::response::foilgroup{$name.'.text'}."\n"; |
":".$Apache::response::foilgroup{$name.'.text'}."\n"; |
Line 341 sub displayfoils {
|
Line 356 sub displayfoils {
|
$result.=&bubbles(\@alphabet,\@opt); |
$result.=&bubbles(\@alphabet,\@opt); |
} |
} |
} |
} |
$temp++; |
|
} |
} |
} else { |
} else { |
my $temp=1; |
my $temp=1; |
my %lastresponse=&Apache::lonnet::str2hash($Apache::lonhomework::history{"resource.$part.$id.submission"}); |
my %lastresponse=&Apache::lonnet::str2hash($Apache::lonhomework::history{"resource.$part.$id.submission"}); |
foreach $name (@whichopt) { |
foreach $name (@whichopt) { |
|
my $text=$Apache::response::foilgroup{$name.'.text'}; |
|
if ($text!~/^\s*$/) { |
|
if ($target eq 'tex') { |
|
$break='\vskip 0 mm '; |
|
} elsif ($target eq 'web') { |
|
$break='<br />'; |
|
} |
|
} |
my $lastopt=$lastresponse{$name}; |
my $lastopt=$lastresponse{$name}; |
my $optionlist="<option></option>\n"; |
my $optionlist="<option></option>\n"; |
my $option; |
my $option; |
Line 358 sub displayfoils {
|
Line 380 sub displayfoils {
|
} |
} |
} |
} |
if ($target ne 'tex') { |
if ($target ne 'tex') { |
$result.="<br /><select name=\"HWVAL_$Apache::inputtags::response['-1']:$temp\">" |
$optionlist='<select name="HWVAL_'. |
.$optionlist |
$Apache::inputtags::response['-1'].':'.$temp.'">'. |
."</select>\n".$Apache::response::foilgroup{$name.'.text'}."\n"; |
$optionlist."</select>\n"; |
|
my $text=$Apache::response::foilgroup{$name.'.text'}; |
|
if (!($text=~s|<drawoptionlist\s*/>|$optionlist|)) { |
|
$text=$optionlist.$text; |
|
} |
|
$result.=$break.$text."\n"; |
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
$result.=&webbubbles(\@opt,\@alphabet); |
$result.=&webbubbles(\@opt,\@alphabet); |
} |
} |
$temp++; |
$temp++; |
} else { |
} else { |
|
my $texoptionlist = &optionlist_correction($optionlist); |
if ($displayoptionintex == 0) { |
if ($displayoptionintex == 0) { |
my $texoptionlist = &optionlist_correction($optionlist); |
if ($Apache::lonhomework::type eq 'exam') {$texoptionlist='';} #if exam we do not need to show optionlist |
if ($Apache::lonhomework::type eq 'exam') {$texoptionlist='';} |
|
if ($Apache::response::foilgroup{$name.'.text'}=~m/\\item /) { |
if ($Apache::response::foilgroup{$name.'.text'}=~m/\\item /) { |
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
$Apache::response::foilgroup{$name.'.text'}=~s/\\item/\\item[\\textbf{$Apache::lonxml::counter}\.]/; |
$Apache::response::foilgroup{$name.'.text'}=~s/\\item/\\item[\\textbf{$Apache::lonxml::counter}\.]/; |
} |
} |
$result.= $texoptionlist.$Apache::response::foilgroup{$name.'.text'}; |
if ($Apache::response::foilgroup{$name.'.text'}=~/<drawoptionlist\s*\/>/) { |
|
$Apache::response::foilgroup{$name.'.text'}=~s|<drawoptionlist\s*/>| \\makebox\[0\.3in\]\[b\]\{\\hrulefill\} |; |
|
} |
|
$result.= $texoptionlist.$Apache::response::foilgroup{$name.'.text'}; |
} else { |
} else { |
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
$result.= $texoptionlist.'\vspace*{-2 mm}\item[\textbf{'.$Apache::lonxml::counter.'}.]'.$Apache::response::foilgroup{$name.'.text'}; |
$result.= $texoptionlist.'\vspace*{-2 mm}\item[\textbf{'.$Apache::lonxml::counter.'}.]'.$Apache::response::foilgroup{$name.'.text'}; |
Line 383 sub displayfoils {
|
Line 413 sub displayfoils {
|
} |
} |
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
$result.=&bubbles(\@alphabet,\@opt); |
$result.=&bubbles(\@alphabet,\@opt); |
|
$result.='\vskip 2 mm '; |
} |
} |
$displayoptionintex=1; |
$displayoptionintex=1; |
} else { |
} else { |
Line 390 sub displayfoils {
|
Line 421 sub displayfoils {
|
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
$Apache::response::foilgroup{$name.'.text'}=~s/\\item/\\item[\\textbf{$Apache::lonxml::counter}\.]/; |
$Apache::response::foilgroup{$name.'.text'}=~s/\\item/\\item[\\textbf{$Apache::lonxml::counter}\.]/; |
} |
} |
$result.= $Apache::response::foilgroup{$name.'.text'}; |
if ($Apache::response::foilgroup{$name.'.text'}=~/<drawoptionlist\s*\/>/) { |
|
$Apache::response::foilgroup{$name.'.text'}=~s|<drawoptionlist\s*/>| \\makebox\[0\.3in\]\[b\]\{\\hrulefill\} |; |
|
} |
|
$result.= $Apache::response::foilgroup{$name.'.text'}; |
} else { |
} else { |
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
$result.= '\item[\textbf{'.$Apache::lonxml::counter.'}.]'.$Apache::response::foilgroup{$name.'.text'}; |
$result.= '\item[\textbf{'.$Apache::lonxml::counter.'}.]'.$Apache::response::foilgroup{$name.'.text'}; |
Line 400 sub displayfoils {
|
Line 434 sub displayfoils {
|
} |
} |
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
$result.=&bubbles(\@alphabet,\@opt); |
$result.=&bubbles(\@alphabet,\@opt); |
|
$result.='\vskip 2 mm '; |
} |
} |
} |
} |
} |
} |
} |
} |
} |
|
if ($target ne 'tex') { |
|
return $result."<br />"; |
|
} |
} |
else { |
if ($target ne 'tex') { |
|
return $result.$break; |
|
} else { |
return $result; |
return $result; |
} |
} |
} |
} |
Line 425 sub optionlist_correction {
|
Line 459 sub optionlist_correction {
|
$texoptionlist =~ s/>/\$>\$/g; |
$texoptionlist =~ s/>/\$>\$/g; |
$texoptionlist =~ s/</\$<\$/g; |
$texoptionlist =~ s/</\$<\$/g; |
$texoptionlist =~ s/=/\$=\$/g; |
$texoptionlist =~ s/=/\$=\$/g; |
|
$texoptionlist =~ s/\^(\d+)/<m>\$$1\$<\/m>/g; |
return $texoptionlist; |
return $texoptionlist; |
} |
} |
|
|