--- loncom/interface/printout.pl 2017/01/29 13:07:14 1.163 +++ loncom/interface/printout.pl 2017/11/12 15:41:45 1.165 @@ -1,7 +1,7 @@ #!/usr/bin/perl # CGI-script to run LaTeX, dvips, ps2ps, ps2pdf etc. # -# $Id: printout.pl,v 1.163 2017/01/29 13:07:14 raeburn Exp $ +# $Id: printout.pl,v 1.165 2017/11/12 15:41:45 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -40,6 +40,7 @@ use Apache::lonlocal; use Apache::lonmsg(); use LONCAPA::Enrollment; use LONCAPA::Configuration; +use LONCAPA; use strict; @@ -201,7 +202,7 @@ my $tableofindex = $env{'cgi.'.$identifi my $advanced_role = $env{'cgi.'.$identifier.'.role'}; my $number_of_files = $env{'cgi.'.$identifier.'.numberoffiles'}+1; my $student_names = $env{'cgi.'.$identifier.'.studentnames'}; -my $backref = &Apache::lonnet::unescape($env{'cgi.'.$identifier.'.backref'}); +my $backref = &unescape($env{'cgi.'.$identifier.'.backref'}); my @names_pack=(); @@ -979,18 +980,29 @@ sub convert_figure { $eps_f = $perlvar{'lonPrtDir'}.'/'.$eps_f; &debug("Converting pdf $not_eps to postscript: $eps_f"); - system("pdftops $not_eps $eps_f"); - $pdfs_converted++; # Need to fix ps in last pass. + my @args = ('pdftops',$not_eps,$eps_f); + system({$args[0]} @args); # Indirect object forces list processing mode. + # See perlfunc documentation for exec(). + if ($? and $advanced_role) { + print '

' + .&mt('An error occurred during the conversion of [_1] to postscript.', + ''.$prettyname.'') + .'

'; + } else { + $pdfs_converted++; # Need to fix ps in last pass. + } } else { - system("convert $not_eps $eps_f"); - if($? and $advanced_role){ - print '

' - .&mt('An error occurred during the conversion of [_1].', + my @args = ('convert',$not_eps,$eps_f); + system({$args[0]} @args); # Indirect object forces list processing mode. + # See perlfunc documentation for exec(). + if ($? and $advanced_role) { + print '

' + .&mt('An error occurred during the conversion of [_1].', ''.$prettyname.'') - .'
' - .&mt('If possible try to save this image using different settings and republish it.') - .'

'; - } + .'
' + .&mt('If possible try to save this image using different settings and republish it.') + .'

'; + } } if (not -e $eps_f) {