--- 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;