From d5206315fe97062e99a039247b66c2d86cbe84ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Oudin?= Date: Sat, 13 Oct 2018 16:26:04 +0200 Subject: [PATCH] Fix piplomes --- app/controller/cron.php | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/app/controller/cron.php b/app/controller/cron.php index c291433..19097e5 100644 --- a/app/controller/cron.php +++ b/app/controller/cron.php @@ -41,7 +41,7 @@ class Cron extends Controller // We do have our IDs // We need to create a PDF - $lock = @fopen("tmp/piplomes.lock", "ab"); + $lock = @fopen("../tmp/piplomes.lock", "ab"); if ($lock) { flock($lock, LOCK_EX); foreach ($pdfs as $pdf) { @@ -64,9 +64,9 @@ class Cron extends Controller // Let's trash the garbage foreach (array('tex', 'aux', 'pdf', 'log') as $ext) { - @unlink(dirname(__FILE__)."/../tmp/pplome.".$ext); + @unlink(dirname(__FILE__)."/../../tmp/pplome.".$ext); } - + // We now have only fr or en templates if ($pdf['lang'] == 'fr') { $pdf['lang'] = 'fr_FR'; @@ -76,10 +76,10 @@ class Cron extends Controller } $logger->write("Language is ".$pdf['lang'].""); - $template = file_get_contents(dirname(__FILE__)."/../locales/".$pdf['lang']."/LC_MESSAGES/plome.tex"); + $template = file_get_contents(dirname(__FILE__)."/../../locales/".$pdf['lang']."/LC_MESSAGES/plome.tex"); // We will open the pi-decimals file - $pi = fopen(dirname(__FILE__)."/../static/pi-billion.txt", "rb"); + $pi = fopen(dirname(__FILE__)."/../../www/static/pi-billion.txt", "rb"); if (!$pi) { $logger->write("FATAL: Can't open decimals"); exit(); @@ -100,7 +100,7 @@ class Cron extends Controller // Let's replace the templates with values file_put_contents( - dirname(__FILE__)."/../tmp/pplome.tex", + dirname(__FILE__)."/../../tmp/pplome.tex", str_replace( "%%DECIMALES%%", $decimales, @@ -118,13 +118,13 @@ class Cron extends Controller // Let's create the pdf from the template $logger->write("Building the pdf from the tex template"); - $command = 'TEXINPUTS='.dirname(__FILE__).'/tex/:$TEXINPUTS '; + $command = 'TEXINPUTS='.dirname(__FILE__).'/../../tex/:$TEXINPUTS '; // We need to set an env variable first - putenv('TEXINPUTS='.dirname(__FILE__).'/../tex:'.getenv('TEXINPUTS')); + putenv('TEXINPUTS='.dirname(__FILE__).'/../../tex:'.getenv('TEXINPUTS')); $command .= '/usr/bin/pdflatex '; - $command .= '-output-directory='.dirname(__FILE__)."/../tmp "; - $command .= dirname(__FILE__)."/../tmp/pplome.tex"; + $command .= '-output-directory='.dirname(__FILE__)."/../../tmp "; + $command .= dirname(__FILE__)."/../../tmp/pplome.tex"; $logger->write($command); exec($command, $output, $return); foreach ($output as $line) { @@ -141,11 +141,11 @@ class Cron extends Controller // Move the pdf to its position @unlink(PIPLOME_PATH . $pdf['hash'] .".pdf"); $logger->write("Moving pdf to ".PIPLOME_PATH.$pdf['hash'].".pdf"); - @rename(dirname(__FILE__)."/../tmp/pplome.pdf", PIPLOME_PATH . $pdf['hash'] . ".pdf"); + @rename(dirname(__FILE__)."/../../tmp/pplome.pdf", PIPLOME_PATH . $pdf['hash'] . ".pdf"); // Let's trash the garbage foreach (array('tex', 'aux', 'pdf', 'log') as $ext) { - @unlink(dirname(__FILE__)."/../tmp/pplome.".$ext); + @unlink(dirname(__FILE__)."/../../tmp/pplome.".$ext); } // Saving the pathin database @@ -167,17 +167,18 @@ class Cron extends Controller $result = $db->query("SELECT dons.id as id, decimale, users.pseudo as nom, - lang + lang, + pdf FROM dons LEFT JOIN users ON dons.user_id = users.id WHERE dons.status IN (1, 4, 101) AND dons.id='".\Utils::asl($args['id'])."'"); $pdf = $result->fetch(\PDO::FETCH_ASSOC); - $fp = fopen(PIPLOME_PATH . $pdf['hash'] .".pdf", "rb"); + $fp = fopen(PIPLOME_PATH . $pdf['pdf'] .".pdf", "rb"); if ($fp) { - $fsize = filesize(PIPLOME_PATH . $pdf['hash'] .".pdf"); + $fsize = filesize(PIPLOME_PATH . $pdf['pdf'] .".pdf"); header("Content-Type: application/pdf"); - header("Content-Disposition: attachment; filename=\"".$pdf['hash'].".pdf\""); + header("Content-Disposition: attachment; filename=\"".$pdf['pdf'].".pdf\""); header("Content-Length: $fsize"); while (!feof($fp)) { $buffer = fread($fp, 2048); -- GitLab