Diff for /loncom/interface/lonprintout.pm between versions 1.31 and 1.35

version 1.31, 2002/05/22 21:10:42 version 1.35, 2002/07/01 15:02:54
Line 46  use Apache::lonnet; Line 46  use Apache::lonnet;
 use Apache::inputtags;  use Apache::inputtags;
 use Apache::edit;  use Apache::edit;
 use Apache::File();  use Apache::File();
   use POSIX qw(strftime);
   
   
 sub headerform {  sub headerform {
Line 110  ENDPART Line 110  ENDPART
   
     my $choice = $ENV{'form.choice'};      my $choice = $ENV{'form.choice'};
     my $layout = $ENV{'form.layout'};      my $layout = $ENV{'form.layout'};
     my $subdirtoprint = $ENV{'form.subdirect'};  
     my $laystyle = 'book';      my $laystyle = 'book';
     my $result = '';      my $result = '';
     my %mystyle;      my $number_of_columns = 1;
     my $filename;  
   
     if ($choice eq 'Standard LaTeX output for current document') {      if ($choice eq 'Standard LaTeX output for current document') {
       my %moreenv;        my %moreenv;
       my $currequest=$ENV{'request.filename'};  
       $moreenv{'form.grade_target'}='tex';        $moreenv{'form.grade_target'}='tex';
       $moreenv{'request.filename'}=$ENV{'form.url'};        $moreenv{'request.filename'}=$ENV{'form.url'};
       &Apache::lonnet::appenv(%moreenv);        &Apache::lonnet::appenv(%moreenv);
       my $texversion=&Apache::lonnet::ssi($ENV{'form.url'});        my $texversion=&Apache::lonnet::ssi($ENV{'form.url'});
       &Apache::lonnet::delenv('form.grade_target');        &Apache::lonnet::delenv('form.grade_target');
       %moreenv = ();  
       $moreenv{'request.filename'}=$currequest;  
       &Apache::lonnet::appenv(%moreenv);  
       $result .= $texversion;        $result .= $texversion;
       $result = &additional_cleanup($result);        $result = &additional_cleanup($result);
         if ($ENV{'form.url'}=~m/\.page\s*$/) {($result,$number_of_columns) = &page_cleanup($result);}
     } elsif ($choice eq 'Standard LaTeX output for the primary sequence' or $choice eq 'Standard LaTeX output for whole primary sequence') {      } elsif ($choice eq 'Standard LaTeX output for the primary sequence' or $choice eq 'Standard LaTeX output for whole primary sequence') {
 #-- where is the primary sequence containing file?  #-- where is the primary sequence containing file?
  my %moreenv;   my %moreenv;
Line 245  ENDPART Line 240  ENDPART
         $_ = $courseidinfo;          $_ = $courseidinfo;
         m/.*\/(.*)/;          m/.*\/(.*)/;
         $courseidinfo = $ENV{'course.physnet_'.$1.'.description'};          $courseidinfo = $ENV{'course.physnet_'.$1.'.description'};
  $result =~ s/\\documentclass\[letterpaper\]{article}/\\documentclass\[twocolumn\]{article}/;  # $result =~ s/\\documentclass\[letterpaper\]{article}/\\documentclass\[twocolumn\]{article}/;
  $result =~ s/\\begin{document}/\\textheight 25\.9cm\\oddsidemargin = -0\.57in\\evensidemargin = -0\.57in\\textwidth= 7\.7in\\renewcommand{\\ref}{\\keephidden\}\\begin{document}\\voffset=-1\.8cm\\setcounter{page}{1}\\noindent\\fbox{\\textbf{$ENV{'environment.firstname'} $ENV{'environment.lastname'}}}\\hskip 1\.4in $courseidinfo \\vskip 5 mm /;   $result =~ s/\\documentclass\[letterpaper\]{article}/\\documentclass{article}/;
    $result =~ s/\\begin{document}/\\textheight 25\.9cm\\oddsidemargin = -0\.57in\\evensidemargin = -0\.57in\\textwidth= 9cm\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\begin{document}\\voffset=-1\.8cm\\setcounter{page}{1}\\parbox{\\minipagewidth}{\\noindent\\fbox{\\textbf{$ENV{'environment.firstname'} $ENV{'environment.lastname'}}}\\hskip 1\.4in $courseidinfo} \\vskip 5 mm /;
  $result =~ s/\\includegraphics{/\\includegraphics\[width=9\.0 cm\]{/g;   $result =~ s/\\includegraphics{/\\includegraphics\[width=9\.0 cm\]{/g;
  $result =~ s/(\\end{document})/\\newline\\noindent\\makebox\[9.0cm\]\[b\]{\\hrulefill}\\newline\\noindent\\tiny Dept\. of Physics and Astronomy, MSU\\makebox\[1.5cm\]\[b\]{\\hfill}LON-CAPA\\copyright MSU GNU\/GPL $1/;   $result =~ s/(\\end{document})/\\newline\\noindent\\makebox\[9.0cm\]\[b\]{\\hrulefill}\\newline\\noindent\\tiny Dept\. of Physics and Astronomy, MSU\\makebox\[1.5cm\]\[b\]{\\hfill}LON-CAPA\\copyright MSU GNU\/GPL $1/;
           $result =~ s/(\\end{longtable}\s*)(\\newline\\noindent\\makebox\[9\.0cm\]\[b\]{\\hrulefill})/$2$1/g;
           $result =~ s/(\\end{longtable}\s*)\\newline/$1/g;
     }      }
 #-- LaTeX corrections       #-- LaTeX corrections     
     my $first_comment = index($result,'<!--',0);      my $first_comment = index($result,'<!--',0);
Line 269  ENDPART Line 267  ENDPART
     $result =~ s/\b_+\b/\\makebox\[1 cm\]\[b\]{\\hrulefill}/g;      $result =~ s/\b_+\b/\\makebox\[1 cm\]\[b\]{\\hrulefill}/g;
 #-- writing .tex file in prtspool   #-- writing .tex file in prtspool 
     my $temp_file;      my $temp_file;
     $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout_".time."_".rand(10000000).".tex";      my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout_".time."_".rand(10000000).".tex";
     unless ($temp_file = Apache::File->new('>'.$filename)) {      unless ($temp_file = Apache::File->new('>'.$filename)) {
  $r->log_error("Couldn't open $filename for output $!");   $r->log_error("Couldn't open $filename for output $!");
  return SERVER_ERROR;    return SERVER_ERROR; 
Line 294  sub additional_cleanup { Line 292  sub additional_cleanup {
     }      }
     return $result;      return $result;
 }  }
   sub page_cleanup {
       my $result = shift;
       $_ = $result;
       m/\\end{document}(\d*)$/;
       my $number_of_columns = $1;
       my $insert = '{';
       for (my $id=1;$id<=$number_of_columns;$id++) { $insert .='l'; }
       $insert .= '}';
       $result =~ s/(\\begin{longtable})INSERTTHEHEADOFLONGTABLE/$1$insert/g;
       $result =~ s/&\s*REMOVETHEHEADOFLONGTABLE\\\\/\\\\/g;
       $result =~ s/(\\vskip\s*\d+\s*mm)/}\\\\\\parbox{\\minipagewidth}{/g;
       $result =~ s/\\parbox{\\minipagewidth}{}\s*\\\\\s*(\\parbox{\\minipagewidth})/$1/g;
       return $result,$number_of_columns;
   }
   
 sub content_map {  sub content_map {
 #-- find a list of files to print  #-- find a list of files to print

Removed from v.1.31  
changed lines
  Added in v.1.35


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.