Diff for /loncom/homework/optionresponse.pm between versions 1.133 and 1.138

version 1.133, 2006/03/09 01:04:43 version 1.138, 2007/03/01 02:33:28
Line 183  sub end_foilgroup { Line 183  sub end_foilgroup {
        $safeeval,'-2');         $safeeval,'-2');
     if ($target eq 'web' || $target eq 'tex') {      if ($target eq 'web' || $target eq 'tex') {
       $result.=&displayfoils($target,$max,$randomize,$TeXlayout,@opt);        $result.=&displayfoils($target,$max,$randomize,$TeXlayout,@opt);
         $Apache::lonxml::post_evaluate=0;
     } elsif ( $target eq 'answer') {      } elsif ( $target eq 'answer') {
       $result.=&displayanswers($max,$randomize,@opt);        $result.=&displayanswers($max,$randomize,@opt);
         
     } elsif ( $target eq 'analyze') {      } elsif ( $target eq 'analyze') {
  my @shown = &whichfoils($max,$randomize);   my @shown = &whichfoils($max,$randomize);
  &Apache::response::analyze_store_foilgroup(\@shown,   &Apache::response::analyze_store_foilgroup(\@shown,
Line 353  sub check_for_invalid { Line 355  sub check_for_invalid {
     }      }
 }  }
   
   sub setup_prior_tries_hash {
       my ($whichopt) = @_;
       my $part=$Apache::inputtags::part;
       my $id=$Apache::inputtags::response[-1];
       foreach my $i (1..$Apache::lonhomework::history{'version'}) {
    my $key = "$i:resource.$part.$id.submission";
    next if (!exists($Apache::lonhomework::history{"$key"}));
    my %lastresponse=
       &Apache::lonnet::str2hash($Apache::lonhomework::history{$key});
    my $output;
    foreach my $name (@$whichopt) {
       next if (!defined($lastresponse{$name}));
       $output .= '<td>'.$lastresponse{$name}.'</td>';
    }
    next if (!defined($output));
    $output =
       '<table class="LC_optres_prior"><tr>'.$output.'</tr></table>';
    $Apache::inputtags::submission_display{$key} = $output;
       }
   }
   
 sub displayfoils {  sub displayfoils {
   my ($target,$max,$randomize,$TeXlayout,@opt)=@_;    my ($target,$max,$randomize,$TeXlayout,@opt)=@_;
   if (!defined(@{ $Apache::response::foilgroup{'names'} })) {return;}    if (!defined(@{ $Apache::response::foilgroup{'names'} })) {return;}
Line 448  sub displayfoils { Line 471  sub displayfoils {
       $texoptionlist = &optionlist_correction($TeXlayout,@opt);        $texoptionlist = &optionlist_correction($TeXlayout,@opt);
   }    }
   if ($text=~/<drawoptionlist\s*\/>/) {    if ($text=~/<drawoptionlist\s*\/>/) {
       $text=~s|<drawoptionlist\s*/>| \\makebox\[0\.3in\]\[b\]\{\\hrulefill\} |;        $text=~s|<drawoptionlist\s*\/>| \\makebox\[0\.3in\]\[b\]\{\\hrulefill\} |g;
   }    }
   
   if ($text=~m/\\item /) {    if ($text=~m/\\item /) {
Line 473  sub displayfoils { Line 496  sub displayfoils {
       }        }
     }      }
   }    }
   
     if ($target eq 'web') {
         &setup_prior_tries_hash(\@whichopt);
     }
   
   if ($target ne 'tex') {    if ($target ne 'tex') {
       return $result.$break;        return $result.$break;
   } else {    } else {
Line 688  sub end_foil { Line 716  sub end_foil {
   
 sub start_drawoptionlist {  sub start_drawoptionlist {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     if ($target ne 'meta') {      if (($target ne 'meta')  && ($target ne 'answer')) {
  return $token->[4];   return $token->[4];
     }      }
 }  }
   
 sub end_drawoptionlist {  sub end_drawoptionlist {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     if ($target ne 'meta') {      if (($target ne 'meta') && ($target ne 'answer')) {
  return $token->[2];   return $token->[2];
     }      }
 }  }

Removed from v.1.133  
changed lines
  Added in v.1.138


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>