--- loncom/interface/lonprintout.pm 2006/08/14 10:52:04 1.478 +++ loncom/interface/lonprintout.pm 2006/08/22 14:43:49 1.481 @@ -2,7 +2,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.478 2006/08/14 10:52:04 foxr Exp $ +# $Id: lonprintout.pm,v 1.481 2006/08/22 14:43:49 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1110,10 +1110,7 @@ sub print_construction_sequence { $answerform{'answer_output_mode'}='tex'; $answerform{'rndseed'}=$rndseed; $answerform{'problem_split'}=$parmhash{'problem_stream_switch'}; - if ($urlp=~/\/res\//) { - $env{'request.state'}='published'; - } - + if ($urlp=~/\/res\//) {$env{'request.state'}='published';} $resources_printed .= $urlp.':'; my $answer=&Apache::lonnet::ssi($urlp,%answerform); if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { @@ -1201,8 +1198,6 @@ ENDPART my $start_page = &Apache::loncommon::start_page('Preparing Printout',$js); my $msg = &mt('Please stand by while processing your print request, this may take some time ...'); - - $r->print($start_page."\n

\n$msg\n

\n"); # fetch the pagebreaks and store them in the course environment @@ -1254,7 +1249,6 @@ ENDPART } if ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'current_document') { - #-- single document - problem, page, html, xml, ... my ($currentURL,$cleanURL); @@ -2162,7 +2156,7 @@ sub printHelper { if ($env{'form.postdata'}=~/^(?:http:\/\/[^\/]+\/|\/|)\~([^\/]+)\/(.*)$/) { $helper->{VARS}->{'filename'} = "~$1/$2"; $helper->{VARS}->{'construction'} = 1; - } elsif ($env{'form.postdata'}) { + } else { if ($env{'form.postdata'}) { $helper->{VARS}->{'symb'} = &Apache::lonnet::symbread($env{'form.postdata'}); } @@ -2174,6 +2168,7 @@ sub printHelper { } } + if ($env{'form.symb'}) { $helper->{VARS}->{'symb'} = $env{'form.symb'}; } @@ -2185,6 +2180,7 @@ sub printHelper { &Apache::lonenc::check_encrypt($helper->{VARS}->{'symb'}); my ($resourceTitle,$sequenceTitle,$mapTitle) = &details_for_menu($helper); if ($sequenceTitle ne '') {$helper->{VARS}->{'assignment'}=$sequenceTitle;} + # Extract map my $symb = $helper->{VARS}->{'symb'}; @@ -2192,19 +2188,16 @@ sub printHelper { my $subdir; # Get the resource name from construction space - if ($helper->{VARS}->{'construction'}) { $resourceTitle = substr($helper->{VARS}->{'filename'}, rindex($helper->{VARS}->{'filename'}, '/')+1); $subdir = substr($helper->{VARS}->{'filename'}, 0, rindex($helper->{VARS}->{'filename'}, '/') + 1); - } elsif ($env{'form.postdata'} =~ /^\/res\//) { # Get resource name from res space. - $helper->{VARS}->{'postdata'} = $env{'form.postdata'}; - - } elsif (!$helper->{VARS}->{'postdata'}) { + } else { ($map, $id, $url) = &Apache::lonnet::decode_symb($symb); $helper->{VARS}->{'postdata'} = &Apache::lonenc::check_encrypt(&Apache::lonnet::clutter($url)); + if (!$resourceTitle) { # if the resource doesn't have a title, use the filename my $postdata = $helper->{VARS}->{'postdata'}; $resourceTitle = substr($postdata, rindex($postdata, '/') + 1);