Refactoring de la collecte des liens et modeles qui faisaient à peu de chose près la même chose
On a une classe de base Spip\Texte\Utils\Collecteurs
qui propose une methode sous-jacente collecteur()
de collecte d'une preg + des methodes detecter()
, echapper()
et retablir()
génériques
La méthode collecter()
est à implémenter au cas par cas
Déclinaison en 4 classes CollecteurModeles CollecteurLiens CollecteurMultis CollecteurIdiomes pour traiter les 4 structures
Dans le cas des modèles, multis et idiomes on implémente une méthode traiter()
qui fait le job, et on route les anciennes traiter_modeles()
, extraire_multi()
et , extraire_idiome()
dessus.
Dans le cas des liens il reste à y ramener le traitement qui est fait dans textwheel et se pose la question de où l'on mets ça.
En conséquence finale, on peut utiliser les CollecteurMultis et CollecteurIdiomes pour échapper les multi et idiomes dans safehtml() ce qui résout #5334 (closed) sur ces cas là et évite https://git.spip.net/spip/safehtml/pulls/4785 qui était difficilement déclinable aux idiomes