Diff for /loncom/homework/radiobuttonresponse.pm between versions 1.71 and 1.76

version 1.71, 2003/05/16 19:25:08 version 1.76, 2003/10/24 18:06:06
Line 205  sub displayallfoils { Line 205  sub displayallfoils {
   my $part=$Apache::inputtags::part;    my $part=$Apache::inputtags::part;
   my $lastresponse=$Apache::lonhomework::history{"resource.$part.$id.submission"};    my $lastresponse=$Apache::lonhomework::history{"resource.$part.$id.submission"};
   my %lastresponse=&Apache::lonnet::str2hash($lastresponse);    my %lastresponse=&Apache::lonnet::str2hash($lastresponse);
   if (($Apache::lonhomework::history{"resource.$part.solved"} =~ /^correct/)  || ($Apache::inputtags::status[-1] eq  'SHOW_ANSWER')) {    if (&Apache::response::show_answer() ) {
     foreach my $name (@names) {      foreach my $name (@names) {
       if ($Apache::response::foilgroup{$name.'.value'} ne 'unused') {        if ($Apache::response::foilgroup{$name.'.value'} ne 'unused') {
  $result.="<br />".$Apache::response::foilgroup{$name.'.value'};   $result.="<br />".$Apache::response::foilgroup{$name.'.value'};
Line 291  sub whichfoils { Line 291  sub whichfoils {
  }   }
     }      }
     #pick a true statement      #pick a true statement
       my $notrue=0;
       if (scalar(@truelist) == 0) { $notrue=1; }
     my $whichtrue = int(&Math::Random::random_uniform() * ($#truelist+1));      my $whichtrue = int(&Math::Random::random_uniform() * ($#truelist+1));
     &Apache::lonxml::debug("Max is $max, From $#truelist elms, picking $whichtrue");      &Apache::lonxml::debug("Max is $max, From $#truelist elms, picking $whichtrue");
     my (@toplist, @bottomlist);      my (@toplist, @bottomlist);
Line 319  sub whichfoils { Line 321  sub whichfoils {
     &Apache::lonxml::debug("Answer wants $answer");      &Apache::lonxml::debug("Answer wants $answer");
     my $truename=$truelist[$whichtrue];      my $truename=$truelist[$whichtrue];
     my $dosplice=1;      my $dosplice=1;
       if ($notrue) {
    $dosplice=0;
    &Apache::lonxml::error("There are no true statements available.<br />");
       }
     #insert the true statement, keeping track of where it wants to be      #insert the true statement, keeping track of where it wants to be
     if ($Apache::response::foilgroup{$truename.'.location'} eq 'top' ) {      if ($Apache::response::foilgroup{$truename.'.location'} eq 'top' && $dosplice) {
  $toplist[$top{$truename}]=$truename;   $toplist[$top{$truename}]=$truename;
  $answer=-1;   $answer=-1;
  foreach my $top (reverse(@toplist)) {   foreach my $top (reverse(@toplist)) {
Line 328  sub whichfoils { Line 334  sub whichfoils {
     if ($top eq $truename) { last; }      if ($top eq $truename) { last; }
  }   }
  $dosplice=0;   $dosplice=0;
     } elsif ($Apache::response::foilgroup{$truename.'.location'} eq 'bottom') {      } elsif ($Apache::response::foilgroup{$truename.'.location'} eq 'bottom' && $dosplice) {
  $bottomlist[$bottom{$truename}]=$truename;   $bottomlist[$bottom{$truename}]=$truename;
  $answer=-1;   $answer=-1;
  foreach my $bot (@bottomlist) {   foreach my $bot (@bottomlist) {
Line 365  sub displayfoils { Line 371  sub displayfoils {
   my ($answer,@whichfoils)=&whichfoils($max,$randomize);    my ($answer,@whichfoils)=&whichfoils($max,$randomize);
   my $part=$Apache::inputtags::part;    my $part=$Apache::inputtags::part;
   my $solved=$Apache::lonhomework::history{"resource.$part.solved"};    my $solved=$Apache::lonhomework::history{"resource.$part.solved"};
   my $status=$Apache::inputtags::status[-1];  
   if ( ($target ne 'tex') &&    if ( ($target ne 'tex') &&
        (($solved =~ /^correct/) || ($status eq  'SHOW_ANSWER')) ) {         &Apache::response::show_answer() ) {
     foreach my $name (@whichfoils) {      foreach my $name (@whichfoils) {
       if ($target ne 'tex') {        if ($target ne 'tex') {
   $result.="<br />";    $result.="<br />";

Removed from v.1.71  
changed lines
  Added in v.1.76


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