Refactoring de la collecte des liens et modeles qui faisaient à peu de chose près la même chose #5339

Merged
cerdic merged 9 commits from refactor_collecteurs into master 2 days ago
cerdic commented 7 days ago
Owner

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 sur ces cas là et évite spip/safehtml#4785 qui était difficilement déclinable aux idiomes

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 sur ces cas là et évite https://git.spip.net/spip/safehtml/pulls/4785 qui était difficilement déclinable aux idiomes
cerdic added 6 commits 7 days ago
b_b reviewed 7 days ago
use Spip\Texte\Utils\Collecteur;
/**
* traite les modeles (dans la fonction typo), en remplacant
b_b commented 7 days ago
Owner

J'ai un doute sur ce phpdoc qui cause des modeles alors qu'on est dans le collecteur de liens ?

J'ai un doute sur ce phpdoc qui cause des modeles alors qu'on est dans le collecteur de liens ?
b_b commented 7 days ago
Owner

Plus une autre pétouille dans le log de 892b0130fd "une classe Spip\Textr" => "une classe Spip\Texte"

Plus une autre pétouille dans le log de https://git.spip.net/spip/spip/commit/892b0130fd04a15572cb0c295ad061ea693ac2b3 "une classe Spip\Textr" => "une classe Spip\Texte"
b_b approved these changes 7 days ago
cerdic added 1 commit 7 days ago
Owner

Ça semble fonctionner.

Ça semble fonctionner.
marcimat approved these changes 6 days ago
marcimat left a comment
Owner

Je pense qu’on peut tout mettre dans src/Texte/Collecteur/

  • AbstractCollecteur (à la place de Texte/Utils/Collecteur rendu abstract)
  • Multis (à la place de Texte/CollecteurMultis)
  • ...
Je pense qu’on peut tout mettre dans `src/Texte/Collecteur/` - AbstractCollecteur (à la place de `Texte/Utils/Collecteur` rendu abstract) - Multis (à la place de Texte/CollecteurMultis) - ...
cerdic added 1 commit 5 days ago
cerdic added 8 commits 5 days ago
cerdic added 1 commit 5 days ago
Poster
Owner

Voilà, j'ai réorganisé tous les collecteurs dans le namespace SPIP\Texte\Collecteur\ comme proposé par @marcimat et corrigé le PHPDoc pointé par @b_b

Voilà, j'ai réorganisé tous les collecteurs dans le namespace `SPIP\Texte\Collecteur\` comme proposé par @marcimat et corrigé le PHPDoc pointé par @b_b
marcimat approved these changes 5 days ago
cerdic added 9 commits 2 days ago
cerdic merged commit 9a88608e81 into master 2 days ago
cerdic deleted branch refactor_collecteurs 2 days ago

Reviewers

b_b approved these changes 7 days ago
marcimat approved these changes 5 days ago
The pull request has been merged as 9a88608e81.
Sign in to join this conversation.
Loading…
There is no content yet.