Diff for /loncom/homework/radiobuttonresponse.pm between versions 1.103 and 1.109

version 1.103, 2005/06/27 21:51:29 version 1.109, 2006/12/08 17:38:35
Line 234  sub displayallfoils { Line 234  sub displayallfoils {
     my ($direction)=@_;      my ($direction)=@_;
     my $result;      my $result;
     &Apache::lonxml::debug("survey style display");      &Apache::lonxml::debug("survey style display");
     my @names = @{ $Apache::response::foilgroup{'names'} };      my @names;
       if ( $Apache::response::foilgroup{'names'} ) {
    @names= @{ $Apache::response::foilgroup{'names'} };
       }
     my $temp=0;      my $temp=0;
     my $id=$Apache::inputtags::response['-1'];      my $id=$Apache::inputtags::response['-1'];
     my $part=$Apache::inputtags::part;      my $part=$Apache::inputtags::part;
Line 271  sub displayallfoils { Line 274  sub displayallfoils {
                 $result .= '<label>';                  $result .= '<label>';
  $result.="<input type=\"radio\" name=\"HWVAL_$Apache::inputtags::response['-1']\" value=\"$temp\" ";   $result.="<input 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>';
  $temp++;   $temp++;
  if ($direction eq 'horizontal') { $result.="</td>"; }   if ($direction eq 'horizontal') { $result.="</td>"; }
Line 291  sub whichfoils { Line 294  sub whichfoils {
     my ($truecnt,$falsecnt) = &getfoilcounts();      my ($truecnt,$falsecnt) = &getfoilcounts();
     my $count=0;      my $count=0;
     # we will add in 1 of the true statements      # we will add in 1 of the true statements
     if (($falsecnt+1)>$max) { $count=$max } else { $count=$falsecnt+1; }      if ( $max>0 && ($falsecnt+1)>$max) { $count=$max } else { $count=$falsecnt+1; $max=$count; }
     my $answer=int(&Math::Random::random_uniform() * ($count));      my $answer=int(&Math::Random::random_uniform() * ($count));
     &Apache::lonxml::debug("Count is $count, $answer is $answer");      &Apache::lonxml::debug("Count is $count, $answer is $answer");
     my @names;      my @names;
Line 484  sub displayfoils { Line 487  sub displayfoils {
                 $result.= '<label>';                  $result.= '<label>';
  $result.="<input type=\"radio\" name=\"HWVAL_$Apache::inputtags::response['-1']\" value=\"$temp\" ";   $result.="<input 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'}."</label>";   $result .= ' />'.$Apache::response::foilgroup{$name.'.text'}."</label>";
     } else {      } else {
  if ($Apache::lonhomework::type eq 'exam') {   if ($Apache::lonhomework::type eq 'exam') {
     $result .= '{\small \textbf{'.$alphabet[$i].'}}$\bigcirc$'.$Apache::response::foilgroup{$name.'.text'}.'\\\\';  #' stupid emacs      $result .= '{\small \textbf{'.$alphabet[$i].'}}$\bigcirc$'.$Apache::response::foilgroup{$name.'.text'}.'\\\\';  #' stupid emacs
Line 507  sub displayfoils { Line 510  sub displayfoils {
 }  }
   
 sub displayallanswers {  sub displayallanswers {
     my @names = @{ $Apache::response::foilgroup{'names'} };      my @names;
       if ( $Apache::response::foilgroup{'names'} ) {
    @names= @{ $Apache::response::foilgroup{'names'} };
       }
       
     my $result=&Apache::response::answer_header('radiobuttonresponse');      my $result=&Apache::response::answer_header('radiobuttonresponse');
     foreach my $name (@names) {      foreach my $name (@names) {
Line 522  sub displayanswers { Line 528  sub displayanswers {
     my ($max,$randomize)=@_;      my ($max,$randomize)=@_;
     my ($answer,@whichopt) = &whichfoils($max,$randomize);      my ($answer,@whichopt) = &whichfoils($max,$randomize);
     my $result=&Apache::response::answer_header('radiobuttonresponse');      my $result=&Apache::response::answer_header('radiobuttonresponse');
       if ($Apache::lonhomework::type eq 'exam') {
    my $correct = ('A'..'Z')[$answer];
    $result.=&Apache::response::answer_part('radiobuttonresponse',
    $correct);
       }
     foreach my $name (@whichopt) {      foreach my $name (@whichopt) {
  $result.=&Apache::response::answer_part('radiobuttonresponse',   $result.=&Apache::response::answer_part('radiobuttonresponse',
  $Apache::response::foilgroup{$name.'.value'})   $Apache::response::foilgroup{$name.'.value'});
  }      }
     $result.=&Apache::response::answer_footer('radiobuttonresponse');      $result.=&Apache::response::answer_footer('radiobuttonresponse');
     return $result;      return $result;
 }  }

Removed from v.1.103  
changed lines
  Added in v.1.109


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