mirror of
https://github.com/moodle/moodle.git
synced 2025-08-09 10:56:56 +02:00
MDL-43074 assignfeedback_editpdf: Use escapeshellarg for all args in exec command.
This is to fix a reported problem with windows compatibility (e.g. when ghostscript is installed in a folder with spaces in the name).
This commit is contained in:
parent
dbc251e25c
commit
42515a2e58
1 changed files with 10 additions and 9 deletions
|
@ -426,14 +426,14 @@ class pdf extends \FPDI {
|
|||
|
||||
if ($generate) {
|
||||
// Use ghostscript to generate an image of the specified page.
|
||||
$gsexec = \get_config('assignfeedback_editpdf', 'gspath');
|
||||
$imageres = 100;
|
||||
$filename = $this->filename;
|
||||
$pagenoinc = $pageno + 1;
|
||||
$gsexec = \escapeshellarg(\get_config('assignfeedback_editpdf', 'gspath'));
|
||||
$imageres = \escapeshellarg(100);
|
||||
$imagefilearg = \escapeshellarg($imagefile);
|
||||
$filename = \escapeshellarg($this->filename);
|
||||
$pagenoinc = \escapeshellarg($pageno + 1);
|
||||
$command = "$gsexec -q -sDEVICE=png16m -dSAFER -dBATCH -dNOPAUSE -r$imageres -dFirstPage=$pagenoinc -dLastPage=$pagenoinc ".
|
||||
"-dGraphicsAlphaBits=4 -dTextAlphaBits=4 -sOutputFile=\"$imagefile\" \"$filename\"";
|
||||
"-dGraphicsAlphaBits=4 -dTextAlphaBits=4 -sOutputFile=$imagefilearg $filename";
|
||||
|
||||
//$command = escapeshellcmd($command);
|
||||
$output = null;
|
||||
$result = exec($command, $output);
|
||||
if (!file_exists($imagefile)) {
|
||||
|
@ -484,9 +484,10 @@ class pdf extends \FPDI {
|
|||
|
||||
$file->copy_content_to($tempsrc); // Copy the file.
|
||||
|
||||
$gsexec = \get_config('assignfeedback_editpdf', 'gspath');
|
||||
$command = "$gsexec -q -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -sOutputFile=\"$tempdst\" \"$tempsrc\"";
|
||||
//$command = escapeshellcmd($command);
|
||||
$gsexec = \escapeshellarg(\get_config('assignfeedback_editpdf', 'gspath'));
|
||||
$tempdstarg = \escapeshellarg($tempdst);
|
||||
$tempsrcarg = \escapeshellarg($tempsrc);
|
||||
$command = "$gsexec -q -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -sOutputFile=$tempdstarg $tempsrcarg";
|
||||
exec($command);
|
||||
@unlink($tempsrc);
|
||||
if (!file_exists($tempdst)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue