--- loncom/interface/lonpdfupload.pm 2009/05/21 03:09:01 1.7 +++ loncom/interface/lonpdfupload.pm 2009/10/17 03:13:35 1.14 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA -# Publication Handler +# PDF Form Upload Handler # -# $Id: lonpdfupload.pm,v 1.7 2009/05/21 03:09:01 onken Exp $ +# $Id: lonpdfupload.pm,v 1.14 2009/10/17 03:13:35 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -65,7 +65,15 @@ sub handler() { $env{'request.uri'}=$r->uri; $r->content_type('text/html'); $r->send_http_header(); - $r->print(&Apache::loncommon::start_page(&mt('Upload PDF Form'))); + + # Breadcrumbs + my $brcrum = [{'href' => '/pdfupload', + 'text' => 'Upload PDF Form'}]; + + $r->print(&Apache::loncommon::start_page('Upload PDF Form', + undef, + {'bread_crumbs' => $brcrum,}) + ); #load post data into environment &Apache::lonacc::get_posted_cgi($r); @@ -83,7 +91,7 @@ sub handler() { $r->print('
' .'

'."\n" .''."\n" - .&mt("Navigate Contents")."\n" + .&mt('Course Contents')."\n" .''."\n" .'

'."\n" ); @@ -164,7 +172,9 @@ sub get_uploadform() { .'' .&Apache::lonhtmlcommon::row_closure(1) .&Apache::lonhtmlcommon::end_pick_box() + .'

' .'' + .'

' .'' .'
'; @@ -217,13 +227,6 @@ sub grade_pdf { my $debug = (); $debug .= "Found: ". scalar @pdfdata." Entries \n"; - $result .= '

'.&mt('Results of PDF Form problems').'

'; - $result .= &Apache::loncommon::start_data_table() - .&Apache::loncommon::start_data_table_header_row() - .''.&mt('Problem Name').'' - .''.&mt('Grading').'' - .&Apache::loncommon::start_data_table_header_row() - .&Apache::loncommon::end_data_table_header_row(); foreach my $entry (sort(@pdfdata)) { if ($entry =~ /^meta.*/) { @@ -233,7 +236,11 @@ sub grade_pdf { $user =~ s/(.*)\n/$1/; #TODO is that equals to chomp? if($user ne $env{'user.name'} or $domain ne $env{'user.domain'}) { - return "
".&mt('Wrong username in PDF-File').": $user $domain -> $env{'user.domain'} $env{'user.name'} 
"; + return '

' + .&mt('Wrong username ([_1]) found in PDF file. Expected username: [_2]' + ,$user.':'.$domain + ,$env{'user.domain'}.':'.$env{'user.name'}) + .'

'; } } elsif($entry =~ /^upload.*/) { @@ -254,7 +261,7 @@ sub grade_pdf { $problems{$symb.$part}{$HWVAL} = $value; } else { $problems{$symb.$part} = { 'resource' => $resource, - 'symb' => &Apache::lonenc::encrypted($symb), + 'symb' => $symb, 'submitted' => $part, $submit => 'Answer', $HWVAL => $value}; @@ -266,17 +273,26 @@ sub grade_pdf { } #$result .= $debug; + $result .= '

'.&mt('Results of PDF Form problems').'

'; + $result .= &Apache::loncommon::start_data_table() + .&Apache::loncommon::start_data_table_header_row() + .''.&mt('Problem Name').'' + .''.&mt('Grading').'' + .&Apache::loncommon::start_data_table_header_row() + .&Apache::loncommon::end_data_table_header_row(); + foreach my $key (sort (keys %problems)) { my %problem = %{$problems{$key}}; my ($problemname, $grade) = &grade_problem(%problem); $result .= &Apache::loncommon::start_data_table_row(); $result .= "$problemname$grade"; $result .= &Apache::loncommon::end_data_table_row(); } @@ -306,6 +322,23 @@ sub grade_problem { return ($title, $grade); } +sub parse_grade_answer { + my ($shortcut) = @_; + my %answerhash = ('EXACT_ANS' => &mt('You are correct.'), + 'APPROX_ANS' => &mt('You are correct.'), + 'INCORRECT' => &mt('You are incorrect'), + ); + + foreach my $key (keys %answerhash) { + if($shortcut eq $key) { + return $answerhash{$shortcut}; + } + } + return &mt('See course contents for further information.'); + +} + + sub dumpenv { my $r = shift;