66 lines
1.6 KiB
PHP
66 lines
1.6 KiB
PHP
<?php
|
|
if (!defined('_ECRIRE_INC_VERSION')) {
|
|
return;
|
|
}
|
|
defined('_SERVEUR_MODE') || define('_SERVEUR_MODE', 'PROD');
|
|
|
|
function action_pdf_gamutable_dist() {
|
|
include_spip('inc/autoriser');
|
|
if (! autoriser('generer', 'gamutablepdf') && _SERVEUR_MODE === 'PROD') {
|
|
return false;
|
|
}
|
|
|
|
|
|
$fichierpdf = _request('fichierpdf') ?? '';
|
|
$langpdf = _request('langpdf');
|
|
$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' => $langpdf ?? $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);
|
|
}
|