Commit 213037a8 authored by okhin's avatar okhin 🚴

Merge branch 'fix-piplomes' into 'preprod'

Fix piplomes

See merge request !12
parents f67edd27 d5206315
...@@ -41,7 +41,7 @@ class Cron extends Controller ...@@ -41,7 +41,7 @@ class Cron extends Controller
// We do have our IDs // We do have our IDs
// We need to create a PDF // We need to create a PDF
$lock = @fopen("tmp/piplomes.lock", "ab"); $lock = @fopen("../tmp/piplomes.lock", "ab");
if ($lock) { if ($lock) {
flock($lock, LOCK_EX); flock($lock, LOCK_EX);
foreach ($pdfs as $pdf) { foreach ($pdfs as $pdf) {
...@@ -64,9 +64,9 @@ class Cron extends Controller ...@@ -64,9 +64,9 @@ class Cron extends Controller
// Let's trash the garbage // Let's trash the garbage
foreach (array('tex', 'aux', 'pdf', 'log') as $ext) { 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 // We now have only fr or en templates
if ($pdf['lang'] == 'fr') { if ($pdf['lang'] == 'fr') {
$pdf['lang'] = 'fr_FR'; $pdf['lang'] = 'fr_FR';
...@@ -76,10 +76,10 @@ class Cron extends Controller ...@@ -76,10 +76,10 @@ class Cron extends Controller
} }
$logger->write("Language is ".$pdf['lang'].""); $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 // 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) { if (!$pi) {
$logger->write("FATAL: Can't open decimals"); $logger->write("FATAL: Can't open decimals");
exit(); exit();
...@@ -100,7 +100,7 @@ class Cron extends Controller ...@@ -100,7 +100,7 @@ class Cron extends Controller
// Let's replace the templates with values // Let's replace the templates with values
file_put_contents( file_put_contents(
dirname(__FILE__)."/../tmp/pplome.tex", dirname(__FILE__)."/../../tmp/pplome.tex",
str_replace( str_replace(
"%%DECIMALES%%", "%%DECIMALES%%",
$decimales, $decimales,
...@@ -118,13 +118,13 @@ class Cron extends Controller ...@@ -118,13 +118,13 @@ class Cron extends Controller
// Let's create the pdf from the template // Let's create the pdf from the template
$logger->write("Building the pdf from the tex 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 // 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 .= '/usr/bin/pdflatex ';
$command .= '-output-directory='.dirname(__FILE__)."/../tmp "; $command .= '-output-directory='.dirname(__FILE__)."/../../tmp ";
$command .= dirname(__FILE__)."/../tmp/pplome.tex"; $command .= dirname(__FILE__)."/../../tmp/pplome.tex";
$logger->write($command); $logger->write($command);
exec($command, $output, $return); exec($command, $output, $return);
foreach ($output as $line) { foreach ($output as $line) {
...@@ -141,11 +141,11 @@ class Cron extends Controller ...@@ -141,11 +141,11 @@ class Cron extends Controller
// Move the pdf to its position // Move the pdf to its position
@unlink(PIPLOME_PATH . $pdf['hash'] .".pdf"); @unlink(PIPLOME_PATH . $pdf['hash'] .".pdf");
$logger->write("Moving pdf to ".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 // Let's trash the garbage
foreach (array('tex', 'aux', 'pdf', 'log') as $ext) { foreach (array('tex', 'aux', 'pdf', 'log') as $ext) {
@unlink(dirname(__FILE__)."/../tmp/pplome.".$ext); @unlink(dirname(__FILE__)."/../../tmp/pplome.".$ext);
} }
// Saving the pathin database // Saving the pathin database
...@@ -167,17 +167,18 @@ class Cron extends Controller ...@@ -167,17 +167,18 @@ class Cron extends Controller
$result = $db->query("SELECT dons.id as id, $result = $db->query("SELECT dons.id as id,
decimale, decimale,
users.pseudo as nom, users.pseudo as nom,
lang lang,
pdf
FROM dons FROM dons
LEFT JOIN users ON dons.user_id = users.id LEFT JOIN users ON dons.user_id = users.id
WHERE dons.status IN (1, 4, 101) WHERE dons.status IN (1, 4, 101)
AND dons.id='".\Utils::asl($args['id'])."'"); AND dons.id='".\Utils::asl($args['id'])."'");
$pdf = $result->fetch(\PDO::FETCH_ASSOC); $pdf = $result->fetch(\PDO::FETCH_ASSOC);
$fp = fopen(PIPLOME_PATH . $pdf['hash'] .".pdf", "rb"); $fp = fopen(PIPLOME_PATH . $pdf['pdf'] .".pdf", "rb");
if ($fp) { if ($fp) {
$fsize = filesize(PIPLOME_PATH . $pdf['hash'] .".pdf"); $fsize = filesize(PIPLOME_PATH . $pdf['pdf'] .".pdf");
header("Content-Type: application/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"); header("Content-Length: $fsize");
while (!feof($fp)) { while (!feof($fp)) {
$buffer = fread($fp, 2048); $buffer = fread($fp, 2048);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment