spip/tw
Par cerdic, le 2 septembre 2025 à 09h26min :
fix: La langue dans les modèles inclus via propre doit être celle de la boucle en cours
La langue souhaité est celle de la boucle en cours et pas celle à l’appel du squelette.
A priori un bug que l’on avait depuis longtemps mais qui passait inaperçu dans les tests unitaires legacy où l’on faisait un |propre qui ne captait pas le #ENV du squelette courant, au contraire de la compilation du traitement d’une balise #TEXTE par exemple.
L’ajout du filtre_propre_dist() (par ecrire@f602f867 )
qui récupère le #ENV du squelette pour le passer à la fonction propre() a fait apparaitre le bug dans les tests unitaires.
La fonction propre() transmet le $env aux inclusions de modèles, et quand on arrive dans recuperer_fond() celle ci change la langue si elle voit une entrée lang dans le contexte
On unset donc $env['lang'] dans propre() et typo() si il y en a un à l’appel, pour laisser la $GLOBALS['spip_lang'] faire son travail
Refs: !4893
(cherry picked from commit 93f19f0173b749ed8a22be1568524fc7528cc065)
Modifié
inc/texte.php