version 1.52, 2002/10/17 14:40:05
|
version 1.57, 2002/10/28 23:31:48
|
Line 42 sub start_optionresponse {
|
Line 42 sub start_optionresponse {
|
&Apache::lonxml::register('Apache::optionresponse',('foilgroup','foil','conceptgroup')); |
&Apache::lonxml::register('Apache::optionresponse',('foilgroup','foil','conceptgroup')); |
push (@Apache::lonxml::namespace,'optionresponse'); |
push (@Apache::lonxml::namespace,'optionresponse'); |
my $id = &Apache::response::start_response($parstack,$safeeval); |
my $id = &Apache::response::start_response($parstack,$safeeval); |
|
%Apache::hint::option=(); |
if ($target eq 'edit') { |
if ($target eq 'edit') { |
$result.=&Apache::edit::start_table($token). |
$result.=&Apache::edit::start_table($token). |
"<tr><td>Multiple Option Response Question</td><td>Delete:". |
"<tr><td>Multiple Option Response Question</td><td>Delete:". |
Line 179 sub end_foilgroup {
|
Line 180 sub end_foilgroup {
|
my @whichopt = &whichfoils($max,$randomize); |
my @whichopt = &whichfoils($max,$randomize); |
my $temp=1;my $name; |
my $temp=1;my $name; |
my %responsehash; |
my %responsehash; |
|
my %grade; |
my $right=0; |
my $right=0; |
my $wrong=0; |
my $wrong=0; |
my $ignored=0; |
my $ignored=0; |
Line 188 sub end_foilgroup {
|
Line 190 sub end_foilgroup {
|
if ( $response =~ /[^\s]/) { |
if ( $response =~ /[^\s]/) { |
my $value=$Apache::response::foilgroup{$name.'.value'}; |
my $value=$Apache::response::foilgroup{$name.'.value'}; |
&Apache::lonxml::debug("submitted a $response for $value<br />\n"); |
&Apache::lonxml::debug("submitted a $response for $value<br />\n"); |
if ($value eq $response) {$right++;} else {$wrong++;} |
if ($value eq $response) { |
|
$grade{$name}='1'; $right++; |
|
} else { |
|
$grade{$name}='0'; $wrong++; |
|
} |
} else { |
} else { |
$ignored++; |
$ignored++; |
} |
} |
Line 197 sub end_foilgroup {
|
Line 203 sub end_foilgroup {
|
my $part=$Apache::inputtags::part; |
my $part=$Apache::inputtags::part; |
my $id = $Apache::inputtags::response['-1']; |
my $id = $Apache::inputtags::response['-1']; |
my $responsestr=&Apache::lonnet::hash2str(%responsehash); |
my $responsestr=&Apache::lonnet::hash2str(%responsehash); |
|
my $gradestr =&Apache::lonnet::hash2str(%grade); |
my %previous=&Apache::response::check_for_previous($responsestr, |
my %previous=&Apache::response::check_for_previous($responsestr, |
$part,$id); |
$part,$id); |
&Apache::lonxml::debug("Got $right right and $wrong wrong, and $ignored were ignored"); |
&Apache::lonxml::debug("Got $right right and $wrong wrong, and $ignored were ignored"); |
Line 214 sub end_foilgroup {
|
Line 221 sub end_foilgroup {
|
} |
} |
$Apache::lonhomework::results{"resource.$part.$id.submission"}= |
$Apache::lonhomework::results{"resource.$part.$id.submission"}= |
$responsestr; |
$responsestr; |
|
$Apache::lonhomework::results{"resource.$part.$id.submissiongrading"}=$gradestr; |
$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}= |
$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}= |
$ad; |
$ad; |
&Apache::response::handle_previous(\%previous,$ad); |
&Apache::response::handle_previous(\%previous,$ad); |
Line 321 sub displayfoils {
|
Line 329 sub displayfoils {
|
$result .=$Apache::response::foilgroup{$name.'.value'}. |
$result .=$Apache::response::foilgroup{$name.'.value'}. |
":".$Apache::response::foilgroup{$name.'.text'}."\n"; |
":".$Apache::response::foilgroup{$name.'.text'}."\n"; |
} else { |
} else { |
$result .='\item '.$Apache::response::foilgroup{$name.'.value'}. |
$Apache::response::foilgroup{$name.'.text'}=~s/\\item//; |
|
$result .='\item \textit{'.$Apache::response::foilgroup{$name.'.value'}.'}'. |
":".$Apache::response::foilgroup{$name.'.text'}."\n"; |
":".$Apache::response::foilgroup{$name.'.text'}."\n"; |
} |
} |
} |
} |
Line 363 sub displayfoils {
|
Line 372 sub displayfoils {
|
$result.= $texoptionlist.$Apache::response::foilgroup{$name.'.text'}; |
$result.= $texoptionlist.$Apache::response::foilgroup{$name.'.text'}; |
} else { |
} else { |
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
$result.= $texoptionlist.'\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'}; |
} else { |
} else { |
$result.= $texoptionlist.'\item '.$Apache::response::foilgroup{$name.'.text'}; |
$result.= $texoptionlist.'\vspace*{-2 mm}\item '.$Apache::response::foilgroup{$name.'.text'}; |
} |
} |
} |
} |
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
Line 438 sub bubbles {
|
Line 447 sub bubbles {
|
} |
} |
|
|
} |
} |
$Apache::lonxml::counter++; |
&Apache::lonxml::increment_counter(); |
my %moreenv; |
|
$moreenv{'form.counter'}=$Apache::lonxml::counter; |
|
&Apache::lonnet::appenv(%moreenv); |
|
return $result; |
return $result; |
} |
} |
|
|
Line 500 sub end_conceptgroup {
|
Line 506 sub end_conceptgroup {
|
$Apache::lonhomework::analyze{"$part_id.foil.location.$name"} = |
$Apache::lonhomework::analyze{"$part_id.foil.location.$name"} = |
$Apache::response::conceptgroup{"$name.location"}; |
$Apache::response::conceptgroup{"$name.location"}; |
} |
} |
|
} elsif ($target eq 'web') { |
|
my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]"; |
|
push(@{ $Apache::hint::option{"$part_id.concepts"} }, |
|
$concept); |
|
$Apache::hint::option{"$part_id.concept.$concept"}= |
|
$Apache::response::conceptgroup{'names'}; |
} |
} |
} |
} |
} elsif ($target eq 'edit') { |
} elsif ($target eq 'edit') { |
Line 548 sub end_foil {
|
Line 560 sub end_foil {
|
my $result = ''; |
my $result = ''; |
if ($target eq 'web' || $target eq 'tex') { |
if ($target eq 'web' || $target eq 'tex') { |
$text=&Apache::lonxml::endredirection; |
$text=&Apache::lonxml::endredirection; |
if ($target eq 'tex') { $text = '\item '.$text; } |
if ($target eq 'tex') { $text = '\vspace*{-2 mm}\item '.$text; } |
} |
} |
if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' |
if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' |
|| $target eq 'tex' || $target eq 'analyze') { |
|| $target eq 'tex' || $target eq 'analyze') { |