Diff for /loncom/homework/grades.pm between versions 1.447 and 1.448

version 1.447, 2007/10/09 09:16:04 version 1.448, 2007/10/09 10:31:21
Line 56  my %first_bubble_line = (); # First bubb Line 56  my %first_bubble_line = (); # First bubb
   
   
 sub save_bubble_lines {  sub save_bubble_lines {
       &Apache::lonnet::logthis("Saving bubble_lines...");
     foreach my $line (keys(%bubble_lines_per_response)) {      foreach my $line (keys(%bubble_lines_per_response)) {
    &Apache::lonnet::logthis("Saving form.scantron.bubblelines.$line value: $bubble_lines_per_response{$line}");
  $env{"form.scantron.bubblelines.$line"}  = $bubble_lines_per_response{$line};   $env{"form.scantron.bubblelines.$line"}  = $bubble_lines_per_response{$line};
  $env{"form.scantron.first_bubble_line.$line"} =   $env{"form.scantron.first_bubble_line.$line"} =
     $first_bubble_line{$line};      $first_bubble_line{$line};
Line 70  sub restore_bubble_lines { Line 71  sub restore_bubble_lines {
     %bubble_lines_per_response = ();      %bubble_lines_per_response = ();
     while ($env{"form.scantron.bubblelines.$line"}) {      while ($env{"form.scantron.bubblelines.$line"}) {
  my $value = $env{"form.scantron.bubblelines.$line"};   my $value = $env{"form.scantron.bubblelines.$line"};
    &Apache::lonnet::logthis("Restoring form.scantron.bubblelines.$line value: $value");
  $bubble_lines_per_response{$line} = $value;   $bubble_lines_per_response{$line} = $value;
  $first_bubble_line{$line}  =   $first_bubble_line{$line}  =
     $env{"form.scantron.first_bubble_line.$line"};      $env{"form.scantron.first_bubble_line.$line"};
Line 85  sub get_response_bubbles { Line 87  sub get_response_bubbles {
     my ($parsed_line, $response)  = @_;      my ($parsed_line, $response)  = @_;
   
     my $bubble_line = $first_bubble_line{$response};      my $bubble_line = $first_bubble_line{$response};
     my $bubble_lines= $bubble_linse_per_response{$response};      my $bubble_lines= $bubble_lines_per_response{$response};
     my $selected = "";      my $selected = "";
   
     for (my $bline = 0; $bline < $bubble_lines; $bline++) {      for (my $bline = 0; $bline < $bubble_lines; $bline++) {
Line 5714  SCANTRONFORM Line 5716  SCANTRONFORM
   
   my $line = 0;    my $line = 0;
     while (defined($env{"form.scantron.bubblelines.$line"})) {      while (defined($env{"form.scantron.bubblelines.$line"})) {
    &Apache::lonnet::logthis("Saving chunk for $line");
        my $chunk =         my $chunk =
    '<input type="hidden" name="scantron.bubblelines.'.$line.'" value="'.$env{"form.scantron.bubblelines.$line"}.'" />'."\n";     '<input type="hidden" name="scantron.bubblelines.'.$line.'" value="'.$env{"form.scantron.bubblelines.$line"}.'" />'."\n";
        $chunk +=         $chunk .=
    '<input type="hidden" name="scantron.first_bubble_line.'.$line'." value="'.$env{"form.scantron.first_bubble_line.$line"}.'" />'."\n";     '<input type="hidden" name="scantron.first_bubble_line.'.$line.'" value="'.$env{"form.scantron.first_bubble_line.$line"}.'" />'."\n";
        $result .= $chunk;         $result .= $chunk;
        $line++;         $line++;
    }     }
Line 5779  sub scantron_validate_file { Line 5782  sub scantron_validate_file {
     }      }
     my $currentphase=$env{'form.validatepass'};      my $currentphase=$env{'form.validatepass'};
   
       &Apache::lonnet::logthis("Phase: $currentphase");
   
     my $stop=0;      my $stop=0;
     while (!$stop && $currentphase < scalar(@validate_phases)) {      while (!$stop && $currentphase < scalar(@validate_phases)) {
  $r->print("<p> Validating ".$validate_phases[$currentphase]."</p>");   $r->print("<p> Validating ".$validate_phases[$currentphase]."</p>");
Line 6401  ENDSCRIPT Line 6406  ENDSCRIPT
  $r->print('<input type="hidden" name="scantron_questions" value="'.   $r->print('<input type="hidden" name="scantron_questions" value="'.
   join(',',@{$arg}).'" />');    join(',',@{$arg}).'" />');
  foreach my $question (@{$arg}) {   foreach my $question (@{$arg}) {
     my $selected = &get_response_bubbles($scan_record, $quesion);      my $selected = &get_response_bubbles($scan_record, $question);
     &scantron_bubble_selector($r,$scan_config,$question);      &scantron_bubble_selector($r,$scan_config,$question);
  }   }
     } else {      } else {
Line 6435  sub scantron_bubble_selector { Line 6440  sub scantron_bubble_selector {
   
     if ($scmode eq 'number' || $scmode eq 'letter') { $max=10; }           if ($scmode eq 'number' || $scmode eq 'letter') { $max=10; }     
   
       my $response = $quest-1;
     my $lines = $bubble_lines_per_response{$quest};      my $lines = $bubble_lines_per_response{$response};
       &Apache::lonnet::logthis("Question $quest, lines: $lines");
   
     my $total_lines = $lines*2;      my $total_lines = $lines*2;
     my @alphabet=('A'..'Z');      my @alphabet=('A'..'Z');
Line 6700  sub scantron_validate_doublebubble { Line 6706  sub scantron_validate_doublebubble {
 =cut  =cut
   
 sub scantron_get_maxbubble {      sub scantron_get_maxbubble {    
       &Apache::lonnet::logthis("get_max_bubble");
     if (defined($env{'form.scantron_maxbubble'}) &&      if (defined($env{'form.scantron_maxbubble'}) &&
  $env{'form.scantron_maxbubble'}) {   $env{'form.scantron_maxbubble'}) {
    &Apache::lonnet::logthis("cached");
  &restore_bubble_lines();   &restore_bubble_lines();
  return $env{'form.scantron_maxbubble'};   return $env{'form.scantron_maxbubble'};
     }      }
       &Apache::lonnet::logthis("computing");
   
     my (undef, undef, $sequence) =      my (undef, undef, $sequence) =
  &Apache::lonnet::decode_symb($env{'form.selectpage'});   &Apache::lonnet::decode_symb($env{'form.selectpage'});

Removed from v.1.447  
changed lines
  Added in v.1.448


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