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

sakharuk lon-capa-cvs@mail.lon-capa.org
Tue, 06 May 2003 19:23:50 -0000


sakharuk		Tue May  6 15:23:50 2003 EDT

  Modified files:              
    /loncom/interface	lonprintout.pm 
  Log:
  Content of subdirectoris in the construction space can be printed. The output has to be ordered according alphabetical order - it is not done yet.
  
  
Index: loncom/interface/lonprintout.pm
diff -u loncom/interface/lonprintout.pm:1.152 loncom/interface/lonprintout.pm:1.153
--- loncom/interface/lonprintout.pm:1.152	Tue May  6 09:50:23 2003
+++ loncom/interface/lonprintout.pm	Tue May  6 15:23:49 2003
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Printout
 #
-# $Id: lonprintout.pm,v 1.152 2003/05/06 13:50:23 sakharuk Exp $
+# $Id: lonprintout.pm,v 1.153 2003/05/06 19:23:49 sakharuk Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1377,15 +1377,15 @@
 	$LaTeXwidth = $1*25.4;
     }
     $LaTeXwidth.=' mm';
-
-
+    
+    
     if ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'current_document') {
       #-- single document - problem, page, html, xml, ...
 	my $currentURL;
-	if (defined $helper->{'VARS'}->{'url'}) {
-	    $currentURL=$helper->{'VARS'}->{'url'};
-	} else {
+	if (not defined $helper->{'VARS'}->{'construction'}) {
 	    $currentURL=$helper->{'VARS'}->{'postdata'};
+	} else {
+	    $currentURL=$helper->{'VARS'}->{'construction'};
 	}
 	$selectionmade = 1;
 	if ($currentURL=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {
@@ -1599,12 +1599,12 @@
             return $result;
         }
         $helper = $result;
-    
-
-#    my $key; 
-#    foreach $key (keys %{$helper->{'VARS'}}) {
-#	$r->print(' '.$key.'->'.$helper->{'VARS'}->{$key}.'<br />');
-#    }
+	
+	
+#	my $key; 
+#	foreach $key (keys %{$helper->{'VARS'}}) {
+#	    $r->print(' '.$key.'->'.$helper->{'VARS'}->{$key}.'<br />');
+#	}
 #	return OK;
 	
 	
@@ -1712,6 +1712,7 @@
     # This will persistently load in the data we want from the
     # very first screen.
     if ($ENV{'form.postdata'}) {
+	if ($ENV{'form.postdata'}!~/\/res\//) {$helper->{VARS}->{'construction'} = $ENV{'form.postdata'};}
         $helper->{VARS}->{'symb'} = &Apache::lonnet::symbread($ENV{'form.postdata'});
     }
     if ($ENV{'form.symb'}) {
@@ -1719,6 +1720,7 @@
     }
     if ($ENV{'form.url'}) {
         $helper->{VARS}->{'symb'} = &Apache::lonnet::symbread($helper->{VARS}->{'postdata'});
+
     }
 
     
@@ -1741,7 +1743,17 @@
 
     # "Delete everything after the last slash."
     $subdir =~ s|/[^/]+$||;
-    $subdir =  '/home/httpd/html/res'.$subdir;   #needs additional work for the construction space
+    if (not defined $helper->{VARS}->{'construction'}) {
+	$subdir =  '/home/httpd/html/res'.$subdir;   
+    } else {
+	$helper->{VARS}->{'construction'}=~/^([^\/]+)\/\/([^\/]+)(.*)\/[^\/]*$/;
+	$subdir = $3;
+	$subdir=~/\/~([^\/]+)\/(.*)$/;
+	$subdir = '/home/'.$1.'/public_html/'.$2;
+    }
+####    $r->print('Dir:  '.$subdir.'  ');
+####    return OK;
+
 
     # What can be printed is a very dynamic decision based on
     # lots of factors. So we need to dynamically build this list.
@@ -1761,7 +1773,7 @@
     push @{$printChoices}, ["<b>$resourceTitle</b> (exactly what was on the screen)", 'current_document', 'PAGESIZE'];
 
     # If we're in a sequence...
-    if ($helper->{VARS}->{'postdata'} =~ /\/res\//) {
+    if (not defined $helper->{'VARS'}->{'construction'}) {
         # Allow problems from sequence
         push @{$printChoices}, ["Problems from <b>$sequenceTitle</b>", 'map_problems', 'CHOOSE_PROBLEMS'];
         # Allow all resources from sequence
@@ -1826,17 +1838,17 @@
       </resource>
     <message>How should the results be printed?</message>
     <choices variable="EMPTY_PAGES">
-      <choice computer='0'>Print all problems with no blank space between them</choice>
-      <choice computer='1'>Put each student's problems on a new page (add pagefeed after each student)</choice> <!-- ' -->
-      <choice computer='2'>Seperate each student's problems with a full blank page</choice> <!-- ' -->
-      <choice computer='3'>Seperate each student's problems with two full blank pages</choice> <!-- ' -->
+      <choice computer='0'>Print students assignments without separations (as uniform flow)</choice>
+      <choice computer='1'>Start student assignment from new page (add pagefeed after each student)</choice>
+      <choice computer='2'>Add one emty page after each student assignment</choice> 
+      <choice computer='3'>Add two emty page after each student assignment</choice> 
       </choices>
     </state>
 CHOOSE_STUDENTS
     }
 
     # FIXME: That RE should come from a library somewhere.
-    if ((&Apache::lonnet::allowed('bre',$subdir) eq 'F') and ($helper->{VARS}->{'postdata'}=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)/)) {    
+    if (((&Apache::lonnet::allowed('bre',$subdir) eq 'F') and ($helper->{VARS}->{'postdata'}=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)/)) or defined $helper->{'VARS'}->{'construction'}) {    
         push @{$printChoices}, ["Problems from <b>$subdir</b>", 'problems_from_directory', 'CHOOSE_FROM_SUBDIR'];
         
         my $f = '$filename';