version 1.596.2.12.2.40.2.1, 2018/10/09 15:45:43
|
version 1.596.2.12.2.41.2.1, 2017/11/01 03:27:19
|
Line 44 use Apache::Constants qw(:common :http);
|
Line 44 use Apache::Constants qw(:common :http);
|
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::lonenc; |
use Apache::lonenc; |
use Apache::bridgetask(); |
use Apache::bridgetask(); |
use Apache::lontexconvert(); |
|
use String::Similarity; |
use String::Similarity; |
use LONCAPA; |
use LONCAPA; |
|
|
Line 355 sub reset_caches {
|
Line 354 sub reset_caches {
|
} |
} |
|
|
sub scantron_partids_tograde { |
sub scantron_partids_tograde { |
my ($resource,$cid,$uname,$udom,$check_for_randomlist,$bubbles_per_row) = @_; |
my ($resource,$cid,$uname,$udom,$check_for_randomlist,$bubbles_per_row,$scancode) = @_; |
my (%analysis,@parts); |
my (%analysis,@parts); |
if (ref($resource)) { |
if (ref($resource)) { |
my $symb = $resource->symb(); |
my $symb = $resource->symb(); |
Line 363 sub reset_caches {
|
Line 362 sub reset_caches {
|
if ($check_for_randomlist) { |
if ($check_for_randomlist) { |
$add_to_form = { 'check_parts_withrandomlist' => 1,}; |
$add_to_form = { 'check_parts_withrandomlist' => 1,}; |
} |
} |
|
if ($scancode) { |
|
if (ref($add_to_form) eq 'HASH') { |
|
$add_to_form->{'code_for_randomlist'} = $scancode; |
|
} else { |
|
$add_to_form = { 'code_for_randomlist' => $scancode,}; |
|
} |
|
} |
my $analyze = |
my $analyze = |
&get_analyze($symb,$uname,$udom,undef,$add_to_form, |
&get_analyze($symb,$uname,$udom,undef,$add_to_form, |
undef,undef,undef,$bubbles_per_row); |
undef,undef,undef,$bubbles_per_row); |
Line 466 sub cleanRecord {
|
Line 472 sub cleanRecord {
|
$env{'form.kwstyle'} = $keyhash{$loginuser.'_kwstyle'} ne '' ? $keyhash{$loginuser.'_kwstyle'} : ''; |
$env{'form.kwstyle'} = $keyhash{$loginuser.'_kwstyle'} ne '' ? $keyhash{$loginuser.'_kwstyle'} : ''; |
$env{'form.'.$symb} = 1; # so that we don't have to read it from disk for multiple sub of the same prob. |
$env{'form.'.$symb} = 1; # so that we don't have to read it from disk for multiple sub of the same prob. |
} |
} |
$answer = &Apache::lontexconvert::msgtexconverted($answer); |
|
return '<br /><br /><blockquote><tt>'.&keywords_highlight($answer).'</tt></blockquote>'; |
return '<br /><br /><blockquote><tt>'.&keywords_highlight($answer).'</tt></blockquote>'; |
} elsif ( $response eq 'organic') { |
} elsif ( $response eq 'organic') { |
my $result=&mt('Smile representation: [_1]', |
my $result=&mt('Smile representation: [_1]', |
Line 4600 sub csvuploadmap {
|
Line 4605 sub csvuploadmap {
|
if (!$env{'form.datatoken'}) { |
if (!$env{'form.datatoken'}) { |
$datatoken=&Apache::loncommon::upfile_store($request); |
$datatoken=&Apache::loncommon::upfile_store($request); |
} else { |
} else { |
$datatoken=$env{'form.datatoken'}; |
$datatoken=&Apache::loncommon::valid_datatoken($env{'form.datatoken'}); |
&Apache::loncommon::load_tmp_file($request); |
if ($datatoken ne '') { |
|
&Apache::loncommon::load_tmp_file($request,$datatoken); |
|
} |
} |
} |
my @records=&Apache::loncommon::upfile_record_sep(); |
my @records=&Apache::loncommon::upfile_record_sep(); |
if ($env{'form.noFirstLine'}) { shift(@records); } |
if ($env{'form.noFirstLine'}) { shift(@records); } |
Line 4705 sub csvuploadassign {
|
Line 4712 sub csvuploadassign {
|
my ($symb)=&get_symb($request); |
my ($symb)=&get_symb($request); |
if (!$symb) {return '';} |
if (!$symb) {return '';} |
my $error_msg = ''; |
my $error_msg = ''; |
&Apache::loncommon::load_tmp_file($request); |
my $datatoken = &Apache::loncommon::valid_datatoken($env{'form.datatoken'}); |
|
if ($datatoken ne '') { |
|
&Apache::loncommon::load_tmp_file($request,$datatoken); |
|
} |
my @gradedata = &Apache::loncommon::upfile_record_sep(); |
my @gradedata = &Apache::loncommon::upfile_record_sep(); |
if ($env{'form.noFirstLine'}) { shift(@gradedata); } |
if ($env{'form.noFirstLine'}) { shift(@gradedata); } |
my %fields=&get_fields(); |
my %fields=&get_fields(); |
Line 8785 SCANTRONFORM
|
Line 8795 SCANTRONFORM
|
} |
} |
if ((exists($grader_randomlists_by_symb{$ressymb})) || |
if ((exists($grader_randomlists_by_symb{$ressymb})) || |
(ref($grader_partids_by_symb{$ressymb}) ne 'ARRAY')) { |
(ref($grader_partids_by_symb{$ressymb}) ne 'ARRAY')) { |
|
my $currcode; |
|
if (exists($grader_randomlists_by_symb{$ressymb})) { |
|
$currcode = $scancode; |
|
} |
my ($analysis,$parts) = |
my ($analysis,$parts) = |
&scantron_partids_tograde($resource,$env{'request.course.id'}, |
&scantron_partids_tograde($resource,$env{'request.course.id'}, |
$uname,$udom,undef,$bubbles_per_row); |
$uname,$udom,undef,$bubbles_per_row, |
|
$currcode); |
$partids_by_symb{$ressymb} = $parts; |
$partids_by_symb{$ressymb} = $parts; |
} else { |
} else { |
$partids_by_symb{$ressymb} = $grader_partids_by_symb{$ressymb}; |
$partids_by_symb{$ressymb} = $grader_partids_by_symb{$ressymb}; |
Line 9457 sub checkscantron_results {
|
Line 9472 sub checkscantron_results {
|
my $ressymb = $resource->symb(); |
my $ressymb = $resource->symb(); |
if ((exists($grader_randomlists_by_symb{$ressymb})) || |
if ((exists($grader_randomlists_by_symb{$ressymb})) || |
(ref($grader_partids_by_symb{$ressymb}) ne 'ARRAY')) { |
(ref($grader_partids_by_symb{$ressymb}) ne 'ARRAY')) { |
|
my $currcode; |
|
if (exists($grader_randomlists_by_symb{$ressymb})) { |
|
$currcode = $scancode; |
|
} |
(my $analysis,$parts) = |
(my $analysis,$parts) = |
&scantron_partids_tograde($resource,$env{'request.course.id'}, |
&scantron_partids_tograde($resource,$env{'request.course.id'}, |
$username,$domain,undef, |
$username,$domain,undef, |
$bubbles_per_row); |
$bubbles_per_row,$currcode); |
} else { |
} else { |
$parts = $grader_partids_by_symb{$ressymb}; |
$parts = $grader_partids_by_symb{$ressymb}; |
} |
} |