From 37a617611a3d97a8fe13b05bb7c76cfc378ca7bc Mon Sep 17 00:00:00 2001 From: cy_altern Date: Mon, 5 Dec 2022 17:52:46 +0100 Subject: [PATCH] =?UTF-8?q?renommage=20des=20fonctions=20de=20surcharge=20?= =?UTF-8?q?du=20CVT=20de=20Gamumail=20utilis=C3=A9e=20par=20tous=20les=20s?= =?UTF-8?q?lugs=20en=20gamumail=5Ftous=5Fcharger,=20gamumail=5Ftous=5Fveri?= =?UTF-8?q?fier=20et=20gamumail=5Ftous=5Ftraiter=20:=20=C3=A7a=20=C3=A9vit?= =?UTF-8?q?era=20les=20ambiguit=C3=A9s=20=C3=A0=20l'appel=20de=20ces=20fon?= =?UTF-8?q?ctions=20par=20charger=5Ffonction()=20(parfois=20c'=C3=A9tait?= =?UTF-8?q?=20gamumail=5Fcharger=5Fdist=20qui=20=C3=A9tait=20envoy=C3=A9e?= =?UTF-8?q?=20=C3=A0=20la=20place=20de=20gamumail=5Fcharger=20du=20plugin?= =?UTF-8?q?=20de=20surcharge...)=20ATTENTION=20!=20rupture=20de=20compatib?= =?UTF-8?q?ilit=C3=A9=20possible=20pour=20les=20surcharges=20existantes=20?= =?UTF-8?q?!=20(=C3=A0=20priori=20aucun=20plugin=20concern=C3=A9=20en=20de?= =?UTF-8?q?hors=20de=20rocb)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 23 +++++++++++++---------- formulaires/gamumail.php | 16 +++++++++------- inc/envoyer_gamumail.php | 4 +++- 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 439740d..fa76499 100644 --- a/README.md +++ b/README.md @@ -166,7 +166,7 @@ le fichier PDF sera généré par SPIPDF avec l'URL suivante : `...spip.php?page - 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 +#### 2. surcharges de chaque étape: charger / vérifier / traiter Pour chaque étape, on peut modifier l'Array de sortie : * charger -> $valeurs * verifier -> $erreurs @@ -174,24 +174,27 @@ Pour chaque étape, on peut modifier l'Array de sortie : Voir **gamumail_fonctions.php** pour les arguments des fonctions de surcharge + exemples -Pour cela, il faut creer une fonction du type (qui utilise les memes arg que les fonctions CVT + premier arg l'Array que l'on veut modifier): -* pour charger : **gamumail/charger.php** pour tous les formulaires ou -* pour charger : **gamumail/SLUG_charger.php** avec une fonction : +Pour cela, il faut creer une fonction du type (qui utilise les memes arg que les fonctions CVT + premier arg l'Array que l'on veut modifier) +La surcharge pour tous les slugs (`gamumail_tous_...`) précède celle spécifique par slug : on peut donc utiliser les 2 successivement. +Syntaxe : +* pour charger pour tous les slugs : **gamumail/tous_charger.php** (fonction `gamumail_tous_charger()`) +* pour charger spécifique d'un slug : **gamumail/NOM_SLUG_charger.php** avec une fonction : ```php -function gamumail_SLUG_charger($valeurs, $options = []){ +function gamumail_NOM_SLUG_charger($valeurs, $options = []){ return $valeurs; } ``` -* pour verifier : **gamumail/verifier.php** pour tous les formulaires ou -* pour verifier : **gamumail/SLUG_verifier.php** avec une fonction : +* pour verifier pour tous les slugs : **gamumail/tous_verifier.php** (fonction `gamumail_tous_verifier()`) +* pour verifier spécifique d'un slug : **gamumail/NOM_SLUG_verifier.php** avec une fonction : ```php -function gamumail_SLUG_verifier($erreurs, $options = []){ +function gamumail_NOM_SLUG_verifier($erreurs, $options = []){ return $erreurs; } ``` -* pour traiter : **gamumail/SLUG_traiter.php** avec une fonction ex: +* pour traiter pour tous les slugs : **gamumail/tous_traiter.php** (fonction `gamumail_tous_traiter()`) +* pour traiter spécifique d'un slug : **gamumail/NOM_SLUG_traiter.php** avec une fonction par ex: ```php -function gamumail_contrat_resa_traiter($corps, $options = []){ +function gamumail_NOM_SLUG_traiter($corps, $options = []){ if (array_key_exists('id_article', $options)) { $htmlAdd = ''; $texteAdd = ''; diff --git a/formulaires/gamumail.php b/formulaires/gamumail.php index 0ea80db..bd26e0c 100644 --- a/formulaires/gamumail.php +++ b/formulaires/gamumail.php @@ -86,14 +86,16 @@ function formulaires_gamumail_charger_dist($slug, $destinataires = 0, $Tclient = 'options' => $options ); - // surcharges charger - if ($f = charger_fonction('charger', 'gamumail', true)) { + // surcharges charger : d'abord les surcharges pour tous les slugs (tous_charge.php) puis les spécifiques par slug (nom_slug_charger.php) + if ($f = charger_fonction('tous_charger', 'gamumail', true)) { +var_dump($f); $valeurs = $f($valeurs, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect); } if ($f = charger_fonction($slug . '_charger', 'gamumail', true)) { $valeurs = $f($valeurs, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect); } - +var_dump($valeurs) ; +die; return $valeurs; } @@ -171,8 +173,8 @@ function formulaires_gamumail_verifier_dist($slug, $destinataires = 0, $Tclient } } - // surcharges verifier - if ($f = charger_fonction('verifier', 'gamumail', true)) { + // surcharges verifier : d'abord les surcharges pour tous les slugs (tous_verifier.php) puis les spécifiques par slug (nom_slug_verifier.php) + if ($f = charger_fonction('tous_verifier', 'gamumail', true)) { $erreurs = $f($erreurs, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect); } if ($f = charger_fonction($slug . '_verifier', 'gamumail', true)) { @@ -349,11 +351,11 @@ function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient = 'pieces_jointes' => $pieces_jointes ]; - /* + // surcharges de traiter : d'abord les surcharges pour tous les slugs (tous_traiter.php) puis les spécifiques par slug (nom_slug_traiter.php) if ($f = charger_fonction('traiter', 'gamumail', true)) { $corps = $f($corps, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect); } - */ + // appel d'une éventuelle fonction de traitement du contenu spécifique du slug if ($f = charger_fonction($slug . '_traiter', 'gamumail', true)) { $corps = $f($corps, $options, $slug, $destinataires); diff --git a/inc/envoyer_gamumail.php b/inc/envoyer_gamumail.php index 6ccfea4..1eb614e 100644 --- a/inc/envoyer_gamumail.php +++ b/inc/envoyer_gamumail.php @@ -32,6 +32,8 @@ if (!defined('_ECRIRE_INC_VERSION')){ * */ function inc_envoyer_gamumail($slug, $destinataires, $options = [], $Tid_doc_piece_jointe = []) { + //var_dump($options) ; + //var_dump($destinataires); include_spip('inc/texte'); include_spip('classes/facteur'); @@ -217,7 +219,7 @@ function inc_envoyer_gamumail($slug, $destinataires, $options = [], $Tid_doc_pie $args = $options; $args['slug'] = $slug; $args['destinataires'] = $pour; - // var_dump($args) ; + //var_dump($args) ; $html = pipeline('remplacements_slug', array( 'args' => $args,