--- loncom/interface/printout.pl 2006/12/19 10:39:28 1.119 +++ loncom/interface/printout.pl 2007/05/10 09:53:39 1.125 @@ -1,6 +1,7 @@ #!/usr/bin/perl # CGI-script to run LaTeX, dvips, ps2ps, ps2pdf etc. # +# $Id: printout.pl,v 1.125 2007/05/10 09:53:39 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -38,6 +39,7 @@ use Apache::loncommon(); use Apache::lonlocal; use Apache::lonmsg(); use LONCAPA::Enrollment; +use LONCAPA::Configuration; use strict; @@ -127,8 +129,8 @@ sub send_error_mail { foreach my $line (@$texfile) { $message .= "$line\n"; } - my (undef, %receivers) = &Apache::lonfeedback::decide_receiver(undef, 0, - 1,1,1); + my (undef, %receivers) = &Apache::lonmsg::decide_receiver(undef, 0, + 1,1,1); # print "
sending...section: $env{'request.course.sec'}"; foreach my $dest (keys %receivers) { # print "
dest is $dest"; @@ -160,6 +162,8 @@ Your cookie information is incorrect. END return; } + +my %perlvar=%{&LONCAPA::Configuration::read_conf('loncapa.conf')}; &Apache::lonlocal::get_language_handle(); &Apache::loncommon::content_type(undef,'text/html'); @@ -187,9 +191,9 @@ END print "Return to last resource.

"; my $figfile = $texfile; - $figfile =~ s/^([^\.]+printout)[^t]+\.tex/$1\.dat/; + $figfile =~ s/^(.*_printout)_\d+_\d+_\d+\.tex/$1\.dat/; my $duefile = $texfile; - $duefile =~ s/^([^\.]+printout)[^t]+\.tex/$1\.due/; + $duefile =~ s/^(.*_printout)_\d+_\d+_\d+\.tex/$1\.due/; #do we have figures? # print "Figure file: $figfile\n"; if (-e $figfile) { @@ -213,13 +217,13 @@ print "ReturnReturn\n"; # print "
Advanced role
"; print "The link to "; - $logfilename=~s/\/home\/httpd//; + $logfilename=~s{^\Q$perlvar{'lonPrtDir'}\E}{/prtspool}; print "
Your log file "; print "\n"; #link tooriginal LaTeX file (included according Michael Hamlin desire) @@ -453,7 +457,7 @@ foreach $texfile (@texfile) { print $tex_temporary_file 'LOGFILE
'.$body_tex_file.'
'."\n"; print "

"; print "The link to "; - $texfile=~s/\/home\/httpd//; + $texfile=~s{^\Q$perlvar{'lonPrtDir'}\E}{/prtspool}; print "Your original LaTeX file "; print "\n"; my $help_text = &Apache::loncommon::help_open_topic("Print_Resource", "Help on printing"); @@ -558,7 +562,7 @@ foreach $texfile (@texfile) { #print("
Missing fonts file is: $missfonts_file"); if (-e $missfonts_file) { #print("
Missing fonts file exists\n"); - &create_missing_fonts($missfonts_file); + &create_missing_fonts($missfonts_file,\%prog_state); &busy_wait_command("$comma $name_file 1>/dev/null 2>/dev/null", "for $status_statement dvips generated missing fonts", \%prog_state, $new_name_file); @@ -603,15 +607,15 @@ foreach $texfile (@texfile) { $texps =~ s/\.tex/\.ps/; my @garb = ($texaux,$texdvi,$texps); # unlink @garb; - unlink $duefile; + unlink($duefile); print "Your PDF document"; - unlink $missfonts_file; + unlink($missfonts_file); } if ($advanced_role) { print "

"; print "The link to "; - $logfilename=~s/\/home\/httpd//; + $logfilename=~s{^\Q$perlvar{'lonPrtDir'}\E}{/prtspool}; print "Your log file "; print "\n"; #link tooriginal LaTeX file (included according Michael Hamlin desire) @@ -624,7 +628,7 @@ foreach $texfile (@texfile) { print $tex_temporary_file 'LOGFILE
'.$body_tex_file.'
'."\n"; print "

"; print "The link to "; - $texfile=~s/\/home\/httpd//; + $texfile=~s{^\Q$perlvar{'lonPrtDir'}\E}{/prtspool}; print "Your original LaTeX file "; print "\n"; } @@ -669,7 +673,7 @@ foreach $texfile (@texfile) { #print("
Missing fonts file is: $missfonts_file"); if (-e $missfonts_file) { #print("
Missing fonts file exists\n"); - &create_missing_fonts($missfonts_file); + &create_missing_fonts($missfonts_file,\%prog_state); &busy_wait_command("$comma $name_file 1>/dev/null 2>/dev/null", "for $status_statement dvips generated missing fonts", \%prog_state, $new_name_file); @@ -756,11 +760,11 @@ foreach $texfile (@texfile) { $texps =~ s/\.tex/\.ps/; my @garb = ($texlog,$texaux,$texdvi,$texps); # unlink @garb; - unlink $duefile; + unlink($duefile); print "$link_text - click here to download pdf"; print "\n"; } - unlink $missfonts_file; + unlink($missfonts_file); } } else { @@ -779,7 +783,7 @@ if ($number_of_files>1) { print("
Zip Output:\n");
     system($statement);
     print("
"); - $zipfile=~s/\/home\/httpd//; + $zipfile=~s{^\Q$perlvar{'lonPrtDir'}\E}{/prtspool}; print "
A ZIP file of all the PDFs."; } if ($advanced_role) { &Apache::lonhtmlcommon::Close_PrgWin('',\%prog_state); } @@ -865,7 +869,7 @@ sub repaginate { # if ($line =~ /^%%Page:/) { - my @pageinfo = split(/ /, $line); + my @pageinfo = split(/\s+/, $line); if ($page_number < $pageinfo[1]) { $page_number = $pageinfo[1]; } elsif ($pageinfo[2] ne 1) { @@ -996,7 +1000,7 @@ sub create_missing_fonts { #print("
Creating fonts via command: $command"); &busy_wait_command("$command 1>/dev/null 2>/dev/null", "Creating missing font", - $state, $command); + $state); }