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

sakharuk lon-capa-cvs@mail.lon-capa.org
Tue, 10 Sep 2002 20:14:35 -0000


This is a MIME encoded message

--sakharuk1031688875
Content-Type: text/plain

sakharuk		Tue Sep 10 16:14:35 2002 EDT

  Modified files:              
    /loncom/interface	lonprintout.pm 
  Log:
  Current changes - to be continue.
  
  
--sakharuk1031688875
Content-Type: text/plain
Content-Disposition: attachment; filename="sakharuk-20020910161435.txt"

Index: loncom/interface/lonprintout.pm
diff -u loncom/interface/lonprintout.pm:1.58 loncom/interface/lonprintout.pm:1.59
--- loncom/interface/lonprintout.pm:1.58	Mon Sep  9 16:20:40 2002
+++ loncom/interface/lonprintout.pm	Tue Sep 10 16:14:35 2002
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Printout
 #
-# $Id: lonprintout.pm,v 1.58 2002/09/09 20:20:40 sakharuk Exp $
+# $Id: lonprintout.pm,v 1.59 2002/09/10 20:14:35 sakharuk Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -67,6 +67,9 @@
 
 sub menu_for_output {
     my $r = shift;
+    my $symbolic = &Apache::lonnet::symbread($ENV{'form.postdata'});
+#    $symbolic =~ m/([^_]+)_/;
+#    my $primary_sequence = '/res/'.$1;
     $r->print(<<ENDMENUOUT1);
 <h1>What do you want to print? Make a choice.</h1><br />
 <input type="hidden" name="phase" value="two">
@@ -78,13 +81,13 @@
 	$r->print(<<ENDMENUOUT2);
 <input type="radio" name="choice" value="Standard LaTeX output for the primary sequence">  All problems from the primary sequence<br />
 <input type="radio" name="choice" value="Standard LaTeX output for whole primary sequence">  The whole primary sequence (problems plus all html and xml files)<br />
-<input type="radio" name="choice" value="Standard LaTeX output for the top level sequence">  All problems from the top level sequence<br />
-<br />
 ENDMENUOUT2
     }
     if ($ENV{'request.role'}=~m/^cc\./ or $ENV{'request.role'}=~m/^in\./ or $ENV{'request.role'}=~m/^ta\./) { 
 	$r->print(<<ENDMENUOUT6);
-  <input type="radio" name="choice" value="All class print">  Print assignment (all problems from the primary sequence) for group of students<br /><br />
+<input type="radio" name="choice" value="Standard LaTeX output for the top level sequence">  All problems from the top level sequence<br />
+<br />
+<input type="radio" name="choice" value="All class print">  Print assignment (all problems from the primary sequence) for group of students<br /><br />
 ENDMENUOUT6
     }
       my $subdirtoprint = &Apache::lonnet::filelocation("",$ENV{'form.url'});
@@ -106,10 +109,23 @@
    <td>&nbsp;</td>
    <td rawspan="2">
      Number of columns: <select name="numberofcolumns">
-                         <option selected> 1 </option>
-                         <option> 2 </option>
+                         <option> 1 </option>
+                         <option selected> 2 </option>
                         </select> 
    </td>
+   <td rawspan="2">
+     Paper size (format [width x height]): <select name="papersize">
+                                            <option selected> Letter [216x297 mm] </option>
+                                            <option> Legal [216x356 mm] </option>
+                                            <option> Executive [190x254 mm] </option>
+                                            <option> Ledger/Tabloid [279x432 mm] </option>
+                                            <option> A2 [420x594 mm] </option>
+                                            <option> A3 [297x420 mm] </option>
+                                            <option> A4 [210x297 mm] </option>
+                                            <option> A5 [148x210 mm] </option>
+                                            <option> A6 [105x148 mm] </option>
+                                           </select> 
+   </td>
  </tr>
 </table>
 </br> 
@@ -317,9 +333,11 @@
     my $laystyle = 'book';
     my $result = '';
     my $number_of_columns = 1;
+    my $selectionmade = '';
  
     if ($choice eq 'Standard LaTeX output for current document') {
       #-- single document - problem, page, html, xml  
+      $selectionmade = 1;
       my %moreenv;
       $moreenv{'form.grade_target'}='tex';
       if ($ENV{'request.role'}=~m/^au\./ or $ENV{'request.role'}=~m/^ca\./) {
@@ -339,8 +357,7 @@
       #-- minimal sequence to which the current document belongs
         #-- where is the primary sequence containing file?
 	my $symbolic = &Apache::lonnet::symbread($ENV{'form.url'});
-	$_ = $symbolic;
-	m/([^_]+)_/;
+	$symbolic =~ m/([^_]+)_/;
 	my $primary_sequence = '/res/'.$1;
         #-- open and analyses the primary sequence
 	my $sequence_file=&Apache::lonnet::filelocation("",$primary_sequence);
@@ -353,6 +370,7 @@
             $_ = $1;
             my $urlp = $1;		
 	    if ($choice eq 'Standard LaTeX output for the primary sequence') {
+		$selectionmade = 2;
 		if ($urlp =~ m/\.(problem|exam|quiz|assess|survey|form|library)/) {
 		    my %moreenv;
 		    $moreenv{'form.grade_target'}='tex';
@@ -362,6 +380,7 @@
 		    $result .= $texversion;        
 		}
 	    } elsif ($urlp =~ /\S+/) {
+		$selectionmade = 3;
 		my %moreenv;
 		$moreenv{'form.grade_target'}='tex';
 		&Apache::lonnet::appenv(%moreenv);
@@ -373,6 +392,7 @@
 	$result = &additional_cleanup($result);
     }  elsif ($choice eq 'Standard LaTeX output for the top level sequence') {
         # where is the main sequence of the course?
+	$selectionmade = 4;
 	my $main_seq = '/res/'.$ENV{'request.course.uri'};
 	my $file=&Apache::lonnet::filelocation("",$main_seq);
 	my $filecontents=&Apache::lonnet::getfile($file);
@@ -435,6 +455,7 @@
 	$result = &additional_cleanup($result);
     } elsif ($choice eq 'All class print') { 
     #-- prints assignments for whole class or for selected students  
+	$selectionmade = 5;
         my (@students,@st_output) = ((),());
 	for (my $i=0; $i<$ENV{'form.numberofstudents'};$i++) {
 	    if ($ENV{'form.whomtoprint'.$i}=~/:/) {
@@ -474,10 +495,10 @@
 	$result = &additional_cleanup($result);
     } elsif ($choice eq 'Subdirectory print') {      
     #prints selected problems from the subdirectory 
+	$selectionmade = 6;
         my @list_of_files = ();
 	for (my $i=0; $i<$ENV{'form.numberofproblems'};$i++) {
 	    if ($ENV{'form.whattoprint'.$i}=~/^\//) {
-#		$result.= $ENV{'form.whattoprint'.$i}.' FFF ';
 		push @list_of_files,$ENV{'form.whattoprint'.$i};
 	    }
 	}
@@ -496,21 +517,22 @@
 		$result .= $texversion;
 	    }   
 	}
-	$result = &additional_cleanup($result);
-	
-       	
+	$result = &additional_cleanup($result);       	
     }
 #-- corrections for the different page formats
     if ($layout eq 'CBI' and $numberofcolumns eq '1') {
+	$result =~ s/\\begin{document}/\\setlength{\\oddsidemargin}{-40pt}\\setlength{\\evensidemargin}{-60pt}\\setlength{\\topmargin}{200pt}\\setlength{\\textwidth}{4\.4in}\\setlength{\\textheight}{6\.8in}\\setlength{\\parindent}{20pt}\\setlength{\\marginparwidth}{90pt}\\setlength{\\textfloatsep}{8pt plus 2\.0pt minus 4\.0pt} \\begin{document}/;
+	$result =~ s/\$number_of_columns/$number_of_columns/g;
+        $laystyle = 'album';
     } elsif ($layout eq 'CBI' and $numberofcolumns eq '2') {
 	$result =~ s/\\begin{document}/\\setlength{\\oddsidemargin}{-40pt}\\setlength{\\evensidemargin}{-60pt}\\setlength{\\topmargin}{200pt}\\setlength{\\textwidth}{4\.4in}\\setlength{\\textheight}{6\.8in}\\setlength{\\parindent}{20pt}\\setlength{\\marginparwidth}{90pt}\\setlength{\\textfloatsep}{8pt plus 2\.0pt minus 4\.0pt} \\begin{document}/;
+	$result =~ s/\$number_of_columns/$number_of_columns/g;
         $laystyle = 'album';
     } elsif ($layout eq 'CAPA') {
         my $courseidinfo = $ENV{'request.role'};
         $_ = $courseidinfo;
         m/.*\/(.*)/;
         $courseidinfo = $ENV{'course.physnet_'.$1.'.description'};
-#	$result =~ s/\\documentclass\[letterpaper\]{article}/\\documentclass\[twocolumn\]{article}/;
 	$result =~ s/\\documentclass\[letterpaper\]{article}/\\documentclass{article}/;
 	if ($choice ne 'All class print') { 
 	    $result =~ s/\\begin{document}/\\textheight 25\.9cm\\oddsidemargin = -0\.57in\\evensidemargin = -0\.57in\\textwidth= 9cm\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\begin{document}\\voffset=-1\.8cm\\setcounter{page}{1}\\parbox{\\minipagewidth}{\\noindent\\fbox{\\textbf{$ENV{'environment.firstname'} $ENV{'environment.lastname'}}}\\hskip 1\.4in $courseidinfo} \\vskip 5 mm /;
@@ -529,6 +551,9 @@
     #changes page's parameters for the one column output 
     if ($ENV{'form.numberofcolumns'} == 1) {
 	$result =~ s/\\textwidth= 9cm/\\textwidth= $ENV{'form.width'}/;
+	$result =~ s/\\textheight 25\.9cm/\\textheight $ENV{'form.height'}/;
+	$result =~ s/\\evensidemargin = -0\.57in/\\evensidemargin= $ENV{'form.leftmargin'}/;
+	$result =~ s/\\oddsidemargin = -0\.57in/\\oddsidemargin= $ENV{'form.leftmargin'}/;
     }
 #-- LaTeX corrections     
     my $first_comment = index($result,'<!--',0);
@@ -560,7 +585,7 @@
     } 
     print $temp_file $result;
 $r->print(<<FINALEND);
-<meta http-equiv="Refresh" content="0; url=/cgi-bin/printout.pl?$filename&$laystyle&$numberofcolumns">
+<meta http-equiv="Refresh" content="0; url=/cgi-bin/printout.pl?$filename&$laystyle&$numberofcolumns&$selectionmade">
 </body>
 </html>
 FINALEND
@@ -984,6 +1009,7 @@
     my $r = shift;
     $r->content_type('text/html');
     $r->send_http_header;
+    $r->print(&Apache::loncommon::bodytag("Printing"));
 
 #-- start form
     &headerform($r);

--sakharuk1031688875--