version 1.470, 2007/10/29 09:46:28
|
version 1.471, 2007/10/30 00:27:23
|
Line 5316 sub scantron_parse_scanline {
|
Line 5316 sub scantron_parse_scanline {
|
} elsif (!defined($currentquest) |
} elsif (!defined($currentquest) |
|| (&occurence_count($currentquest, $$scantron_config{'Qoff'}) == length($currentquest)) |
|| (&occurence_count($currentquest, $$scantron_config{'Qoff'}) == length($currentquest)) |
|| (&occurence_count($currentquest, "[A-Z]") == 0)) { |
|| (&occurence_count($currentquest, "[A-Z]") == 0)) { |
&Apache::lonnet::logthis("Missing if, $questnum, $ansnum"); |
|
for (my $ans = 0; $ans < $answers_needed; $ans++ ) { |
for (my $ans = 0; $ans < $answers_needed; $ans++ ) { |
$record{"scantron.$ansnum.answer"}=''; |
$record{"scantron.$ansnum.answer"}=''; |
$ansnum++; |
$ansnum++; |
|
|
} |
} |
if (!&scan_data($scan_data,"$whichline.no_bubble.$questnum")) { |
if (!&scan_data($scan_data,"$whichline.no_bubble.$questnum")) { |
&Apache::lonnet::logthis("Parsed missing: $questnum"); |
|
push(@{$record{"scantron.missingerror"}},$questnum); |
push(@{$record{"scantron.missingerror"}},$questnum); |
# $ansnum += $answers_needed; |
# $ansnum += $answers_needed; |
} |
} |
&Apache::lonnet::logthis("Residual scanline: '$questions'"); |
|
|
|
} else { |
} else { |
for (my $ans = 0; $ans < $answers_needed; $ans++) { |
for (my $ans = 0; $ans < $answers_needed; $ans++) { |
$record{"scantron.$ansnum.answer"} = substr($currentquest, $ans, 1); |
$record{"scantron.$ansnum.answer"} = substr($currentquest, $ans, 1); |
Line 6487 ENDSCRIPT
|
Line 6483 ENDSCRIPT
|
foreach my $question (@{$arg}) { |
foreach my $question (@{$arg}) { |
my $selected = &get_response_bubbles($scan_record, $question); |
my $selected = &get_response_bubbles($scan_record, $question); |
my @select_array = split(/:/,$selected); # ought to be an array of empties. |
my @select_array = split(/:/,$selected); # ought to be an array of empties. |
&Apache::lonnet::logthis("Calling bubble selector (missing)"); |
|
&scantron_bubble_selector($r,$scan_config,$question, @select_array); |
&scantron_bubble_selector($r,$scan_config,$question, @select_array); |
} |
} |
} else { |
} else { |
Line 6529 sub scantron_bubble_selector {
|
Line 6524 sub scantron_bubble_selector {
|
|
|
my $total_lines = $lines*2; |
my $total_lines = $lines*2; |
my @alphabet=('A'..'Z'); |
my @alphabet=('A'..'Z'); |
&Apache::lonnet::logthis("Putting in question number $quest"); |
|
$r->print("<table border='1'><tr><td rowspan='".$total_lines."'>$quest</td>"); |
$r->print("<table border='1'><tr><td rowspan='".$total_lines."'>$quest</td>"); |
|
|
for (my $l = 0; $l < $lines; $l++) { |
for (my $l = 0; $l < $lines; $l++) { |
Line 6885 sub scantron_validate_missingbubbles {
|
Line 6879 sub scantron_validate_missingbubbles {
|
|
|
foreach my $missing (@{$$scan_record{'scantron.missingerror'}}) { |
foreach my $missing (@{$$scan_record{'scantron.missingerror'}}) { |
if ($missing > $max_bubble) { next; } |
if ($missing > $max_bubble) { next; } |
&Apache::lonnet::logthis("Marking $missing for missing bubble check"); |
|
push(@to_correct,$missing); |
push(@to_correct,$missing); |
} |
} |
if (@to_correct) { |
if (@to_correct) { |