version 1.663, 2011/11/14 03:08:01
|
version 1.666, 2011/12/03 01:16:39
|
Line 6909 sub scantron_get_correction {
|
Line 6909 sub scantron_get_correction {
|
.&mt('The ID on the form is [_1]', |
.&mt('The ID on the form is [_1]', |
"<tt>$$scan_record{'scantron.ID'}</tt>") |
"<tt>$$scan_record{'scantron.ID'}</tt>") |
.'<br />' |
.'<br />' |
.&mt('The name on the paper is [_2], [_3]', |
.&mt('The name on the paper is [_1], [_2]', |
$$scan_record{'scantron.LastName'}, |
$$scan_record{'scantron.LastName'}, |
$$scan_record{'scantron.FirstName'}) |
$$scan_record{'scantron.FirstName'}) |
.'</p>'; |
.'</p>'; |
Line 8913 sub process_clicker {
|
Line 8913 sub process_clicker {
|
my $pincorrect=&mt("Percentage points for incorrect solution"); |
my $pincorrect=&mt("Percentage points for incorrect solution"); |
my $selectform=&Apache::loncommon::select_form($env{'form.upfiletype'},'upfiletype', |
my $selectform=&Apache::loncommon::select_form($env{'form.upfiletype'},'upfiletype', |
{'iclicker' => 'i>clicker', |
{'iclicker' => 'i>clicker', |
'interwrite' => 'interwrite PRS'}); |
'interwrite' => 'interwrite PRS', |
|
'turning' => 'Turning Technologies'}); |
$symb = &Apache::lonenc::check_encrypt($symb); |
$symb = &Apache::lonenc::check_encrypt($symb); |
$result.= &Apache::lonhtmlcommon::scripttag(<<ENDUPFORM); |
$result.= &Apache::lonhtmlcommon::scripttag(<<ENDUPFORM); |
function sanitycheck() { |
function sanitycheck() { |
Line 9087 ENDHEADER
|
Line 9088 ENDHEADER
|
if ($env{'form.upfiletype'} eq 'interwrite') { |
if ($env{'form.upfiletype'} eq 'interwrite') { |
($errormsg,$number)=&interwrite_eval(\@questiontitles,\%responses); |
($errormsg,$number)=&interwrite_eval(\@questiontitles,\%responses); |
} |
} |
|
if ($env{'form.upfiletype'} eq 'turning') { |
|
($errormsg,$number)=&turning_eval(\@questiontitles,\%responses); |
|
} |
$result.='<br />'.&mt('Found [_1] question(s)',$number).'<br />'. |
$result.='<br />'.&mt('Found [_1] question(s)',$number).'<br />'. |
'<input type="hidden" name="number" value="'.$number.'" />'. |
'<input type="hidden" name="number" value="'.$number.'" />'. |
&mt('Awarding [_1] percent for correct and [_2] percent for incorrect responses', |
&mt('Awarding [_1] percent for correct and [_2] percent for incorrect responses', |
Line 9223 sub interwrite_eval {
|
Line 9227 sub interwrite_eval {
|
return ($errormsg,$number); |
return ($errormsg,$number); |
} |
} |
|
|
|
sub turning_eval { |
|
my ($questiontitles,$responses)=@_; |
|
my $number=0; |
|
my $errormsg=''; |
|
foreach my $line (split(/[\n\r]/,$env{'form.upfile'})) { |
|
my %components=&Apache::loncommon::record_sep($line); |
|
my @entries=map {$components{$_}} (sort(keys(%components))); |
|
if ($#entries>$number) { $number=$#entries; } |
|
my $id=$entries[0]; |
|
my @idresponses; |
|
$id=~s/^[\#0]+//; |
|
unless ($id) { next; } |
|
for (my $idx=1;$idx<=$#entries;$idx++) { |
|
$entries[$idx]=~s/\,/\;/g; |
|
$entries[$idx]=~s/[^a-zA-Z0-9\.\*\-\+\;]+//g; |
|
push(@idresponses,$entries[$idx]); |
|
} |
|
$$responses{$id}=join(',',@idresponses); |
|
} |
|
for (my $i=1; $i<=$number; $i++) { |
|
$$questiontitles[$i]=&mt('Question [_1]',$i); |
|
} |
|
return ($errormsg,$number); |
|
} |
|
|
|
|
sub assign_clicker_grades { |
sub assign_clicker_grades { |
my ($r,$symb)=@_; |
my ($r,$symb)=@_; |
if (!$symb) {return '';} |
if (!$symb) {return '';} |
Line 9388 sub handler {
|
Line 9418 sub handler {
|
} |
} |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}); |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}); |
|
|
|
# see what command we need to execute |
|
|
|
my @commands=&Apache::loncommon::get_env_multiple('form.command'); |
|
my $command=$commands[0]; |
|
|
&init_perm(); |
&init_perm(); |
if (!$env{'request.course.id'}) { |
if (!$env{'request.course.id'}) { |
# Not in a course. |
unless ((&Apache::lonnet::allowed('usc',$env{'request.role.domain'})) && |
$env{'user.error.msg'}="/adm/grades::vgr:0:0:Cannot display grades page outside course context"; |
($command =~ /^scantronupload/)) { |
return HTTP_NOT_ACCEPTABLE; |
# Not in a course. |
|
$env{'user.error.msg'}="/adm/grades::vgr:0:0:Cannot display grades page outside course context"; |
|
return HTTP_NOT_ACCEPTABLE; |
|
} |
} elsif (!%perm) { |
} elsif (!%perm) { |
$request->internal_redirect('/adm/quickgrades'); |
$request->internal_redirect('/adm/quickgrades'); |
} |
} |
&Apache::loncommon::content_type($request,'text/html'); |
&Apache::loncommon::content_type($request,'text/html'); |
$request->send_http_header; |
$request->send_http_header; |
|
|
|
|
# see what command we need to execute |
|
|
|
my @commands=&Apache::loncommon::get_env_multiple('form.command'); |
|
my $command=$commands[0]; |
|
|
|
if ($#commands > 0) { |
if ($#commands > 0) { |
&Apache::lonnet::logthis("grades got multiple commands ".join(':',@commands)); |
&Apache::lonnet::logthis("grades got multiple commands ".join(':',@commands)); |
} |
} |