Bonjour à tous,
J’ai vu qu’il était indiqué sur le wiki qu’à partir de Dolibarr 3.7.0, il était préférable de remplacer run_triggers() de la classe Interfaces par call_trigger() de la même classe. Pour l’instant les deux semblent cohabiter dans Dolibarr 3.7 alpha, mais j’imagine que dans le futur, run_triggers() sera amené à être supprimé pour ne garder que call_trigger().
Cependant le problème que j’ai rencontré est que run_triggers() permet de passer bien plus d’arguments, et notamment $object, ce qui permet aux triggers de travailler avec plus d’informations, ce que ne permet pas call_trigger() (les deux seuls arguments: nom du trigger et $user pour gérer les droits).
Pourquoi un tel changement? Est-ce qu’il y a une raison à la suppression de tous ces arguments supplémentaires? Ce nombre réduit d’arguments risque d’empêcher bon nombre de modules se basant sur les triggers de fonctionner avec Dolibarr 3.7 sans changements conséquents (comme c’est le cas de CustomFields qui a besoin que $object soit passé en argument d’un trigger). Ou alors est-ce qu’il faut maintenant accéder à $object en la déclarant comme une variable globale?
Bref, je vous remercie pour tout éclairage à ce sujet.