Bonjour,
Le plugin https://git.spip.net/spip/medias/commits/branch/3.2 a été mis à jour récemment (passage en 3.2.6) , et ce commit en particulier me pose problème: https://git.spip.net/spip/medias/commit/e1ea969d5ab40957c713eeb20ae1938f1adf3c06
En effet, cette modification a pour effet de casser tous les liens insérés dans les crédits du type [Ma légende->https://monlien.com]
En version 3.2.5, la compilation du squelette passait par par la fonction propre()
ce qui avait pour effet de lancer expanser_liens()
comme on peut le voir sur cette call stack:
#0 typo() called at [/var/www/html/plugins-dist/textwheel/inc/lien.php:160]
#1 inc_lien_dist() called at [/var/www/html/plugins/auto/orthotypo/v1.5.5/orthotypo_options.php:26]
#2 inc_lien() called at [/var/www/html/plugins-dist/textwheel/inc/lien.php:325]
#3 expanser_un_lien()
#4 preg_replace_callback() called at [/var/www/html/plugins-dist/textwheel/inc/lien.php:264]
#5 expanser_liens() called at [/var/www/html/plugins-dist/textwheel/inc/texte.php:789]
#6 propre() called at [/var/www/html/ecrire/public/composer.php(92) : eval()'d code:141]
#7 BOUCLE_doc2html_e968c654a752ef9c29b2b51f68865580() called at [/var/www/html/ecrire/public/composer.php(92) : eval()'d code:23]
#8 html_e968c654a752ef9c29b2b51f68865580() called at [/var/www/html/ecrire/public/parametrer.php:128]
Or, en 3.2.6 @cerdic déclare une interface _TRAITEMENT_TYPO
sur les crédits (voir $interfaces['table_des_traitements']['CREDITS']['spip_documents'] = _TRAITEMENT_TYPO;
). Or, le squelette compilé n’est alors plus du tout le même. La call stack devient:
#0 typo() called at [/var/www/html/ecrire/public/composer.php(92) : eval()'d code:141]
#1 BOUCLE_doc2html_e968c654a752ef9c29b2b51f68865580() called at [/var/www/html/ecrire/public/composer.php(92) : eval()'d code:23]
#2 html_e968c654a752ef9c29b2b51f68865580() called at [/var/www/html/ecrire/public/parametrer.php:128]
On n’expanse plus les liens, on se retrouve donc avec des crédits « cassés ».
Ceci étant dit, je ne sais pas si c’était le but recherché (je ne pense pas, mais le commit message est succinct) ou bien si c’est une régression. De même, je ne comprends pas trop le but de la modification car la principale différence est que la variable $echapper
dans la fonction typo()
prendra la valeur TYPO
au lieu de true
. Je n’ai pas cherché très en détail mais rien ne m’a sauté aux yeux. J’ai fait quelques essais au hasard en renseignant des crédits avec du html ou des ‹ Mr › ‹ Mme › et rien de flagrant non plus.
Voilà où j’en suis de mes réflexions pour le moment. J’aurais aimé proposer une correction, mais sans comprendre le but de la modif ni les impacts c’est assez difficile (et comme je ne connais pas grand chose à spip, ça n’aide pas non plus…
Je suis preneur d’éclairage sur le sujet . En attendant, je vais désactiver ce _TRAITEMENT_TYPO
pour retrouver les liens.
Merci à tous!