Diff for /loncom/interface/printout.pl between versions 1.146.4.3 and 1.149

version 1.146.4.3, 2014/02/13 17:47:30 version 1.149, 2011/05/18 11:26:44
Line 44  use LONCAPA::Configuration; Line 44  use LONCAPA::Configuration;
 use strict;  use strict;
   
 my $busy_wait_timeout = 30;   my $busy_wait_timeout = 30; 
   my $pdfs_converted    = 0; # non zero if PDF includes (need to fixps).
   
 my $debugging = 0;  my $debugging = 0;
   
Line 127  sub send_error_mail { Line 127  sub send_error_mail {
   
     # Todo: Convert badurl into a url from file path:      # Todo: Convert badurl into a url from file path:
   
     my $subject  = "Error [$badurl] Print failed for $user".':'.$domain;      my $subject  = "Error [$badurl] Print failed for $user".'@'.$domain;
     my $message .= "Print failed to render LaTeX for $user".':'."$domain\n";      my $message .= "Print failed to render LaTeX for $user".'@'."$domain\n";
     $message    .= "  User was attempting to print: \n";      $message    .= "  User was attempting to print: \n";
     foreach my $resource (split(/:/,$resources)) {      foreach my $resource (split(/:/,$resources)) {
  $message    .= "       $resource\n";   $message    .= "       $resource\n";
Line 308  foreach $texfile (@texfile) { Line 308  foreach $texfile (@texfile) {
   my $name;    my $name;
   my $name_range='';    my $name_range='';
   
   # $name       -> Either user's full name or username:domain    # $name       -> Either user's full name or username@domain
   # $name_range -> Either user's last name or username.    # $name_range -> Either user's last name or usrname.
   
   if ($tempo_array[3]) {    if ($tempo_array[3]) {
       $name=$tempo_array[3];        $name=$tempo_array[3];
       $name =~ s{^\s+|\s+$}{}g;        ($name_range) = split(/,/,$name, 2);
       if ($name =~ /,/) {  
           ($name_range) = split(/,/,$name, 2);  
       } elsif ($name =~ /\s/) {  
           $name_range = $name;  
           $name_range =~ s/\s+/_/;  
       } else {  
           $name_range = $name;  
       }  
       $name_range =~ s/[^\w\:\-]+//g;  
   } else {    } else {
       $name=$tempo_array[0].':'.$tempo_array[1];        $name=$tempo_array[0].'@'.$tempo_array[1];
       $name_range = $tempo_array[0];        $name_range = $tempo_array[0];
   }    }
   
Line 332  foreach $texfile (@texfile) { Line 323  foreach $texfile (@texfile) {
   # user is getting printed.    # user is getting printed.
   #    #
   
   if (($name ne "") && ($name ne ':') ) { # Could be printing codes...    if (($name ne "") && ($name ne '@') ) { # Could be printing codes...
       $link_text='<b>'.$name.'</b>';        $link_text='<b>'.$name.'</b>';
       $status_statement.=$name;        $status_statement.=$name;
   }    }
Line 345  foreach $texfile (@texfile) { Line 336  foreach $texfile (@texfile) {
       @tempo_array=split(/:/,$stud_info[-1]);        @tempo_array=split(/:/,$stud_info[-1]);
       if ($tempo_array[3]) {        if ($tempo_array[3]) {
   $name=$tempo_array[3];    $name=$tempo_array[3];
           $name =~ s{^\s+|\s+$}{}g;    my ($lastname) = split(/,/, $name,2);
           my $lastname;    $name_range .= "-".$lastname;
           if ($name =~ /,/) {  
               ($lastname) = split(/,/, $name,2);  
           } elsif ($name =~ /\s/) {  
               $lastname = $name;  
               $lastname =~ s/\s+/_/;  
           } else {  
               $lastname = $name;  
           }  
           $name_range .= "-".$lastname;  
           $name_range =~ s/[^\w\:\-]+//g;  
       } else {        } else {
   $name=$tempo_array[0].':'.$tempo_array[1];    $name=$tempo_array[0].'@'.$tempo_array[1];
   $name_range .= '-'.$tempo_array[0];    $name_range .= '-'.$tempo_array[0];
       }        }
       if (($name ne "") && ($name ne ':')) {        if (($name ne "") && ($name ne '@')) {
   $link_text.=' - <b>'.$name.'</b>';    $link_text.=' - <b>'.$name.'</b>';
   $status_statement.=' -  '.$name;    $status_statement.=' -  '.$name;
       
Line 496  foreach $texfile (@texfile) { Line 477  foreach $texfile (@texfile) {
       my $ps_file = my $tempo_file = $1.'temporar.ps';        my $ps_file = my $tempo_file = $1.'temporar.ps';
       my $pdf_file = $1.'.pdf';        my $pdf_file = $1.'.pdf';
       $papera=~s/t/p/;        $papera=~s/t/p/;
   #----
   # The code below uses fixps to make pdf include in sequences work.
   #
   #              $comma = "fixps --force $new_name_file";
   #              &debug("FIXPS command: $comma");
   #              &busy_wait_command("$comma 1>$tempo_file  2>/dev/null",
   #                                 "for $status_statement now validating PS",
   #                                 \%prog_state,$tempo_file);
   
   #--- 
   #  The code below uses gs to make pdf includes in sequences work
   
         # Use gs to fix the postscript -> level 1.5 
         # .. if pdfs were included
   
         if ($pdfs_converted > 0) {
     $comma = "gs -sDEVICE=pswrite -dLanguageLevel=1.5 ";
     &busy_wait_command("$comma -o $tempo_file $new_name_file 2>/dev/null 1>/dev/null",
        "for $status_statement now validating PS",
        \%prog_state, $tempo_file);
     
   #---
     &busy_wait_command("mv $tempo_file $new_name_file",
        'File move', \%prog_state, $new_name_file);
         }
       if ($laystyle eq 'album' and $numberofcolumns eq '2') {        if ($laystyle eq 'album' and $numberofcolumns eq '2') {
   $comma = "psnup $papera -2 -s1.0 $new_name_file";    $comma = "psnup $papera -2 -s1.0 $new_name_file";
   &debug("PSNUP command: $comma");    &debug("PSNUP command: $comma");
Line 923  sub convert_figure { Line 929  sub convert_figure {
  $not_eps =~ s/^\s+//;   $not_eps =~ s/^\s+//;
  $not_eps =~ s/\s+$//;   $not_eps =~ s/\s+$//;
  $not_eps =~ s/ /\\ /g;   $not_eps =~ s/ /\\ /g;
         my $prettyname=$not_eps;      my $prettyname=$not_eps;
  if ($advanced_role) {   if ($advanced_role) {
     $prettyname=~s|/home/([^/]+)/public_html|/priv/$1|;      $prettyname=~s|/home/([^/]+)/public_html|/priv/$1|;
     $prettyname=~s|$perlvar{'lonDocRoot'}/|/|;      $prettyname=~s|$perlvar{'lonDocRoot'}/|/|;
Line 945  sub convert_figure { Line 951  sub convert_figure {
   
     &debug("Converting pdf $not_eps to postscript: $eps_f");      &debug("Converting pdf $not_eps to postscript: $eps_f");
     system("pdftops $not_eps $eps_f");      system("pdftops $not_eps $eps_f");
       $pdfs_converted++; # Need to fix ps in last pass.
  } else {   } else {
     system("convert $not_eps $eps_f");      system("convert $not_eps $eps_f");
             if ($? and $advanced_role) {          if($? and $advanced_role){
                 print '<p class="LC_warning">'              print "<p class=\"LC_warning\">"
                       .&mt('An error occured during the conversion of [_1].[_2]If possible try to save this image using different settings and republish it.',                    .mt("An error occured during the conversion of [_1].[_2]"
                       '<span class="LC_filename">'.$prettyname.'</span>','<br/>')                    ."If possible try to save this image using different settings and republish it.",
                       .'</p>';                    "<span class=\"LC_filename\">".$prettyname."</span>", "<br/>")
             }                    ."</p>";
           }
  }   }
   
  if (not -e $eps_f) {   if (not -e $eps_f) {

Removed from v.1.146.4.3  
changed lines
  Added in v.1.149


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