[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> </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--