gamutable/action/pdf_gamutable.php

64 lines
1.5 KiB
PHP

<?php
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
function action_pdf_gamutable_dist() {
include_spip('inc/autoriser');
if (! autoriser('generer', 'gamutablepdf')) {
return false;
}
$fichierpdf = _request('fichierpdf') ?? '';
$namepdf = _request('namepdf') ?? $fichierpdf;
$namepdf = str_replace('/', '_', $namepdf);
$header = _request('header') ?? [];
$Tdata = _request('Tdata') ?? [];
$arg = _request('arg') ?? '';
if (empty($header) or empty($fichierpdf)) {
exit;
}
$header = array_values($header);
$Tcles = [];
if (!empty($Tdata)) {
foreach ($Tdata as $d) {
$Tcles[] = $d['id'];
}
}
if (find_in_path('gamutable_pdf/' . $fichierpdf . '.html')) {
$set = [
'arg' => $arg,
'lang' => $GLOBALS['meta']['langue_site'] ?? 'fr'
];
if (!empty($Tcles)) {
$set = array_merge($set, ['Tids' => $Tcles]);
}
$fond = recuperer_fond('gamutable_pdf/' . $fichierpdf, $set);
} else {
// TODO : gamutable pourrait venir avec un fichier de generation generique
// d'un pdf
}
include_spip('spipdf_options');
include_spip('inc/spipdf');
$namepdf = date("Y-m-d_H-i") . '_' . $namepdf;
$a = spipdf_html2pdf($fond);
$dir = sous_repertoire(_DIR_IMG . 'pdfgamutable');
$chemin = $dir . $namepdf . '.pdf' ;
file_put_contents($chemin, $a);
$id_job = job_queue_add(
'gamutable_clean_pdf',
'Gamutable nettoyer pdf',
[$chemin],
'inc/gamutable_clean_pdf',
false,
time() + 20
);
echo url_absolue($chemin);
}