diff --git a/README.md b/README.md
index 6a2b090..2903e3b 100644
--- a/README.md
+++ b/README.md
@@ -96,7 +96,65 @@ $GLOBALS['remplacements_gamumail']['@@num_facture@@'] = 'numéro de la facture';
function formulaires_gamumail_charger_dist($slug, $auteur = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []){
}
```
-> l'Argument $Tclient est utilisé pour récupérer des emails dans un ou X autres Objets SPIP
+#### argument Tclient
+l'Argument $Tclient est utilisé pour récupérer des emails dans un ou X autres Objets SPIP
+
+#### argument Tpdf : attacher des PDF avec contenu dynamique
+- exemple d'appel pour 1 fichier PDF avec son contexte :
+```html
+[(#FORMULAIRE_GAMUMAIL{
+ #ENV{slug},
+ #ENV{email},
+ '',
+ #ARRAY{
+ fichier,pdf_guide,
+ nom,Fiche_guide,
+ contexte,#ARRAY{
+ id_article,#ENV{id_article},
+ type_guide,#ENV{type_guide,guide}
+ }
+ },
+ #ENV{redirect},
+ #ARRAY{
+ id_auteur,#ENV{id_auteur}
+ }
+})]
+```
+le fichier PDF sera généré par SPIPDF avec l'URL suivante : `...spip.php?page=spipdf&spipdf=pdf_guide&id_article=1838&type_guide=guide`
+
+- exemple d'appel pour 2 fichiers PDF générés par le même squelette (pdf_guide.html) mais avec chacun leur contexte :
+```html
+[(#FORMULAIRE_GAMUMAIL{
+ #ENV{slug},
+ #ENV{email},
+ '',
+ #ARRAY{
+ 0,#ARRAY{
+ fichier,pdf_guide,
+ nom,Fiche_guide,
+ contexte,#ARRAY{
+ id_article,#ENV{id_article},
+ type_guide,guide,
+ }
+ },
+ 1,#ARRAY{
+ fichier,pdf_guide,
+ nom,Fiche_guide_renfort,
+ contexte,#ARRAY{
+ id_article,#ENV{id_article},
+ type_guide,guide_renfort,
+ }
+ }
+ },
+ #ENV{redirect},
+ #ARRAY{
+ id_auteur,#ENV{id_auteur}
+ }
+})]
+```
+/!\ en cas de plusieurs PDF :
+ - il faut une *clé unique* pour chaque #ARRAY (0, 1, 2... est une bonne solution)
+ - dans l'#ARRAY contexte il faut que le dernier élément soit suivi d'une virgule ou d'une accolade fermante
#### 2. modification de chaque étape: charger / vérifier / traiter
Pour chaque étape, on peut modifier l'Array de sortie :
diff --git a/formulaires/gamumail.html b/formulaires/gamumail.html
index 9685e5f..884eef8 100644
--- a/formulaires/gamumail.html
+++ b/formulaires/gamumail.html
@@ -83,12 +83,12 @@
diff --git a/formulaires/gamumail.php b/formulaires/gamumail.php
index a9b67d2..9f4113c 100644
--- a/formulaires/gamumail.php
+++ b/formulaires/gamumail.php
@@ -21,6 +21,7 @@ include_spip('inc/filtres');
*
*/
function formulaires_gamumail_charger_dist($slug, $destinataires = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []){
+//var_dump($Tpdf) ;
$Tmails = [];
if (!is_array($destinataires)) {
$destinataires = explode(',', $destinataires);
@@ -55,8 +56,10 @@ function formulaires_gamumail_charger_dist($slug, $destinataires = 0, $Tclient =
if (array_key_exists('fichier', $Tpdf)) {
$Tpdf = [$Tpdf];
}
- foreach ($Tpdf as $pdf) {
- $TFichierPdf[] = $pdf['fichier'];
+ foreach ($Tpdf as $id => $pdf) {
+ //$TFichierPdf[] = $pdf['fichier'];
+ $TFichierPdf[$id] = $pdf;
+ //$options[$id] = $pdf;
}
}
@@ -74,6 +77,7 @@ function formulaires_gamumail_charger_dist($slug, $destinataires = 0, $Tclient =
'Tid_fichiers' => [],
'options' => $options
);
+//var_dump($valeurs);
// surcharges charger
if ($f = charger_fonction('charger', 'gamumail', true)) {
@@ -200,7 +204,6 @@ function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient =
}
$pieces_jointes = [];
-
if ($f = charger_fonction('traiter_av_pdf', 'gamumail', true)) {
$options = $f($options, $destinataires, $Tclient, $Tpdf);
}
@@ -250,27 +253,30 @@ function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient =
];
}
}
-
- // les pdfs
- $Tpdf_dell = [];
+ // les pdfs générés en fonction du contexte
+ $Tpdf_del = [];
if (!empty($Tpdfs_ok) and is_array($Tpdfs_ok)) {
if (array_key_exists('fichier', $Tpdf)) {
$Tpdf = [$Tpdf];
}
+//var_dump($Tpdf);
+//var_dump($Tpdfs_ok);
$recup_pdf = charger_fonction('charger_pdf','inc');
foreach ($Tpdfs_ok as $pdf) {
- foreach ($Tpdf as $p) {
- if ($p['fichier'] === $pdf) {
- $c = $p['contexte'];
- $nom = $p['nom'];
+//var_dump($pdf);
+ foreach ($Tpdf as $cle => $p) {
+ if ($p['fichier'].'_'.$cle === $pdf) {
+ $fichier = $p['fichier'];
+ $c = isset($p['contexte']) ? $p['contexte'] : [];
+ $nom = isset($p['nom']) ? $p['nom'] : $fichier;
}
}
-
- $pdf = $recup_pdf($pdf, $c);
+ $pdf = $recup_pdf($fichier, $c);
+//var_dump($pdf);
$nom_fichier = $nom.'.pdf';
$destination = _DIR_TMP.basename($nom_fichier);
- $Tpdf_dell[] = $destination;
+ $Tpdf_del[] = $destination;
file_put_contents($destination,$pdf);
$pieces_jointes[] = [
'chemin' => $destination,
@@ -280,7 +286,7 @@ function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient =
];
}
}
-
+//var_dump($pieces_jointes);die;
$html_header = '';
if (find_in_path('gamumail/'.$slug .'_html_header.html')) {
$html_header = recuperer_fond('gamumail/'.$slug . '_html_header', $options);
@@ -337,8 +343,8 @@ function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient =
}
// on supprime les pdfs temporaires
- if (count($Tpdf_dell)) {
- foreach ($Tpdf_dell as $pdf) {
+ if (count($Tpdf_del)) {
+ foreach ($Tpdf_del as $pdf) {
unlink($pdf);
}
}
diff --git a/inc/charger_pdf.php b/inc/charger_pdf.php
index 5300723..e2ab44a 100644
--- a/inc/charger_pdf.php
+++ b/inc/charger_pdf.php
@@ -4,6 +4,7 @@ if (!defined('_ECRIRE_INC_VERSION')){
}
function inc_charger_pdf_dist($fichier_pdf, $contexte = []){
+
$login = lire_config('curl_login');
$password = lire_config('curl_mdp');
$url = $GLOBALS['meta']['adresse_site'].'/spip.php?page=spipdf&spipdf='.$fichier_pdf;
@@ -21,7 +22,6 @@ function inc_charger_pdf_dist($fichier_pdf, $contexte = []){
}
$CurlConnect = curl_init();
-
// pour une connexion https locale avec certificat auto-signé
if (defined('_DEBUG_AUTORISER')) {
curl_setopt($CurlConnect, CURLOPT_SSL_VERIFYHOST, false);