Diff for /loncom/homework/optionresponse.pm between versions 1.69 and 1.74

version 1.69, 2003/03/26 18:42:29 version 1.74, 2003/04/07 22:28:08
Line 31  package Apache::optionresponse; Line 31  package Apache::optionresponse;
 use strict;  use strict;
 use Apache::response;  use Apache::response;
   
 my $flag_for_exam_printing = 1;  
   
 BEGIN {  BEGIN {
   &Apache::lonxml::register('Apache::optionresponse',('optionresponse'));    &Apache::lonxml::register('Apache::optionresponse',('optionresponse'));
 }  }
Line 187  sub end_foilgroup { Line 185  sub end_foilgroup {
  my $wrong=0;   my $wrong=0;
  my $ignored=0;   my $ignored=0;
  foreach $name (@whichopt) {   foreach $name (@whichopt) {
   my $response = $ENV{'form.HWVAL_'.$Apache::inputtags::response['-1'].":$temp"};    my $response=&Apache::response::getresponse($temp);
     if ($ENV{'form.submitted'} eq 'scantron') {
         $response = $opt[$response];
     }
   $responsehash{$name}=$response;    $responsehash{$name}=$response;
   if ( $response =~ /[^\s]/) {    if ( $response =~ /[^\s]/) {
     my $value=$Apache::response::foilgroup{$name.'.value'};      my $value=$Apache::response::foilgroup{$name.'.value'};
Line 229  sub end_foilgroup { Line 230  sub end_foilgroup {
  &Apache::response::handle_previous(\%previous,$ad);   &Apache::response::handle_previous(\%previous,$ad);
       }        }
     }      }
       &Apache::lonxml::increment_counter(&getfoilcounts($max));
   } elsif ($target eq 'edit') {    } elsif ($target eq 'edit') {
     $result.=&Apache::edit::end_table();      $result.=&Apache::edit::end_table();
   }      }
   if ($target eq 'tex' and $Apache::lonhomework::type ne 'exam') {$result .= '\end{enumerate}';}    if ($target eq 'tex' and $Apache::lonhomework::type ne 'exam') {
         $result .= '\end{enumerate}';
     }
   return $result;    return $result;
 }  }
   
Line 318  sub displayfoils { Line 322  sub displayfoils {
   my $result;    my $result;
   my $name;    my $name;
   my $displayoptionintex=0;    my $displayoptionintex=0;
   my @alphabet = ('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P',    my @alphabet = ('A'..'Z');
   'Q','R','S','T','U','V','W','X','Y','Z');  
   my @whichopt = &whichfoils($max,$randomize);    my @whichopt = &whichfoils($max,$randomize);
   my $part=$Apache::inputtags::part;    my $part=$Apache::inputtags::part;
   my $id=$Apache::inputtags::response[-1];    my $id=$Apache::inputtags::response[-1];
Line 385  sub displayfoils { Line 388  sub displayfoils {
  }   }
       }        }
       if ($target ne 'tex') {        if ($target ne 'tex') {
   $optionlist='<select name="HWVAL_'.    if ($Apache::lonhomework::type ne 'exam') {
       $optionlist='<select name="HWVAL_'.
       $Apache::inputtags::response['-1'].':'.$temp.'">'.        $Apache::inputtags::response['-1'].':'.$temp.'">'.
   $optionlist."</select>\n";    $optionlist."</select>\n";
     }
   my $text=$Apache::response::foilgroup{$name.'.text'};    my $text=$Apache::response::foilgroup{$name.'.text'};
   if (!($text=~s|<drawoptionlist\s*/>|$optionlist|)) {    if (!($text=~s|<drawoptionlist\s*/>|$optionlist|) && $Apache::lonhomework::type ne 'exam') {
       $text=$optionlist.$text;        $text=$optionlist.$text;
   }    }
   $result.=$break.$text."\n";    $result.=$break.$text."\n";
   if ($Apache::lonhomework::type eq 'exam') {    if ($Apache::lonhomework::type eq 'exam') {
     $result.=&webbubbles(\@opt,\@alphabet);      $result.=&webbubbles(\@opt,\@alphabet,$temp);
   }    }
   $temp++;    $temp++;
       } else {        } else {
Line 469  sub optionlist_correction { Line 474  sub optionlist_correction {
   
 sub webbubbles {  sub webbubbles {
   
     my ($ropt,$ralphabet)=@_;      my ($ropt,$ralphabet,$temp)=@_;
     my @opt=@$ropt;       my @opt=@$ropt; 
     my @alphabet=@$ralphabet;      my @alphabet=@$ralphabet;
     my $result='';      my $result='';
  my $number_of_bubbles = $#opt + 1;   my $number_of_bubbles = $#opt + 1;
  $result.= '<table border="1"><tr>';   $result.= '<table border="1"><tr>';
  for (my $ind=0;$ind<$number_of_bubbles;$ind++) {   for (my $ind=0;$ind<$number_of_bubbles;$ind++) {
    $result.='<td>'.$alphabet[$ind].': '.$opt[$ind].'</td>';     $result.='<td><input type="radio" name="HWVAL_'.$Apache::inputtags::response['-1'].':'.$temp.
                       '" value='.$opt[$ind].'>'.$alphabet[$ind].': '.$opt[$ind].'</td>';
  }   }
  $result.='</tr></table>';   $result.='</tr></table>';
  return $result;   return $result;
Line 505  sub bubbles { Line 511  sub bubbles {
  }   }
   
     }      }
     &Apache::lonxml::increment_counter();  
     return $result;      return $result;
 }  }
   
Line 633  sub end_foil { Line 638  sub end_foil {
    && !&Apache::response::showallfoils() ) {     && !&Apache::response::showallfoils() ) {
  push @{ $Apache::response::conceptgroup{'names'} }, $name;   push @{ $Apache::response::conceptgroup{'names'} }, $name;
  $Apache::response::conceptgroup{"$name.value"} = $value;   $Apache::response::conceptgroup{"$name.value"} = $value;
  if ($target eq 'tex' and $Apache::lonhomework::type eq 'exam' and $flag_for_exam_printing) {   if ($target eq 'tex' and $Apache::lonhomework::type eq 'exam') {
     $Apache::response::conceptgroup{"$name.text"} = '\vskip 4 mm $\triangleright$ '.$text;      $Apache::response::conceptgroup{"$name.text"} = '\vskip 4 mm $\triangleright$ '.$text;
  } else {   } else {
     if ($target eq 'tex') {      if ($target eq 'tex' and $Apache::lonhomework::type eq 'exam') {
  $Apache::response::conceptgroup{"$name.text"} = ' $\triangleright$ '.$text;   $Apache::response::conceptgroup{"$name.text"} = ' $\triangleright$ '.$text;
     } else {      } else {
  $Apache::response::conceptgroup{"$name.text"} = $text;   $Apache::response::conceptgroup{"$name.text"} = $text;
Line 646  sub end_foil { Line 651  sub end_foil {
       } else {        } else {
  push @{ $Apache::response::foilgroup{'names'} }, $name;   push @{ $Apache::response::foilgroup{'names'} }, $name;
  $Apache::response::foilgroup{"$name.value"} = $value;   $Apache::response::foilgroup{"$name.value"} = $value;
  if ($Apache::lonhomework::type eq 'exam' and $flag_for_exam_printing) {   if ($Apache::lonhomework::type eq 'exam') {
     $Apache::response::foilgroup{"$name.text"} = '\vskip 5 mm $\triangleright$ '.$text;      $Apache::response::foilgroup{"$name.text"} = '\vskip 5 mm $\triangleright$ '.$text;
  } else {   } else {
     if ($target eq 'tex') {      if ($target eq 'tex' and $Apache::lonhomework::type eq 'exam') {
  $Apache::response::foilgroup{"$name.text"} = ' $\triangleright$ '.$text;   $Apache::response::foilgroup{"$name.text"} = ' $\triangleright$ '.$text;
     } else {      } else {
  $Apache::response::foilgroup{"$name.text"} = $text;   $Apache::response::foilgroup{"$name.text"} = $text;

Removed from v.1.69  
changed lines
  Added in v.1.74


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