Diff for /loncom/homework/rankresponse.pm between versions 1.3 and 1.8

version 1.3, 2003/03/17 20:08:21 version 1.8, 2003/03/25 22:15:04
Line 2 Line 2
 # rank style response  # rank style response
 #  #
 # $Id$  # $Id$
 #  
 # Copyright Michigan State University Board of Trustees  # Copyright Michigan State University Board of Trustees
 #  #
 # This file is part of the LearningOnline Network with CAPA (LON-CAPA).  # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
Line 30 Line 29
 package Apache::rankresponse;  package Apache::rankresponse;
 use strict;  use strict;
 use HTML::Entities();  use HTML::Entities();
   use Apache::optionresponse;
   
 BEGIN {  BEGIN {
     &Apache::lonxml::register('Apache::rankresponse',('rankresponse'));      &Apache::lonxml::register('Apache::rankresponse',('rankresponse'));
Line 231  sub grade_response { Line 231  sub grade_response {
 sub displayfoils {  sub displayfoils {
     my ($target,$max,$randomize,$tol)=@_;      my ($target,$max,$randomize,$tol)=@_;
     my $result;      my $result;
       my @alphabet=('A'..'Z');
     my (@whichfoils)=&whichfoils($max,$randomize);      my (@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"};
Line 249  sub displayfoils { Line 250  sub displayfoils {
  my $id=$Apache::inputtags::response[-1];   my $id=$Apache::inputtags::response[-1];
  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); 
  my $localcount = 1;   my @alp = splice @alphabet, 0, $#whichopt + 1;
  foreach my $name (@whichfoils) {   foreach my $name (@whichfoils) {
     my $lastopt=$lastresponse{$name};      my $lastopt=$lastresponse{$name};
     my $optionlist='';      my $optionlist='';
Line 273  sub displayfoils { Line 274  sub displayfoils {
     my $text=$Apache::response::foilgroup{$name.'.text'};      my $text=$Apache::response::foilgroup{$name.'.text'};
     if ($target ne 'tex') {      if ($target ne 'tex') {
  $result.='<br />'.$optionlist.$text."\n";   $result.='<br />'.$optionlist.$text."\n";
     } else {$result.=' \\\\ '.$localcount.'. '.$text."\n"; $localcount++;}   if ($Apache::lonhomework::type eq 'exam') {
       $result.=&Apache::optionresponse::webbubbles(\@alp,\@whichopt);
    }
       } else {
    if ($Apache::lonhomework::type eq 'exam') {
       $result.='\vskip 0 mm   '.$text."\n";
       $result.='\vskip -1 mm\begin{enumerate}\item[\textbf{'.$Apache::lonxml::counter.'}.]\parbox{\textwidth - 5 mm}{'.&Apache::optionresponse::bubbles(\@alp,\@whichopt).'}\end{enumerate} \vskip -5 mm \strut ';
    } else {
       $result.=' \\\\ \framebox[5 mm][s]{\tiny\strut} '.$text."\n";
    }
       }
     $temp++;      $temp++;
  }   }
     }      }
     if ($target ne 'tex') {$result.="<br />";} else {$result.=' \\\\ ';}      if ($target ne 'tex') {$result.="<br />";} else {$result.=' \vskip 0 mm ';}
     return $result;      return $result;
 }  }
   
Line 364  sub end_conceptgroup { Line 375  sub end_conceptgroup {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     $Apache::rankresponse::conceptgroup=0;      $Apache::rankresponse::conceptgroup=0;
     my $result='';      my $result='';
     if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ) {      if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' || $target eq 'tex') {
  #if not there aren't any foils to display and thus no question   #if not there aren't any foils to display and thus no question
  if (defined(@{ $Apache::response::conceptgroup{'names'} })) {   if (defined(@{ $Apache::response::conceptgroup{'names'} })) {
     my @names = @{ $Apache::response::conceptgroup{'names'} };      my @names = @{ $Apache::response::conceptgroup{'names'} };
Line 381  sub end_conceptgroup { Line 392  sub end_conceptgroup {
      $safeeval);       $safeeval);
     $Apache::response::foilgroup{"$name.concept"} = $concept;      $Apache::response::foilgroup{"$name.concept"} = $concept;
     &Apache::lonxml::debug("Selecting $name in $concept");      &Apache::lonxml::debug("Selecting $name in $concept");
     if ($target eq 'web') {      if ($target eq 'web' || $target eq 'tex') {
  my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]";   my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]";
  push(@{ $Apache::hint::rank{"$part_id.concepts"} },   push(@{ $Apache::hint::rank{"$part_id.concepts"} },
      $concept);       $concept);

Removed from v.1.3  
changed lines
  Added in v.1.8


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