renommage des fonctions de surcharge du CVT de Gamumail utilisée par tous les slugs en gamumail_tous_charger, gamumail_tous_verifier et gamumail_tous_traiter : ça évitera les ambiguités à l'appel de ces fonctions par charger_fonction() (parfois c'était gamumail_charger_dist qui était envoyée à la place de gamumail_charger du plugin de surcharge...)

ATTENTION ! rupture de compatibilité possible pour les surcharges existantes ! (à priori aucun plugin concerné en dehors de rocb)
This commit is contained in:
cy_altern 2022-12-05 17:52:46 +01:00
parent 92e746c637
commit 37a617611a
3 changed files with 25 additions and 18 deletions

View file

@ -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) - 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 - 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 : Pour chaque étape, on peut modifier l'Array de sortie :
* charger -> $valeurs * charger -> $valeurs
* verifier -> $erreurs * 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 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 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 La surcharge pour tous les slugs (`gamumail_tous_...`) précède celle spécifique par slug : on peut donc utiliser les 2 successivement.
* pour charger : **gamumail/SLUG_charger.php** avec une fonction : 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 ```php
function gamumail_SLUG_charger($valeurs, $options = []){ function gamumail_NOM_SLUG_charger($valeurs, $options = []){
return $valeurs; return $valeurs;
} }
``` ```
* pour verifier : **gamumail/verifier.php** pour tous les formulaires ou * pour verifier pour tous les slugs : **gamumail/tous_verifier.php** (fonction `gamumail_tous_verifier()`)
* pour verifier : **gamumail/SLUG_verifier.php** avec une fonction : * pour verifier spécifique d'un slug : **gamumail/NOM_SLUG_verifier.php** avec une fonction :
```php ```php
function gamumail_SLUG_verifier($erreurs, $options = []){ function gamumail_NOM_SLUG_verifier($erreurs, $options = []){
return $erreurs; 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 ```php
function gamumail_contrat_resa_traiter($corps, $options = []){ function gamumail_NOM_SLUG_traiter($corps, $options = []){
if (array_key_exists('id_article', $options)) { if (array_key_exists('id_article', $options)) {
$htmlAdd = ''; $htmlAdd = '';
$texteAdd = ''; $texteAdd = '';

View file

@ -86,14 +86,16 @@ function formulaires_gamumail_charger_dist($slug, $destinataires = 0, $Tclient =
'options' => $options 'options' => $options
); );
// surcharges charger // 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('charger', 'gamumail', true)) { if ($f = charger_fonction('tous_charger', 'gamumail', true)) {
var_dump($f);
$valeurs = $f($valeurs, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect); $valeurs = $f($valeurs, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect);
} }
if ($f = charger_fonction($slug . '_charger', 'gamumail', true)) { if ($f = charger_fonction($slug . '_charger', 'gamumail', true)) {
$valeurs = $f($valeurs, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect); $valeurs = $f($valeurs, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect);
} }
var_dump($valeurs) ;
die;
return $valeurs; return $valeurs;
} }
@ -171,8 +173,8 @@ function formulaires_gamumail_verifier_dist($slug, $destinataires = 0, $Tclient
} }
} }
// surcharges verifier // 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('verifier', 'gamumail', true)) { if ($f = charger_fonction('tous_verifier', 'gamumail', true)) {
$erreurs = $f($erreurs, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect); $erreurs = $f($erreurs, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect);
} }
if ($f = charger_fonction($slug . '_verifier', 'gamumail', true)) { 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 '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)) { if ($f = charger_fonction('traiter', 'gamumail', true)) {
$corps = $f($corps, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect); $corps = $f($corps, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect);
} }
*/
// appel d'une éventuelle fonction de traitement du contenu spécifique du slug // appel d'une éventuelle fonction de traitement du contenu spécifique du slug
if ($f = charger_fonction($slug . '_traiter', 'gamumail', true)) { if ($f = charger_fonction($slug . '_traiter', 'gamumail', true)) {
$corps = $f($corps, $options, $slug, $destinataires); $corps = $f($corps, $options, $slug, $destinataires);

View file

@ -32,6 +32,8 @@ if (!defined('_ECRIRE_INC_VERSION')){
* *
*/ */
function inc_envoyer_gamumail($slug, $destinataires, $options = [], $Tid_doc_piece_jointe = []) { function inc_envoyer_gamumail($slug, $destinataires, $options = [], $Tid_doc_piece_jointe = []) {
//var_dump($options) ;
//var_dump($destinataires);
include_spip('inc/texte'); include_spip('inc/texte');
include_spip('classes/facteur'); include_spip('classes/facteur');