Diff for /loncom/homework/radiobuttonresponse.pm between versions 1.112 and 1.114

version 1.112, 2007/03/01 02:31:20 version 1.114, 2007/04/17 23:25:09
Line 180  sub end_foilgroup { Line 180  sub end_foilgroup {
  if ( $style eq 'survey'  && $target ne 'analyze') {   if ( $style eq 'survey'  && $target ne 'analyze') {
     if ($target eq 'web' || $target eq 'tex') {      if ($target eq 'web' || $target eq 'tex') {
  $result=&displayallfoils($direction, $target);   $result=&displayallfoils($direction, $target);
  if ($target eq 'web') {  
     &setup_prior_tries_hash();  
  }  
     } elsif ( $target eq 'answer' ) {      } elsif ( $target eq 'answer' ) {
  $result=&displayallanswers();   $result=&displayallanswers();
     } elsif ( $target eq 'grade' ) {      } elsif ( $target eq 'grade' ) {
Line 196  sub end_foilgroup { Line 193  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,$direction);   $result=&displayfoils($target,$max,$randomize,$direction);
  if ($target eq 'web') {  
     &setup_prior_tries_hash();  
  }  
     } elsif ($target eq 'answer' ) {      } elsif ($target eq 'answer' ) {
  $result=&displayanswers($max,$randomize);   $result=&displayanswers($max,$randomize);
     } elsif ( $target eq 'grade') {      } elsif ( $target eq 'grade') {
Line 214  sub end_foilgroup { Line 208  sub end_foilgroup {
  }   }
  $Apache::lonxml::post_evaluate=0;   $Apache::lonxml::post_evaluate=0;
     }      }
       if ($target eq 'web') {
    &Apache::response::setup_prior_tries_hash(\&format_prior_answer,
     [\%Apache::response::foilgroup]);
       }
       
     &Apache::response::poprandomnumber();      &Apache::response::poprandomnumber();
     &Apache::lonxml::increment_counter();      &Apache::lonxml::increment_counter();
     return $result;      return $result;
Line 237  sub getfoilcounts { Line 236  sub getfoilcounts {
     return ($truecnt,$falsecnt);      return ($truecnt,$falsecnt);
 }  }
   
 sub setup_prior_tries_hash {  sub format_prior_answer {
     my $part=$Apache::inputtags::part;      my ($mode,$answer,$other_data) = @_;
     my $id=$Apache::inputtags::response[-1];      my $foil_data = $other_data->[0];
     foreach my $i (1..$Apache::lonhomework::history{'version'}) {      my %response = &Apache::lonnet::str2hash($answer);
  my $key = "$i:resource.$part.$id.submission";      my ($name)   = keys(%response);
  next if (!exists($Apache::lonhomework::history{"$key"}));      return '<span class="LC_prior_radiobutton">'.
  my %response =    $foil_data->{$name.'.text'}.'</span>';
     &Apache::lonnet::str2hash($Apache::lonhomework::history{$key});  
  my ($name) = keys(%response);  
  $Apache::inputtags::submission_display{$key} =   
     $Apache::response::foilgroup{$name.'.text'}  
     }  
 }  }
   
 sub displayallfoils {  sub displayallfoils {
Line 310  sub displayallfoils { Line 305  sub displayallfoils {
     $i++;      $i++;
  } else {   } else {
     $result .= '<label>';      $result .= '<label>';
     $result.="<input type=\"radio\" name=\"HWVAL_$Apache::inputtags::response['-1']\" value=\"$temp\" ";      $result.="<input
                          onchange=\"javascript:setSubmittedPart('$part');\"
                          type=\"radio\"
                          name=\"HWVAL_$Apache::inputtags::response['-1']\"
                          value=\"$temp\" ";
     if (defined($lastresponse{$name})) { $result .= 'checked="on"'; }      if (defined($lastresponse{$name})) { $result .= 'checked="on"'; }
     $result .= ' />'.$Apache::response::foilgroup{$name.'.text'}.      $result .= ' />'.$Apache::response::foilgroup{$name.'.text'}.
  '</label>';   '</label>';
Line 528  sub displayfoils { Line 527  sub displayfoils {
     }      }
     if ($target ne 'tex') {       if ($target ne 'tex') { 
                 $result.= '<label>';                  $result.= '<label>';
  $result.="<input type=\"radio\" name=\"HWVAL_$Apache::inputtags::response['-1']\" value=\"$temp\" ";   $result.=
       "<input type=\"radio\"
                               onchange=\"javascript:setSubmittedPart('$part');\"
                               name=\"HWVAL_$Apache::inputtags::response['-1']\"
                               value=\"$temp\" ";
  if (defined($lastresponse{$name})) { $result .= 'checked="on"'; }   if (defined($lastresponse{$name})) { $result .= 'checked="on"'; }
  $result .= ' />'.$Apache::response::foilgroup{$name.'.text'}."</label>";   $result .= ' />'.$Apache::response::foilgroup{$name.'.text'}."</label>";
     } else {      } else {

Removed from v.1.112  
changed lines
  Added in v.1.114


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