spip/spip | 20 commits
Par Cerdic, le 20 avril 2024 à 16h15min :
fix: eviter une indéfinie
Modifié
ecrire/public/phraser_html.php
Détails : fix: eviter une indéfinie (78857623) · Validations · spip / spip · GitLab
==============================
Par Cerdic, le 20 avril 2024 à 16h15min :
refactor: optimisation, quand l’idiome est simple on peut directement creer le Spip\Compilateur\Noeud\Champ plutot que de lancer un parsing compliqué
Modifié
ecrire/public/phraser_html.php
==============================
Par Cerdic, le 20 avril 2024 à 16h15min :
fix: dans la syntaxe tableau en second argument, #TRAD
peut recevoir des options au format tableau en troisième argument, qui seront passées à _T()
(class
, sanitize
, ou force
)
Modifié
ecrire/public/balises.php
==============================
Par Cerdic, le 20 avril 2024 à 16h15min :
fix: la balise #TRAD
peut prendre une syntaxe type inclure ou une syntaxe avec un tableau en second argument. La première est necessaire pour la transposition facile de la syntaxe <:...:>
et la seconde est plus naturelle pour écriture directe,
par analogie avec _T()
Modifié
ecrire/public/balises.php
Détails : https://git.spip.net/spip/spip/-/commit/7c25eef791a950529bb1e5e9491eae89d7cbc55e
==============================
Par Matthieu Marcillaud, le 20 avril 2024 à 16h15min :
docs: phpdoc balise #TRAD
Modifié
ecrire/public/balises.php
Détails : docs: phpdoc balise `#TRAD` (229695ef) · Validations · spip / spip · GitLab
==============================
Par Cerdic, le 20 avril 2024 à 16h15min :
fix: il ne faut pas casser la chaine des $result
en appelant phraser_arg()
ou phraser_args()
car ils en ont besoin si ils rappellent phraser_champs_exterieurs()
qui voudra réinjecter un des champs.
Le bug était a priori là depuis longtemps mais on y passait jamais, et là tout a coup avec le refactoring des idiomes on tombe dedans…
Modifié
ecrire/public/phraser_html.php
==============================
Par Cerdic, le 20 avril 2024 à 16h15min :
chores: nettoyer les references aux objets spécifiques Idiome
Supprimé
ecrire/src/Compilateur/Noeud/Idiome.php
Modifié
ecrire/public/compiler.php
ecrire/public/interfaces.php
ecrire/public/phraser_html.php
==============================
Par Cerdic, le 20 avril 2024 à 16h15min :
fix: quotes sur la chaine de langue quand on injecte un module par defaut
Modifié
ecrire/public/phraser_html.php
==============================
Par Cerdic, le 20 avril 2024 à 16h15min :
fix: le remplacement de <:xxx:>
par un #TRAD{xxx}
génère parfois des bugs de compilation, on passe donc par des #PLACEHOLDER_IDIOME_xxxx
sans arguments, qui sont la forme la plus simple des champs et ne posent pas de problème.
Le remplacement se fait ensuite a l’analyse des champs
Exemple de syntaxe qui passe avec une chaine de langue, mais pas quand la remplace par un #TRAD{xxx}
, le phrasage echouant sur le <:accueil_site:>
transformé en #TRAD{accueil_site}
[(#ENV{home,'non'}|=={oui}|?{
<h1 class="spip_logo_site">[(#LOGO_SITE_SPIP|image_reduire{224,96})]#NOM_SITE_SPIP</h1>
,
<strong class="h1 spip_logo_site"><a rel="start home" href="#URL_SITE_SPIP/" title="<:accueil_site:>">[(#LOGO_SITE_SPIP
|image_reduire{224,96})]#NOM_SITE_SPIP</a></strong>
})]
Modifié
ecrire/public/phraser_html.php
==============================
Par Cerdic, le 20 avril 2024 à 16h15min :
refactor: le parsing des idiomes <:ecrire:module:>
qui intervenait tard dans le parsing des squelettes et empêchait de fait des écritures riches dans les arguments ou les filtres des idiomes est remplacé par un parsing classique d’une balise #TRAD
La prise en charge de la syntaxe historique est assurée par un pré-parsing sur le squelette, avant analyse des balises, pour transformer les écritures de type <:module:chaine{arg1=texte1,arg2=[(#BALISE)]}|filtre1{texte2,#BALISE}|filtre2:>
en ecriture standard de balise
[(#TRAD{module:chaine,arg1=texte1,arg2=[(#BALISE)]}|filtre1{texte2,#BALISE}|filtre2)]
ce qui permet du coup toutes les syntaxes possibles dans les arguments et filtres des chaines de langue.
On note au passage que l’on maintient le support des curieuses et peu usitées écritures de type <:module:{=#ENV{chaine}}:>
voire <:{=#ENV{chaineavecmodule}}:>
qui permettaient des écritures avec chaine de langue dynamique.
Au passage le strtolower sur la chaine de langue disparait, ce qui traite donc aussi #2536
Modifié
ecrire/public/balises.php
ecrire/public/phraser_html.php
==============================
Par Cerdic, le 20 avril 2024 à 16h15min :
tests: tests unitaires pour les chaines de langue dans les squelettes, leurs variantes de syntaxe et une nouvelle balise #TRAD
Ajouté
ecrire/tests/Squelettes/Idiomes/IdiomesTest.php
==============================
Par Cerdic, le 20 avril 2024 à 16h15min :
refactor: generaliser les fonctions de memorisation/reinjection de placeholder de type balise, en permettant d’avoir des balises simples sans argument ni crochets
Modifié
ecrire/public/phraser_html.php
==============================
Par Matthieu Marcillaud, le 17 avril 2024 à 11h57min :
docs(changelog): sur #5916
Modifié
CHANGELOG.md
Détails : docs(changelog): sur #5916 (25a43ffe) · Validations · spip / spip · GitLab
==============================
Par b_b, le 17 avril 2024 à 11h55min :
fix: éviter un débordement du contenu des explications dans les formulaires de l’espace privé
Fix: #5916
Modifié
prive/themes/spip/forms.css.html
==============================
Par Matthieu Marcillaud, le 17 avril 2024 à 11h51min :
docs(changelog): sur !5936
Modifié
CHANGELOG.md
Détails : docs(changelog): sur !5936 (e58551d0) · Validations · spip / spip · GitLab
==============================
Par Cerdic, le 17 avril 2024 à 11h51min :
fix: ne pas provoquer une fatale quand on essaye de securiser une action qui a été appelée sans arg ni hash
Modifié
ecrire/inc/securiser_action.php
==============================
Par b_b, le 17 avril 2024 à 08h59min :
chore: retrait de variables inutilisées dans inc/notifications
utiliser directement include_spip()
au lieu de charger_fonction()
Fix: #5052
Modifié
ecrire/inc/notifications.php
==============================
Par Cerdic, le 17 avril 2024 à 08h56min :
doc(changelog): fixes #4209
Modifié
CHANGELOG.md
Détails : doc(changelog): fixes #4209 (01ed95e1) · Validations · spip / spip · GitLab
==============================
Par Cerdic, le 17 avril 2024 à 08h55min :
fix: typage et PHPDoc
Modifié
ecrire/public/criteres.php
Détails : fix: typage et PHPDoc (b5139c5f) · Validations · spip / spip · GitLab
==============================
Par Cerdic, le 17 avril 2024 à 08h55min :
fix: ne pas perdre le pas de pagination quand on a aussi un critere {x,y}
sur la boucle avec un des arguments calculé
On reserve la propriete total_parties
à la pagination et on passe simplement en argument de la fonction calculer_parties()
la valeur necessaire dans les 2 critères qui l’utilisent.
Attention, il y a 2 occurences d’appel de cette fonction sur la zone (criteres_suivant_precedent et aveline), mais la signature de la fonction calculer_parties()
assure une transition douce
Refs: #4209
Modifié
ecrire/public/criteres.php