From 9092378ddbd1aa07aacd17fe52589a04a079dfe2 Mon Sep 17 00:00:00 2001 From: Dan Poltawski Date: Thu, 10 Oct 2013 13:05:17 +0800 Subject: [PATCH] MDL-42240 assignfeedback_editpdf: improve ghostscript debugging --- mod/assign/feedback/editpdf/classes/pdf.php | 13 +++++++++---- .../editpdf/lang/en/assignfeedback_editpdf.php | 4 ++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/mod/assign/feedback/editpdf/classes/pdf.php b/mod/assign/feedback/editpdf/classes/pdf.php index f83a5e1ee29..0244ee20b48 100644 --- a/mod/assign/feedback/editpdf/classes/pdf.php +++ b/mod/assign/feedback/editpdf/classes/pdf.php @@ -401,11 +401,16 @@ class pdf extends \FPDI { "-dGraphicsAlphaBits=4 -dTextAlphaBits=4 -sOutputFile=\"$imagefile\" \"$filename\""; //$command = escapeshellcmd($command); - $result = exec($command); + $output = null; + $result = exec($command, $output); if (!file_exists($imagefile)) { - $fullerror = 'Command:' . ($command) . '
'; - $fullerror .= 'Result:' . htmlspecialchars($result) . '
'; - throw new \moodle_exception('errorgenerateimage', 'assignfeedback_pdf', '', $fullerror); + $fullerror = '
'.get_string('command', 'assignfeedback_editpdf')."\n";
+                $fullerror .= $command . "\n\n";
+                $fullerror .= get_string('result', 'assignfeedback_editpdf')."\n";
+                $fullerror .= htmlspecialchars($result) . "\n\n";
+                $fullerror .= get_string('output', 'assignfeedback_editpdf')."\n";
+                $fullerror .= htmlspecialchars(implode("\n",$output)) . '
'; + throw new \moodle_exception('errorgenerateimage', 'assignfeedback_editpdf', '', $fullerror); } } diff --git a/mod/assign/feedback/editpdf/lang/en/assignfeedback_editpdf.php b/mod/assign/feedback/editpdf/lang/en/assignfeedback_editpdf.php index 1b23a21c17e..2655133ce5d 100644 --- a/mod/assign/feedback/editpdf/lang/en/assignfeedback_editpdf.php +++ b/mod/assign/feedback/editpdf/lang/en/assignfeedback_editpdf.php @@ -33,6 +33,7 @@ $string['clear'] = 'Clear'; $string['colourpicker'] = 'Colour Picker'; $string['commentcolour'] = 'Comment color'; $string['comment'] = 'Comments'; +$string['command'] = 'Command:'; $string['commentcontextmenu'] = 'Comment context menu'; $string['couldnotsavepage'] = 'Could not save page {$a}'; $string['currentstamp'] = 'Stamp'; @@ -41,6 +42,7 @@ $string['deletecomment'] = 'Delete comment'; $string['deletefeedback'] = 'Delete feedback PDF'; $string['downloadablefilename'] = 'feedback.pdf'; $string['downloadfeedback'] = 'Download feedback PDF'; +$string['errorgenerateimage'] = 'Error generating image with ghostscript, debugging info: {$a}'; $string['editpdf'] = 'Annotate PDF'; $string['editpdf_help'] = 'Annotate students submissions directly in the browser and produce an edited downloadable PDF.'; $string['enabled'] = 'Annotate PDF'; @@ -59,11 +61,13 @@ $string['loadingeditor'] = 'Loading PDF editor'; $string['navigatenext'] = 'Next page'; $string['navigateprevious'] = 'Previous page'; $string['oval'] = 'Oval'; +$string['output'] = 'Output:'; $string['pagexofy'] = 'Page {$a->page} of {$a->total}'; $string['pen'] = 'Pen'; $string['pluginname'] = 'Annotate PDF'; $string['rectangle'] = 'Rectangle'; $string['red'] = 'Red'; +$string['result'] = 'Result:'; $string['searchcomments'] = 'Search comments'; $string['select'] = 'Select'; $string['stamppicker'] = 'Stamp picker';