--- loncom/interface/lonprintout.pm 2005/02/22 16:08:11 1.364
+++ loncom/interface/lonprintout.pm 2005/02/23 11:51:40 1.366
@@ -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.366 2005/02/23 11:51:40 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);
@@ -1637,13 +1639,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 +1766,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 +1833,6 @@ HELPERFRAGMENT
suppressEmptySequences='0' addstatus='1' closeallpages='1'>
PAGESIZE
return $isNotMap;
- $map
return $symbFilter;
@@ -2031,7 +2045,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();