Diff for /loncom/interface/printout.pl between versions 1.119 and 1.123

version 1.119, 2006/12/19 10:39:28 version 1.123, 2007/04/20 20:54:24
Line 1 Line 1
 #!/usr/bin/perl  #!/usr/bin/perl
 # CGI-script to run LaTeX, dvips, ps2ps, ps2pdf etc.  # CGI-script to run LaTeX, dvips, ps2ps, ps2pdf etc.
 #  #
   # $Id$
 #  #
 # Copyright Michigan State University Board of Trustees  # Copyright Michigan State University Board of Trustees
 #  #
Line 38  use Apache::loncommon(); Line 39  use Apache::loncommon();
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::lonmsg();  use Apache::lonmsg();
 use LONCAPA::Enrollment;  use LONCAPA::Enrollment;
   use LONCAPA::Configuration;
   
 use strict;  use strict;
   
Line 127  sub send_error_mail { Line 129  sub send_error_mail {
     foreach my $line (@$texfile) {      foreach my $line (@$texfile) {
  $message .= "$line\n";   $message .= "$line\n";
     }      }
     my (undef, %receivers) = &Apache::lonfeedback::decide_receiver(undef, 0,      my (undef, %receivers) = &Apache::lonmsg::decide_receiver(undef, 0,
   1,1,1);        1,1,1);
     # print "<br /> sending...section:  $env{'request.course.sec'}";      # print "<br /> sending...section:  $env{'request.course.sec'}";
     foreach my $dest (keys %receivers) {      foreach my $dest (keys %receivers) {
  # print "<br /> dest is $dest";   # print "<br /> dest is $dest";
Line 160  Your cookie information is incorrect. Line 162  Your cookie information is incorrect.
 END  END
     return;      return;
 }  }
   
   my %perlvar=%{&LONCAPA::Configuration::read_conf('loncapa.conf')};
  &Apache::lonlocal::get_language_handle();   &Apache::lonlocal::get_language_handle();
  &Apache::loncommon::content_type(undef,'text/html');   &Apache::loncommon::content_type(undef,'text/html');
   
Line 187  END Line 191  END
 print "<a href=\"$backref\"><b>Return</b></a> to last resource.<br /><br />";  print "<a href=\"$backref\"><b>Return</b></a> to last resource.<br /><br />";
   
   my $figfile = $texfile;    my $figfile = $texfile;
   $figfile =~ s/^([^\.]+printout)[^t]+\.tex/$1\.dat/;    $figfile =~ s/^(.*_printout)_\d+_\d+_\d+\.tex/$1\.dat/;
   my $duefile = $texfile;    my $duefile = $texfile;
   $duefile =~ s/^([^\.]+printout)[^t]+\.tex/$1\.due/;    $duefile =~ s/^(.*_printout)_\d+_\d+_\d+\.tex/$1\.due/;
   #do we have figures?    #do we have figures?
   # print "Figure file: $figfile\n";    # print "Figure file: $figfile\n";
   if (-e $figfile) {    if (-e $figfile) {
Line 213  print "<a href=\"$backref\"><b>Return</b Line 217  print "<a href=\"$backref\"><b>Return</b
       # $eps_f =~ s/\.[^.]*$/\.eps/i;        # $eps_f =~ s/\.[^.]*$/\.eps/i;
       if ($eps_f=~/\/home\/([^\/]+)\/public_html\//) {        if ($eps_f=~/\/home\/([^\/]+)\/public_html\//) {
                   $eps_f=~s/\/home\/([^\/]+)\/public_html/$1/;                    $eps_f=~s/\/home\/([^\/]+)\/public_html/$1/;
   $eps_f = '/home/httpd/prtspool/'.$eps_f;    $eps_f = $perlvar{'lonPrtDir'}.$eps_f;
       } elsif ($eps_f=~/$Apache::lonnet::perlvar{'lonDocRoot'}\/res\//) {        } elsif ($eps_f=~/$perlvar{'lonDocRoot'}\/res\//) {
   $eps_f=~m/$Apache::lonnet::perlvar{'lonDocRoot'}\/res\/(.+)/;    $eps_f=~m/$perlvar{'lonDocRoot'}\/res\/(.+)/;
   $eps_f = '/home/httpd/prtspool/'.$1;    $eps_f = $perlvar{'lonPrtDir'}.$1;
       } elsif ($eps_f=~/$Apache::lonnet::perlvar{'lonUsersDir'}\//) {        } elsif ($eps_f=~/$perlvar{'lonUsersDir'}\//) {
   $eps_f=~/$Apache::lonnet::perlvar{'lonUsersDir'}\/([^\/]+)\/\w\/\w\/\w\/(.+)/;    $eps_f=~/$perlvar{'lonUsersDir'}\/([^\/]+)\/\w\/\w\/\w\/(.+)/;
   $eps_f = '/home/httpd/prtspool/'.$1.'/'.$2;    $eps_f = $perlvar{'lonPrtDir'}.$1.'/'.$2;
       }        }
       $eps_f  =~ s/ /\_/g; # Spaces are problematic for system commands and LaTeX.        $eps_f  =~ s/ /\_/g; # Spaces are problematic for system commands and LaTeX.
       #         # 
Line 252  print "<a href=\"$backref\"><b>Return</b Line 256  print "<a href=\"$backref\"><b>Return</b
   if ($advanced_role) {    if ($advanced_role) {
       my $prettyname=$not_eps;        my $prettyname=$not_eps;
       $prettyname=~s|/home/([^/]+)/public_html|/priv/$1|;        $prettyname=~s|/home/([^/]+)/public_html|/priv/$1|;
       $prettyname=~s|$Apache::lonnet::perlvar{'lonDocRoot'}/|/|;        $prettyname=~s|$perlvar{'lonDocRoot'}/|/|;
       &Apache::lonhtmlcommon::Update_PrgWin('',\%prog_state,        &Apache::lonhtmlcommon::Update_PrgWin('',\%prog_state,
     'Converting to EPS '.$prettyname);      'Converting to EPS '.$prettyname);
   }    }
Line 440  foreach $texfile (@texfile) { Line 444  foreach $texfile (@texfile) {
       print "</pre>\n";        print "</pre>\n";
       # print "<br /> Advanced role <br />";        # print "<br /> Advanced role <br />";
               print "<b><big>The link to ";                print "<b><big>The link to ";
               $logfilename=~s/\/home\/httpd//;                $logfilename=~s{^\Q$perlvar{'lonPrtDir'}\E}{/prtspool};
       print "<a href=\"$logfilename\">Your log file </a></big></b>";        print "<a href=\"$logfilename\">Your log file </a></big></b>";
       print "\n";        print "\n";
               #link tooriginal LaTeX file (included according Michael Hamlin desire)                #link tooriginal LaTeX file (included according Michael Hamlin desire)
Line 453  foreach $texfile (@texfile) { Line 457  foreach $texfile (@texfile) {
       print $tex_temporary_file '<html><head><title>LOGFILE</title></head><body><pre>'.$body_tex_file.'</pre></body></html>'."\n";        print $tex_temporary_file '<html><head><title>LOGFILE</title></head><body><pre>'.$body_tex_file.'</pre></body></html>'."\n";
       print "<br /><br />";        print "<br /><br />";
       print "<b><big>The link to ";        print "<b><big>The link to ";
       $texfile=~s/\/home\/httpd//;                $texfile=~s{^\Q$perlvar{'lonPrtDir'}\E}{/prtspool};
       print "<a href=\"$texfile\">Your original LaTeX file </a></big></b>";        print "<a href=\"$texfile\">Your original LaTeX file </a></big></b>";
       print "\n";        print "\n";
       my $help_text = &Apache::loncommon::help_open_topic("Print_Resource", "Help on printing");        my $help_text = &Apache::loncommon::help_open_topic("Print_Resource", "Help on printing");
Line 603  foreach $texfile (@texfile) { Line 607  foreach $texfile (@texfile) {
       $texps =~ s/\.tex/\.ps/;        $texps =~ s/\.tex/\.ps/;
       my @garb = ($texaux,$texdvi,$texps);        my @garb = ($texaux,$texdvi,$texps);
 #  unlink @garb;  #  unlink @garb;
       unlink $duefile;        unlink($duefile);
       print "<a href=\"/prtspool/$pdf_file\">Your PDF document</a>";        print "<a href=\"/prtspool/$pdf_file\">Your PDF document</a>";
       unlink $missfonts_file;        unlink($missfonts_file);
   
   }    }
   if ($advanced_role) {      if ($advanced_role) {  
       print "<br /><br />";        print "<br /><br />";
       print "<b><big>The link to ";        print "<b><big>The link to ";
       $logfilename=~s/\/home\/httpd//;                $logfilename=~s{^\Q$perlvar{'lonPrtDir'}\E}{/prtspool};
       print "<a href=\"$logfilename\">Your log file </a></big></b>";        print "<a href=\"$logfilename\">Your log file </a></big></b>";
       print "\n";        print "\n";
       #link tooriginal LaTeX file (included according Michael Hamlin desire)        #link tooriginal LaTeX file (included according Michael Hamlin desire)
Line 624  foreach $texfile (@texfile) { Line 628  foreach $texfile (@texfile) {
       print $tex_temporary_file '<html><head><title>LOGFILE</title></head><body><pre>'.$body_tex_file.'</pre></body></html>'."\n";        print $tex_temporary_file '<html><head><title>LOGFILE</title></head><body><pre>'.$body_tex_file.'</pre></body></html>'."\n";
       print "<br /><br />";        print "<br /><br />";
       print "<b><big>The link to ";        print "<b><big>The link to ";
       $texfile=~s/\/home\/httpd//;                $texfile=~s{^\Q$perlvar{'lonPrtDir'}\E}{/prtspool};
       print "<a href=\"$texfile\">Your original LaTeX file </a></big></b>";        print "<a href=\"$texfile\">Your original LaTeX file </a></big></b>";
       print "\n";        print "\n";
   }    }
Line 756  foreach $texfile (@texfile) { Line 760  foreach $texfile (@texfile) {
       $texps =~ s/\.tex/\.ps/;        $texps =~ s/\.tex/\.ps/;
       my @garb = ($texlog,$texaux,$texdvi,$texps);        my @garb = ($texlog,$texaux,$texdvi,$texps);
 #  unlink @garb;  #  unlink @garb;
       unlink $duefile;        unlink($duefile);
       print "<a href=\"/prtspool/$pdf_file\">$link_text - click here to download pdf</a>";        print "<a href=\"/prtspool/$pdf_file\">$link_text - click here to download pdf</a>";
       print "\n";        print "\n";
   }    }
   unlink $missfonts_file;    unlink($missfonts_file);
   
       }          }  
   } else {    } else {
Line 779  if ($number_of_files>1) { Line 783  if ($number_of_files>1) {
     print("<pre>Zip Output:\n");      print("<pre>Zip Output:\n");
     system($statement);      system($statement);
     print("</pre>");      print("</pre>");
     $zipfile=~s/\/home\/httpd//;      $zipfile=~s{^\Q$perlvar{'lonPrtDir'}\E}{/prtspool};
     print "<br /> A <a href=\"$zipfile\">ZIP file</a> of all the PDFs.";      print "<br /> A <a href=\"$zipfile\">ZIP file</a> of all the PDFs.";
 }  }
 if ($advanced_role) { &Apache::lonhtmlcommon::Close_PrgWin('',\%prog_state); }  if ($advanced_role) { &Apache::lonhtmlcommon::Close_PrgWin('',\%prog_state); }
Line 865  sub repaginate { Line 869  sub repaginate {
  #   #
   
  if ($line =~ /^%%Page:/) {   if ($line =~ /^%%Page:/) {
     my @pageinfo = split(/ /, $line);      my @pageinfo = split(/\s+/, $line);
     if ($page_number < $pageinfo[1]) {      if ($page_number < $pageinfo[1]) {
  $page_number = $pageinfo[1];   $page_number = $pageinfo[1];
     } elsif ($pageinfo[2] ne 1) {      } elsif ($pageinfo[2] ne 1) {

Removed from v.1.119  
changed lines
  Added in v.1.123


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>