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