Diff for /loncom/homework/radiobuttonresponse.pm between versions 1.87 and 1.91

version 1.87, 2004/03/31 05:23:59 version 1.91, 2004/08/26 22:08:30
Line 77  sub start_radiobuttonresponse { Line 77  sub start_radiobuttonresponse {
     $result .= ' \renewcommand{\labelenumi}{\alph{enumi}.}';      $result .= ' \renewcommand{\labelenumi}{\alph{enumi}.}';
  } elsif ($type eq 'i') {   } elsif ($type eq 'i') {
     $result .= ' \renewcommand{\labelenumi}{\roman{enumi}.}';      $result .= ' \renewcommand{\labelenumi}{\roman{enumi}.}';
    } else {
       $result .= ' \renewcommand{\labelenumi}{\Alph{enumi}.}';
  }   }
  $result .= '\begin{enumerate}';   $result .= '\begin{enumerate}';
     } elsif ($target eq 'analyze') {      } elsif ($target eq 'analyze') {
Line 104  sub start_foilgroup { Line 106  sub start_foilgroup {
     my $result;      my $result;
     %Apache::response::foilgroup=();      %Apache::response::foilgroup=();
     $Apache::radiobuttonresponse::conceptgroup=0;      $Apache::radiobuttonresponse::conceptgroup=0;
     &Apache::response::setrandomnumber();      &Apache::response::pushrandomnumber();
     if ($target eq 'tex' && $Apache::lonhomework::type eq 'exam') {      if ($target eq 'tex' && $Apache::lonhomework::type eq 'exam') {
  $result.='\item[\textbf{'.$Apache::lonxml::counter.'}.]';   $result.='\item[\textbf{'.$Apache::lonxml::counter.'}.]';
     }      }
Line 179  sub end_foilgroup { Line 181  sub end_foilgroup {
  '-2');   '-2');
     my $randomize = &Apache::lonxml::get_param('randomize',$parstack,      my $randomize = &Apache::lonxml::get_param('randomize',$parstack,
        $safeeval,'-2');         $safeeval,'-2');
       my $direction = &Apache::lonxml::get_param('direction',$parstack,
          $safeeval,'-2');
       &Apache::lonxml::debug("direction is $direction");
     if ($target eq 'web' || $target eq 'tex') {      if ($target eq 'web' || $target eq 'tex') {
  $result=&displayfoils($target,$max,$randomize);   $result=&displayfoils($target,$max,$randomize,$direction);
     } 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 195  sub end_foilgroup { Line 200  sub end_foilgroup {
     }      }
  }   }
     }      }
       &Apache::response::poprandomnumber();
     &Apache::lonxml::increment_counter();      &Apache::lonxml::increment_counter();
     return $result;      return $result;
 }  }
Line 245  sub displayallfoils { Line 251  sub displayallfoils {
     if ($Apache::response::foilgroup{$name.'.value'} ne 'unused') {      if ($Apache::response::foilgroup{$name.'.value'} ne 'unused') {
  $result.="<br /><input type=\"radio\" name=\"HWVAL_$Apache::inputtags::response['-1']\" value=\"$temp\" ";   $result.="<br /><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'}."</input>\n";   $result .= '>'.$Apache::response::foilgroup{$name.'.text'}."</input>";
  $temp++;   $temp++;
     }      }
  }   }
Line 387  sub whichfoils { Line 393  sub whichfoils {
 }  }
   
 sub displayfoils {  sub displayfoils {
     my ($target,$max,$randomize)=@_;      my ($target,$max,$randomize,$direction)=@_;
     my $result;      my $result;
   
     my ($answer,@whichfoils)=&whichfoils($max,$randomize);      my ($answer,@whichfoils)=&whichfoils($max,$randomize);
Line 395  sub displayfoils { Line 401  sub displayfoils {
     my $solved=$Apache::lonhomework::history{"resource.$part.solved"};      my $solved=$Apache::lonhomework::history{"resource.$part.solved"};
     if ( ($target ne 'tex') &&      if ( ($target ne 'tex') &&
  &Apache::response::show_answer() ) {   &Apache::response::show_answer() ) {
    if ($direction eq 'horizontal') {
       if ($target ne 'tex') {
    $result.='<table><tr>';
       }
    }
  foreach my $name (@whichfoils) {   foreach my $name (@whichfoils) {
       if ($direction eq 'horizontal') {
    if ($target ne 'tex') { $result.='<td>'; }
       }
     if ($target ne 'tex') {      if ($target ne 'tex') {
  $result.="<br />";   $result.="<br />";
     } else {      } else {
Line 406  sub displayfoils { Line 420  sub displayfoils {
     } else {      } else {
  $result.='Incorrect:';   $result.='Incorrect:';
     }      }
     if ($target ne 'tex') {      $result.=$Apache::response::foilgroup{$name.'.text'};
  $result.=$Apache::response::foilgroup{$name.'.text'}."</input>\n";      if ($target eq 'web') { $result.="</input>"; }
     } else {  
  $result.=$Apache::response::foilgroup{$name.'.text'};  
     }  
     if ($Apache::response::foilgroup{$name.'.value'} eq 'true') {      if ($Apache::response::foilgroup{$name.'.value'} eq 'true') {
  if ($target ne 'tex') { $result.='</b>';} else {$result.='}';}   if ($target ne 'tex') { $result.='</b>';} else {$result.='}';}
     }      }
       if ($direction eq 'horizontal') {
    if ($target ne 'tex') { $result.='</td>'; }
       }
    }
    if ($direction eq 'horizontal') {
       if ($target ne 'tex') {
    $result.='</tr></table>';
       }
  }   }
     } else {      } else {
  my @alphabet = ('A'..'Z');   my @alphabet = ('A'..'Z');
Line 423  sub displayfoils { Line 442  sub displayfoils {
  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 ($target ne 'tex' && $direction eq 'horizontal') {
       $result.="<table><tr>";
    }
  foreach my $name (@whichfoils) {   foreach my $name (@whichfoils) {
     if ($target ne 'tex') {      if ($target ne 'tex') {
  $result.="<br /><input type=\"radio\" name=\"HWVAL_$Apache::inputtags::response['-1']\" value=\"$temp\" ";   if ($direction eq 'horizontal') {
       $result.="<td>"; 
    } else { 
       $result.="<br />";
    } 
       }
       if ($target ne 'tex') { 
    $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'}."</input>\n";   $result .= '>'.$Apache::response::foilgroup{$name.'.text'}."</input>";
     } 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 436  sub displayfoils { Line 465  sub displayfoils {
     $result .= '\vspace*{-2 mm}\item '.$Apache::response::foilgroup{$name.'.text'};      $result .= '\vspace*{-2 mm}\item '.$Apache::response::foilgroup{$name.'.text'};
  }   }
     }      }
       if ($target ne 'tex' && $direction eq 'horizontal') {
    $result.="</td>"; 
       }
     $temp++;      $temp++;
  }   }
    if ($target ne 'tex' && $direction eq 'horizontal') {
       $result.="</tr></table>";
    }
     }      }
     if ($target ne 'tex') { $result.="<br />"; } else { $result.='\vskip 0 mm '; }      if ($target ne 'tex') { $result.="<br />"; } else { $result.='\vskip 0 mm '; }
     return $result;      return $result;

Removed from v.1.87  
changed lines
  Added in v.1.91


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