version 1.554, 2009/03/06 16:13:29
|
version 1.556, 2009/03/09 01:58:48
|
Line 268 sub reset_caches {
|
Line 268 sub reset_caches {
|
sub get_radiobutton_correct_foil { |
sub get_radiobutton_correct_foil { |
my ($partid,$respid,$symb,$uname,$udom)=@_; |
my ($partid,$respid,$symb,$uname,$udom)=@_; |
my $analyze = &get_analyze($symb,$uname,$udom); |
my $analyze = &get_analyze($symb,$uname,$udom); |
foreach my $foil (@{&get_order($partid,$respid,$symb,$uname,$udom)}) { |
my $foils = &get_order($partid,$respid,$symb,$uname,$udom); |
if ($analyze->{"$partid.$respid.foil.value.$foil"} eq 'true') { |
if (ref($foils) eq 'ARRAY') { |
return $foil; |
foreach my $foil (@{$foils}) { |
|
if ($analyze->{"$partid.$respid.foil.value.$foil"} eq 'true') { |
|
return $foil; |
|
} |
} |
} |
} |
} |
} |
} |
Line 2127 KEYWORDS
|
Line 2130 KEYWORDS
|
} |
} |
$lastsubonly.='<b>'.&mt('Submitted Answer:').' </b>'. |
$lastsubonly.='<b>'.&mt('Submitted Answer:').' </b>'. |
&cleanRecord($subval,$responsetype,$symb,$partid, |
&cleanRecord($subval,$responsetype,$symb,$partid, |
$respid,\%record,$order); |
$respid,\%record,$order,undef,$uname,$udom); |
if ($similar) {$lastsubonly.="<br /><br />$similar\n";} |
if ($similar) {$lastsubonly.="<br /><br />$similar\n";} |
$lastsubonly.='</div>'; |
$lastsubonly.='</div>'; |
} |
} |
Line 3764 ENDPICK
|
Line 3767 ENDPICK
|
sub csvupload_fields { |
sub csvupload_fields { |
my ($symb) = @_; |
my ($symb) = @_; |
my (@parts) = &getpartlist($symb); |
my (@parts) = &getpartlist($symb); |
my @fields=(['ID','Student ID'], |
my @fields=(['ID','Student/Employee ID'], |
['username','Student Username'], |
['username','Student Username'], |
['domain','Student Domain']); |
['domain','Student Domain']); |
my (undef,undef,$url) = &Apache::lonnet::decode_symb($symb); |
my (undef,undef,$url) = &Apache::lonnet::decode_symb($symb); |
Line 4677 Next each scanline is checked for any er
|
Line 4680 Next each scanline is checked for any er
|
bubbles' (it's an error because it may have been mis-scanned |
bubbles' (it's an error because it may have been mis-scanned |
because too light bubbling), 'double bubble' (each bubble line should |
because too light bubbling), 'double bubble' (each bubble line should |
have no more that one letter picked), invalid or duplicated CODE, |
have no more that one letter picked), invalid or duplicated CODE, |
invalid student ID |
invalid student/employee ID |
|
|
If the CODE option is used that determines the randomization of the |
If the CODE option is used that determines the randomization of the |
homework problems, either way the student ID is looked up into a |
homework problems, either way the student/employee ID is looked up into a |
username:domain. |
username:domain. |
|
|
During the validation phase the instructor can choose to skip scanlines. |
During the validation phase the instructor can choose to skip scanlines. |
Line 5197 sub scantron_selectphase {
|
Line 5200 sub scantron_selectphase {
|
CODEstart - (only matter if a CODE exists) column in the line where |
CODEstart - (only matter if a CODE exists) column in the line where |
the CODE starts |
the CODE starts |
CODElength - length of the CODE |
CODElength - length of the CODE |
IDstart - column where the student ID number starts |
IDstart - column where the student/employee ID number starts |
IDlength - length of the student ID info |
IDlength - length of the student/employee ID info |
Qstart - column where the information from the bubbled |
Qstart - column where the information from the bubbled |
'questions' start |
'questions' start |
Qlength - number of columns comprising a single bubble line from |
Qlength - number of columns comprising a single bubble line from |
Line 5258 sub get_scantron_config {
|
Line 5261 sub get_scantron_config {
|
|
|
=item username_to_idmap |
=item username_to_idmap |
|
|
creates a hash keyed by student id with values of the corresponding |
creates a hash keyed by student/employee ID with values of the corresponding |
student username:domain. |
student username:domain. |
|
|
Arguments: |
Arguments: |
Line 5297 sub username_to_idmap {
|
Line 5300 sub username_to_idmap {
|
$whichline - line number of the passed in scanline |
$whichline - line number of the passed in scanline |
$field - type of change to process |
$field - type of change to process |
(either |
(either |
'ID' -> correct the student ID number |
'ID' -> correct the student/employee ID number |
'CODE' -> correct the CODE |
'CODE' -> correct the CODE |
'answer' -> fixup the submitted answers) |
'answer' -> fixup the submitted answers) |
|
|
Line 5471 sub digits_to_letters {
|
Line 5474 sub digits_to_letters {
|
CODE_ignore_dup - 1 if the CODE is a duplicated use when unique |
CODE_ignore_dup - 1 if the CODE is a duplicated use when unique |
CODEs were selected, but the usage has been |
CODEs were selected, but the usage has been |
forced by the operator |
forced by the operator |
ID - student ID |
ID - student/employee ID |
PaperID - if used, the ID number printed on the sheet when the |
PaperID - if used, the ID number printed on the sheet when the |
paper was scanned |
paper was scanned |
FirstName - first name from the sheet |
FirstName - first name from the sheet |
Line 9174 ssi_with_retries()
|
Line 9177 ssi_with_retries()
|
=item scantron_validate_ID() : |
=item scantron_validate_ID() : |
|
|
Validates all scanlines in the selected file to not have any |
Validates all scanlines in the selected file to not have any |
invalid or underspecified student IDs |
invalid or underspecified student/employee IDs |
|
|
=back |
=back |
|
|