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)
- 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 = '';

View file

@ -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);

View file

@ -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,