version 1.9, 2009/05/21 05:57:50
|
version 1.12, 2009/05/25 12:54:18
|
Line 1
|
Line 1
|
# The LearningOnline Network with CAPA |
# The LearningOnline Network with CAPA |
# Publication Handler |
# PDF Form Upload Handler |
# |
# |
# $Id$ |
# $Id$ |
# |
# |
Line 217 sub grade_pdf {
|
Line 217 sub grade_pdf {
|
my $debug = (); |
my $debug = (); |
|
|
$debug .= "Found: ". scalar @pdfdata." Entries \n"; |
$debug .= "Found: ". scalar @pdfdata." Entries \n"; |
$result .= '<h2>'.&mt('Results of PDF Form problems').'</h2>'; |
|
$result .= &Apache::loncommon::start_data_table() |
|
.&Apache::loncommon::start_data_table_header_row() |
|
.'<th>'.&mt('Problem Name').'</th>' |
|
.'<th>'.&mt('Grading').'</th>' |
|
.&Apache::loncommon::start_data_table_header_row() |
|
.&Apache::loncommon::end_data_table_header_row(); |
|
|
|
foreach my $entry (sort(@pdfdata)) { |
foreach my $entry (sort(@pdfdata)) { |
if ($entry =~ /^meta.*/) { |
if ($entry =~ /^meta.*/) { |
Line 233 sub grade_pdf {
|
Line 226 sub grade_pdf {
|
$user =~ s/(.*)\n/$1/; #TODO is that equals to chomp? |
$user =~ s/(.*)\n/$1/; #TODO is that equals to chomp? |
|
|
if($user ne $env{'user.name'} or $domain ne $env{'user.domain'}) { |
if($user ne $env{'user.name'} or $domain ne $env{'user.domain'}) { |
return "<pre>".&mt('Wrong username in PDF-File').": $user $domain -> $env{'user.domain'} $env{'user.name'} </pre>"; |
return '<p class="LC_error">' |
|
.&mt('Wrong username ([_1]) found in PDF file. Expected username: [_2]' |
|
,$user.':'.$domain |
|
,$env{'user.domain'}.':'.$env{'user.name'}) |
|
.'</p>'; |
} |
} |
|
|
} elsif($entry =~ /^upload.*/) { |
} elsif($entry =~ /^upload.*/) { |
Line 254 sub grade_pdf {
|
Line 251 sub grade_pdf {
|
$problems{$symb.$part}{$HWVAL} = $value; |
$problems{$symb.$part}{$HWVAL} = $value; |
} else { |
} else { |
$problems{$symb.$part} = { 'resource' => $resource, |
$problems{$symb.$part} = { 'resource' => $resource, |
'symb' => &Apache::lonenc::encrypted($symb), |
'symb' => $symb, |
'submitted' => $part, |
'submitted' => $part, |
$submit => 'Answer', |
$submit => 'Answer', |
$HWVAL => $value}; |
$HWVAL => $value}; |
Line 266 sub grade_pdf {
|
Line 263 sub grade_pdf {
|
} |
} |
#$result .= $debug; |
#$result .= $debug; |
|
|
|
$result .= '<h2>'.&mt('Results of PDF Form problems').'</h2>'; |
|
$result .= &Apache::loncommon::start_data_table() |
|
.&Apache::loncommon::start_data_table_header_row() |
|
.'<th>'.&mt('Problem Name').'</th>' |
|
.'<th>'.&mt('Grading').'</th>' |
|
.&Apache::loncommon::start_data_table_header_row() |
|
.&Apache::loncommon::end_data_table_header_row(); |
|
|
foreach my $key (sort (keys %problems)) { |
foreach my $key (sort (keys %problems)) { |
my %problem = %{$problems{$key}}; |
my %problem = %{$problems{$key}}; |
my ($problemname, $grade) = &grade_problem(%problem); |
my ($problemname, $grade) = &grade_problem(%problem); |
Line 310 sub grade_problem {
|
Line 315 sub grade_problem {
|
sub parse_grade_answer { |
sub parse_grade_answer { |
my ($shortcut) = @_; |
my ($shortcut) = @_; |
my %answerhash = ('EXACT_ANS' => &mt('You are correct.'), |
my %answerhash = ('EXACT_ANS' => &mt('You are correct.'), |
'APPROX_ANS' => &mt('You are approximated right'), |
'APPROX_ANS' => &mt('You are correct.'), |
'INCORRECT' => &mt('You are incorrect'), |
'INCORRECT' => &mt('You are incorrect'), |
); |
); |
|
|