--- loncom/interface/lonprintout.pm 2005/02/22 16:08:11 1.364
+++ loncom/interface/lonprintout.pm 2005/03/22 10:53:43 1.369
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.364 2005/02/22 16:08:11 albertel Exp $
+# $Id: lonprintout.pm,v 1.369 2005/03/22 10:53:43 foxr Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -845,9 +845,11 @@ ENDPART
# The page breaks will be pulled into the hash %page_breaks which is
# indexed by symb and contains 1's for each break.
- $ENV{'form.pagebreaks'} = $helper->{'VARS'}->{'FINISHPAGE'};
+ $ENV{'form.pagebreaks'} = $helper->{'VARS'}->{'FINISHPAGE'};
+ $ENV{'form.lastprinttype'} = $helper->{'VARS'}->{'PRINT_TYPE'};
&Apache::loncommon::store_course_settings('print',
- {'pagebreaks' => 'scalar'});
+ {'pagebreaks' => 'scalar',
+ 'lastprinttype' => 'scalar'});
my %page_breaks = &get_page_breaks($helper);
@@ -1180,6 +1182,7 @@ ENDPART
$moreenv{'textwidth'}=&get_textwidth($helper,$LaTeXwidth);
$moreenv{'print_discussions'}=$helper->{'VARS'}->{'PRINT_DISCUSSIONS'};
$moreenv{'problem_split'} = $parmhash{'problem_stream_switch'};
+ $moreenv{'suppress_tries'} = $parmhash{'suppress_tries'};
if ($helper->{'VARS'}->{'PRINT_DISCUSSIONS'} eq 'yes') {$moreenv{'problem_split'}='yes';}
my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r,'Print Status','Class Print Status',$#students+1,'inline','75');
my $student_counter=-1;
@@ -1338,6 +1341,7 @@ ENDPART
$result =~ s/\\evensidemargin\s*=\s*-?\d*\.?\d*\s*(cm|mm|in)/\\evensidemargin= $helper->{'VARS'}->{'pagesize.lmargin'} $helper->{'VARS'}->{'pagesize.lmarginunit'} /;
$result =~ s/\\oddsidemargin\s*=\s*-?\d*\.?\d*\s*(cm|mm|in)/\\oddsidemargin= $helper->{'VARS'}->{'pagesize.lmargin'} $helper->{'VARS'}->{'pagesize.lmarginunit'} /;
}
+
#-- writing .tex file in prtspool
my $temp_file;
my $identifier = &Apache::loncommon::get_cgi_id();
@@ -1582,7 +1586,14 @@ sub handler {
#
-
+ # If a figure conversion queue file exists for this user.domain
+ # we delete it since it can only be bad (if it were good, printout.pl
+ # would have deleted it the last time around.
+
+ my $conversion_queuefile = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout.dat";
+ if(-e $conversion_queuefile) {
+ unlink $conversion_queuefile;
+ }
&output_data($r,$helper,\%parmhash);
return OK;
}
@@ -1637,13 +1648,26 @@ sub printHelper {
$helper->declareVar('style_file');
$helper->declareVar('student_sort');
$helper->declareVar('FINISHPAGE');
+ $helper->declareVar('PRINT_TYPE');
# The page breaks can get loaded initially from the course environment:
+
+ if((!defined($ENV{"form.CURRENT_STATE"})) ||
+ ($ENV{'form.CURRENT_STATE'} == "START")) {
+ $helper->{VARS}->{FINISHPAGE} = ""; # In case they did a back e.g.
+ }
+
+
&Apache::loncommon::restore_course_settings('print',
- {'pagebreaks' => 'scalar'});
+ {'pagebreaks' => 'scalar',
+ 'lastprinttype' => 'scalar'});
- $helper->{VARS}->{FINISHPAGE} = $ENV{'form.pagebreaks'};
+
+ if("$helper->{VARS}->{PRINT_TYPE}" eq "$ENV{'form.lastprinttype'}") {
+ $helper->{VARS}->{FINISHPAGE} = $ENV{'form.pagebreaks'};
+ }
+
# This will persistently load in the data we want from the
# very first screen.
@@ -1751,8 +1775,8 @@ sub printHelper {
$helper->declareVar('SEQUENCE');
# Useful for debugging: Dump the help vars
- #$r->print(Dumper($helper->{VARS}));
- #$r->print($map);
+# $r->print(Dumper($helper->{VARS}));
+# $r->print($map);
# If we're in a sequence...
if (($helper->{'VARS'}->{'construction'} ne '1') &&
@@ -1818,7 +1842,6 @@ HELPERFRAGMENT
suppressEmptySequences='0' addstatus='1' closeallpages='1'>
PAGESIZE
return $isNotMap;
- $map
return $symbFilter;
@@ -2031,7 +2054,6 @@ CHOOSE_FROM_ANY_SEQUENCE
Apache::lonhelper::message->new();
$paramHash = Apache::lonhelper::getParamHash();
$paramHash->{'variable'} = 'PRINT_TYPE';
- $helper->declareVar('PRINT_TYPE');
$paramHash->{CHOICES} = $printChoices;
Apache::lonhelper::choices->new();
@@ -2047,8 +2069,7 @@ CHOOSE_FROM_ANY_SEQUENCE
$paramHash->{CHOICES} = [
['Without Answers', 'yes'],
['With Answers', 'no'],
- ['Only Answers', 'only'],
- ['As Exam Problem', 'exam']
+ ['Only Answers', 'only']
];
Apache::lonhelper::dropdown->new();
addMessage("");