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

sakharuk lon-capa-cvs@mail.lon-capa.org
Fri, 20 Sep 2002 20:32:42 -0000


sakharuk		Fri Sep 20 16:32:42 2002 EDT

  Modified files:              
    /loncom/interface	lonprintout.pm 
  Log:
   Now works fine for the printing sequences with empty first resource.
  
  
Index: loncom/interface/lonprintout.pm
diff -u loncom/interface/lonprintout.pm:1.72 loncom/interface/lonprintout.pm:1.73
--- loncom/interface/lonprintout.pm:1.72	Thu Sep 19 16:18:09 2002
+++ loncom/interface/lonprintout.pm	Fri Sep 20 16:32:42 2002
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Printout
 #
-# $Id: lonprintout.pm,v 1.72 2002/09/19 20:18:09 sakharuk Exp $
+# $Id: lonprintout.pm,v 1.73 2002/09/20 20:32:42 sakharuk Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -316,7 +316,7 @@
 <input type="hidden" name="numberofstudents" value="$ENV{'form.numberofstudents'}">
 <input type="hidden" name="numberofproblems" value="$ENV{'form.numberofproblems'}">
 <input type="hidden" name="numberofcolumns" value="$ENV{'form.numberofcolumns'}">
-Define page layout parameters: <br />
+Define one column layout parameters: <br />
 <b>Width</b>: <input type="text" name="width" width="8" value="9cm"> <br />
 <b>Height</b>: <input type="text" name="height" width="8" value="25.9cm"> <br />
 <b>Left margin</b>: <input type="text" name="leftmargin" width="8" value="-0.57in"> <br />
@@ -370,8 +370,9 @@
         #-- where is the primary sequence containing file?
 	my $symbolic = &Apache::lonnet::symbread($ENV{'form.url'});
 	$symbolic =~ m/([^_]+)_/;
-	my $primary_sequence = '/res/'.$1;    
-	my @master_seq = &coming_from_hash($primary_sequence);
+	my $primary_sequence = '/res/'.$1;   
+ 	$symbolic =~ m/^([^_]+__)/;
+	my @master_seq = &coming_from_hash($primary_sequence,$1);
         #-- produce an output string
 	my $flag_latex_header_remove = 'NO';
 	my $flag_page_in_sequence = 'NO';
@@ -423,7 +424,7 @@
         # where is the main sequence of the course?
 	$selectionmade = 4;
 	my $main_seq = '/res/'.$ENV{'request.course.uri'};
-	my @file_seq = &coming_from_hash($main_seq); 	
+	my @file_seq = &coming_from_hash($main_seq); 
 	my $flag_latex_header_remove = 'NO';
         #-- produce an output string
 	for (my $i=0;$i<=$#file_seq;$i++) {
@@ -448,7 +449,7 @@
     } elsif ($choice eq 'All class print') { 
     #-- prints assignments for whole class or for selected students  
 	$selectionmade = 5;
-        my (@students,@st_output) = ((),());
+        my @students = ();
 	for (my $i=0; $i<$ENV{'form.numberofstudents'};$i++) {
 	    if ($ENV{'form.whomtoprint'.$i}=~/:/) {
 		push @students,$ENV{'form.whomtoprint'.$i};
@@ -457,8 +458,9 @@
 	#where is the primary sequence containing current resource (the same for all students)?
 	my $symbolic = &Apache::lonnet::symbread($ENV{'form.url'});
 	$symbolic =~ m/([^_]+)_/;
-	my $primary_sequence = '/res/'.$1;
-	my @master_seq = &coming_from_hash($primary_sequence); 
+	my $primary_sequence = '/res/'.$1; 	
+	$symbolic =~ m/^([^_]+__)/;
+	my @master_seq = &coming_from_hash($primary_sequence,$1); 
         #loop over students
 	my $flag_latex_header_remove = 'NO';  
 	foreach my $person (@students) {
@@ -468,22 +470,20 @@
             #goes through all resources, checks if they are available for current student, and produces output   
 	    foreach my $curresline (@master_seq)  {
 		my ($curres,$symb) = split /&&/, $curresline;
-		$curres =~ s/^"//;
-		$curres =~ s/"$//;
-                if ($curres=~/\w+/) {
+                if ($curres=~ m/\.(problem|exam|quiz|assess|survey|form|library)/) {
 		    my ($map,$id,$res_url) = split(/___/,$symb);
 		    if (&Apache::lonnet::allowed('bre',$res_url)) {
 			my $rendered = &Apache::loncommon::get_student_view($symb,$username,$userdomain,
                                                                         $ENV{'request.course.id'},'tex');
-			if ($flag_latex_header_remove ne 'NO') {
+			if ($flag_latex_header_remove eq 'YES') {
 			    $rendered = &latex_header_footer_remove($rendered);
 			} else {
 			    $rendered =~ s/\\end{document}//;
 			}
 			$current_output .= $rendered;
 		    }
+		    $flag_latex_header_remove = 'YES';
 		}
-		$flag_latex_header_remove = 'YES';  
 	    }
 	    if ($current_output=~/\\documentclass/) {
 		$current_output =~ s/\\begin{document}/\\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent\\fbox{\\textbf{$fullname}}\\hskip 1\.4in } \\vskip 5 mm /;
@@ -599,14 +599,35 @@
 }
 
 
-sub coming_from_hash {
+sub coming_from_hash_whole {
 
     my $mainsequence = shift;
     my @resourcelist = ();
     my $mapid = $hash{'map_pc_'.$mainsequence};
     my $mapstart = $hash{'map_start_'.$mainsequence};
     my $mapfinish = $hash{'map_finish_'.$mainsequence};
-    my $symb = &Apache::lonnet::symbread($hash{'src_'.$mapstart});
+    my $current_resource = $mapstart;
+    while ($current_resource ne $mapfinish) {
+	if ($hash{'src_'.$current_resource}=~/\.sequence$/) {
+
+	} else {
+
+	}
+    }
+
+
+    push @resourcelist,$mapid,$mapstart,$mapfinish;
+    return @resourcelist;
+}
+
+
+sub coming_from_hash {
+
+    my ($mainsequence,$symb) = @_;
+    my @resourcelist = ();
+    my $mapid = $hash{'map_pc_'.$mainsequence};
+    my $mapstart = $hash{'map_start_'.$mainsequence};
+    my $mapfinish = $hash{'map_finish_'.$mainsequence};
     my ($presymb) = split(/___/,$symb);
     $presymb = $presymb.'___';
     my $current_resource = $mapstart;
@@ -1085,12 +1106,3 @@
 1;
 __END__
 
-
-
-
-#### Test block
-#    my $ere;
-#    foreach $ere (%ENV) {
-#	$result .= ' SS '.$ere.' => '.$ENV{$ere}.' FF '."\n\n";
-#    }
-####