Diff for /loncom/homework/radiobuttonresponse.pm between versions 1.115 and 1.119

version 1.115, 2007/05/17 10:01:44 version 1.119, 2007/06/20 22:50:27
Line 33  use Apache::lonlocal; Line 33  use Apache::lonlocal;
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::response;  use Apache::response;
   
   my $bubbles_per_line = 10;
   
 BEGIN {  BEGIN {
     &Apache::lonxml::register('Apache::radiobuttonresponse',('radiobuttonresponse'));      &Apache::lonxml::register('Apache::radiobuttonresponse',('radiobuttonresponse'));
 }  }
Line 40  BEGIN { Line 42  BEGIN {
 sub start_radiobuttonresponse {  sub start_radiobuttonresponse {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     my $result;      my $result;
     #----- test/debugging to figure out some crap  
   
     my $partid = $Apache::inputtags::part;  
     &Apache::lonnet::logthis("Part id = $partid");  
     my $bubble_max = &Apache::response::get_response_param($partid, 'numbubbles', 10);  
     &Apache::lonnet::logthis("numbubbles [10] = $bubble_max");  
   
     #----- End test/debugging  
     #when in a radiobutton response use these      #when in a radiobutton response use these
     &Apache::lonxml::register('Apache::radiobuttonresponse',('foilgroup','foil','conceptgroup'));      &Apache::lonxml::register('Apache::radiobuttonresponse',('foilgroup','foil','conceptgroup'));
     push (@Apache::lonxml::namespace,'radiobuttonresponse');      push (@Apache::lonxml::namespace,'radiobuttonresponse');
Line 151  sub grade_response { Line 146  sub grade_response {
     my ($answer,@whichfoils)=&whichfoils($max,$randomize);      my ($answer,@whichfoils)=&whichfoils($max,$randomize);
     if ( !&Apache::response::submitted() ) { return; }      if ( !&Apache::response::submitted() ) { return; }
     my $response;      my $response;
       
       # Need to know how many foils we have so that I know how many
       # bubble lines to consume:
       
       my $numfoils = scalar(@whichfoils);
       my $bubble_lines = int($numfoils / $bubbles_per_line);
       if (($numfoils % $bubbles_per_line) != 0) {
    $bubble_lines++; # Partial line of bubbles too.
       }
       
       
     if ($env{'form.submitted'} eq 'scantron') {      if ($env{'form.submitted'} eq 'scantron') {
  $response=&Apache::response::getresponse();   $response = &Apache::response::getresponse(1,undef,$bubble_lines,
    $bubbles_per_line);
   
     } else {      } else {
  $response = $env{'form.HWVAL_'.$Apache::inputtags::response['-1']};   $response = $env{'form.HWVAL_'.$Apache::inputtags::response['-1']};
     }      }
       &Apache::lonxml::increment_counter($bubble_lines-1);
   
     if ( $response !~ /[0-9]+/) { return; }      if ( $response !~ /[0-9]+/) { return; }
     my $part=$Apache::inputtags::part;      my $part=$Apache::inputtags::part;
     my $id = $Apache::inputtags::response['-1'];      my $id = $Apache::inputtags::response['-1'];
Line 518  sub displayfoils { Line 528  sub displayfoils {
     } else {      } else {
  my @alphabet = ('A'..'Z');   my @alphabet = ('A'..'Z');
  my $i = 0;   my $i = 0;
    my $bubble_number = 0;
  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 547  sub displayfoils { Line 558  sub displayfoils {
  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
     $i++;      $i++;
       $bubble_number++;
       if($bubble_number >= $bubbles_per_line) {
    $i = 0;
    $bubble_number = 0;
    &Apache::lonxml::increment_counter(1);
    $result.='\item[\textbf{'.$Apache::lonxml::counter.'}.]';
       }
  } else {   } else {
     $result .= '\vspace*{-2 mm}\item '.$Apache::response::foilgroup{$name.'.text'};      $result .= '\vspace*{-2 mm}\item '.$Apache::response::foilgroup{$name.'.text'};
  }   }

Removed from v.1.115  
changed lines
  Added in v.1.119


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