[LON-CAPA-cvs] cvs: loncom /interface lonpdfupload.pm

onken onken@source.lon-capa.org
Thu, 21 May 2009 03:09:01 -0000


onken		Thu May 21 03:09:01 2009 EDT

  Modified files:              
    /loncom/interface	lonpdfupload.pm 
  Log:
  - fix TODO "get a Problemname" including a clean part information
  - localize title in page header.
  - call end_page() for a clean page closure. 
  
  
  
Index: loncom/interface/lonpdfupload.pm
diff -u loncom/interface/lonpdfupload.pm:1.6 loncom/interface/lonpdfupload.pm:1.7
--- loncom/interface/lonpdfupload.pm:1.6	Sat May 16 00:28:38 2009
+++ loncom/interface/lonpdfupload.pm	Thu May 21 03:09:01 2009
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Publication Handler
 #
-# $Id: lonpdfupload.pm,v 1.6 2009/05/16 00:28:38 bisitz Exp $
+# $Id: lonpdfupload.pm,v 1.7 2009/05/21 03:09:01 onken Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -65,7 +65,7 @@
     $env{'request.uri'}=$r->uri;
     $r->content_type('text/html');
     $r->send_http_header();
-    $r->print(&Apache::loncommon::start_page('Upload PDF Form'));
+    $r->print(&Apache::loncommon::start_page(&mt('Upload PDF Form')));
 
     #load post data into environment
     &Apache::lonacc::get_posted_cgi($r);
@@ -89,7 +89,7 @@
     );
 
     #&dumpenv($r); #debug -> prints the environment
-    $r->print("  </body> \n</html>\n");
+    $r->print(&Apache::loncommon::end_page());
     return OK;
 }
 
@@ -270,8 +270,6 @@
         my %problem = %{$problems{$key}};
         my ($problemname, $grade) = &grade_problem(%problem);
 
-        $problemname =~ s/(.*)\s*-\sPart\s0/$1/; #cut part when there is only one part in problem
-
         $result .= &Apache::loncommon::start_data_table_row();
         $result .= "<td>$problemname</td><td class='";
         if($grade eq "EXACT_ANS") {
@@ -290,23 +288,22 @@
 
 sub grade_problem {
     my %problem = @_;
+    my ($title, $part) = ();
 
-    my ($content) =  &Apache::loncommon::ssi_with_retries('/res/'.
-            $problem{'resource'}, 5, %problem);
-    
-    #TODO ? filter html response can't be the answer 
-    #     ! find an other way to get a problemname and Part
-    $content =~ s/.*class="LC_current_location".*>(.*)<\/td>.*/$1/g;
-    $content = $1;
+    &Apache::loncommon::ssi_with_retries('/res/'.$problem{'resource'}, 5, %problem);
 
-    my $part = $problem{submitted};
+    $title = &Apache::lonnet::gettitle($problem{'symb'});    
+    $part = $problem{submitted};
     $part =~ s/part_(.*)/$1/;
-    $content .= " - Part $part";
+    unless($part eq '0') {
+        #add information about part number
+        $title .= " - Part $part";
+    }
  
     my %problemhash = &Apache::lonnet::restore($problem{'symb'});
     my $grade = $problemhash{"resource.$part.award"};
 
-    return ($content, $grade);    
+    return ($title, $grade);    
 }
 
 sub dumpenv  {