--- loncom/interface/lonprintout.pm 2005/09/19 10:58:33 1.393
+++ loncom/interface/lonprintout.pm 2005/10/31 21:06:35 1.396
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.393 2005/09/19 10:58:33 foxr Exp $
+# $Id: lonprintout.pm,v 1.396 2005/10/31 21:06:35 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -903,6 +903,34 @@ sub unsupported {
#
+# List of recently generated print files
+#
+
+sub recently_generated {
+ my $r=shift;
+ my $prtspool=$r->dir_config('lonPrtDir');
+ my $result;
+ opendir(DIR,$prtspool);
+ while (my $filename=readdir(DIR)) {
+ if ($filename=~/^$env{'user.name'}\_$env{'user.domain'}\_printout\_(\d+)\_.*.pdf$/) {
+ my ($cdev,$cino,$cmode,$cnlink,
+ $cuid,$cgid,$crdev,$csize,
+ $catime,$cmtime,$cctime,
+ $cblksize,$cblocks)=stat($prtspool.'/'.$filename);
+ $result.="".
+ &mt('Generated [_1] ([_2] bytes)',
+ &Apache::lonlocal::locallocaltime($cctime),$csize).
+ '
';
+ }
+ }
+ closedir(DIR);
+ if ($result) {
+ $r->print('
'.&mt('Recently generated printouts').'
'."\n".
+ $result);
+ }
+}
+
+#
# Retrieve the hash of page breaks.
#
# Inputs:
@@ -1852,21 +1880,27 @@ sub printHelper {
$helper->declareVar("showallfoils");
# The page breaks can get loaded initially from the course environment:
+ # But we only do this in the initial state so that they are allowed to change.
+ #
- if((!defined($env{"form.CURRENT_STATE"})) ||
- ($env{'form.CURRENT_STATE'} == "START")) {
- $helper->{VARS}->{FINISHPAGE} = ""; # In case they did a back e.g.
- }
-
-
+ $helper->{VARS}->{FINISHPAGE} = '';
&Apache::loncommon::restore_course_settings('print',
{'pagebreaks' => 'scalar',
'lastprinttype' => 'scalar'});
-
- if("$helper->{VARS}->{PRINT_TYPE}" eq "$env{'form.lastprinttype'}") {
- $helper->{VARS}->{FINISHPAGE} = $env{'form.pagebreaks'};
+
+ if($helper->{VARS}->{PRINT_TYPE} eq $env{'form.lastprinttype'}) {
+ if (!defined ($env{"form.CURRENT_STATE"})) {
+
+ $helper->{VARS}->{FINISHPAGE} = $env{'form.pagebreaks'};
+ } else {
+ my $state = $env{"form.CURRENT_STATE"};
+ if ($state eq "START") {
+ $helper->{VARS}->{FINISHPAGE} = $env{'form.pagebreaks'};
+ }
+ }
+
}
@@ -1976,7 +2010,7 @@ sub printHelper {
$helper->declareVar('SEQUENCE');
# Useful for debugging: Dump the help vars
-# $r->print(Dumper($helper->{VARS}));
+# $r->print(Dumper($helper->{VARS}));
# $r->print($map);
# If we're in a sequence...
@@ -2456,7 +2490,6 @@ RNDSEED
$helper->{'VARS'}->{'style_file'}=$env{'form.style_file_value'};
}
-
}
@@ -2483,7 +2516,9 @@ RNDSEED
}
$r->print($helper->display());
-
+ if ($helper->{STATE} eq 'START') {
+ &recently_generated($r);
+ }
&Apache::lonhelper::unregisterHelperTags();
return OK;