No Branch/Tag Specified
1.8
1.9.1
1.9.2
2.0
2.1
3.0
3.1
3.2
4.0
4.1
4.2
boutons-danger
coquille_doc
debug_ecrire_fichier
dev-sortable
dev/autoloader
dev/hasard_fixe
dev/instituer_ergo
dev/issue_4626_menu_squelettes
dev/issue_5447_exporter_csv
dev/issue_5476_css_debordement
dev_infos_image
fix/valider_url_distante
fix_issue_5454
fix_modifier_login
issue_4101
issue_4678
issue_4705
issue_4717
issue_4836
issue_4946
issue_5258
issue_5344
issue_5427_bis
master
v1.8.3+b
v1.9.1+i
v1.9.2+f
v1.9.2+g
v1.9.2+h
v1.9.2+i
v1.9.2+j
v1.9.2+k
v1.9.2+m
v1.9.2+n
v1.9.2+o
v1.9.2+p
v2.0.0
v2.0.1
v2.0.10
v2.0.11
v2.0.12
v2.0.13
v2.0.14
v2.0.15
v2.0.16
v2.0.17
v2.0.18
v2.0.19
v2.0.2
v2.0.20
v2.0.21
v2.0.22
v2.0.23
v2.0.24
v2.0.25
v2.0.26
v2.0.3
v2.0.5
v2.0.6
v2.0.7
v2.0.8
v2.0.9
v2.1.0
v2.1.1
v2.1.10
v2.1.11
v2.1.12
v2.1.13
v2.1.14
v2.1.15
v2.1.16
v2.1.17
v2.1.18
v2.1.19
v2.1.2
v2.1.20
v2.1.21
v2.1.22
v2.1.23
v2.1.24
v2.1.25
v2.1.26
v2.1.27
v2.1.28
v2.1.29
v2.1.3
v2.1.30
v2.1.4
v2.1.5
v2.1.6
v2.1.7
v2.1.8
v2.1.9
v3.0.0
v3.0.0-alpha.1
v3.0.0-beta
v3.0.0-beta.2
v3.0.0-rc
v3.0.1
v3.0.10
v3.0.11
v3.0.12
v3.0.13
v3.0.14
v3.0.15
v3.0.16
v3.0.17
v3.0.18
v3.0.19
v3.0.2
v3.0.20
v3.0.21
v3.0.22
v3.0.23
v3.0.24
v3.0.25
v3.0.26
v3.0.27
v3.0.28
v3.0.3
v3.0.4
v3.0.5
v3.0.6
v3.0.7
v3.0.8
v3.0.9
v3.1.0
v3.1.0-alpha
v3.1.0-beta
v3.1.0-rc
v3.1.0-rc.2
v3.1.0-rc.3
v3.1.1
v3.1.10
v3.1.11
v3.1.12
v3.1.13
v3.1.14
v3.1.15
v3.1.2
v3.1.3
v3.1.4
v3.1.5
v3.1.6
v3.1.7
v3.1.8
v3.1.9
v3.2-alpha.1
v3.2.0
v3.2.0-alpha.1
v3.2.0-beta
v3.2.0-beta.2
v3.2.0-beta.3
v3.2.1
v3.2.10
v3.2.11
v3.2.12
v3.2.13
v3.2.14
v3.2.15
v3.2.16
v3.2.17
v3.2.2
v3.2.3
v3.2.4
v3.2.5
v3.2.6
v3.2.7
v3.2.8
v3.2.9
v4.0.0
v4.0.0-alpha
v4.0.0-beta
v4.0.1
v4.0.2
v4.0.3
v4.0.4
v4.0.5
v4.0.6
v4.0.7
v4.0.8
v4.0.9
v4.1.0
v4.1.0-alpha
v4.1.0-beta
v4.1.0-rc
v4.1.1
v4.1.2
v4.1.3
v4.1.4
v4.1.5
v4.1.6
v4.1.7
v4.2.0-alpha
v4.2.0-alpha2
Labels
Amélioration, nouvelle fonctionnalité APIs authentification base de données bug
Ca ne fonctionne pas code généré compilo css divers documentation doublon
Ce ticket est un doublon ergonomie espace privé filtres et balises formulaires Inscription installation invalide
Ticket invalide javascript langues LDAP plugin PostgreSQL refusé
Ignoré, c'est comme Ca... sécurité traduction
Apply labels
Clear labels
accessibilité
amélioration
Amélioration, nouvelle fonctionnalité APIs authentification base de données bug
Ca ne fonctionne pas code généré compilo css divers documentation doublon
Ce ticket est un doublon ergonomie espace privé filtres et balises formulaires Inscription installation invalide
Ticket invalide javascript langues LDAP plugin PostgreSQL refusé
Ignoré, c'est comme Ca... sécurité traduction
No Label
accessibilité
amélioration
APIs
authentification
base de données
bug
code généré
compilo
css
divers
documentation
doublon
ergonomie
espace privé
filtres et balises
formulaires
Inscription
installation
invalide
javascript
langues
LDAP
plugin
PostgreSQL
refusé
sécurité
traduction
Milestone
Set milestone
Clear milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
Assign users
Clear assignees
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
This issue currently doesn't have any dependencies.
Reference in new issue
There is no content yet.
Delete Branch '%!s(MISSING)'
Deleting a branch is permanent. It CANNOT be undone. Continue?
No
Yes
SPIP 4.1 nécessite php 7.4 minimum. À ce titre, on peut utiliser certains sucres syntaxiques de PHP, notamment
??=
et??
ou encore?:
à différents endroits du code.L’outil Rector https://github.com/rectorphp/rector permet de faire cela (et d’autres choses) presque automatiquement : une relecture est nécessaire cependant, car
array
oustring
si besoin si elles sont redéclarées en dehors de la première initialisation : mais dans notre code on réécrit parfois la variable en passant de array à string ou inversement, donc il faut surveiller.Enfin il remplace certains éléments, notamment dans les
count($x)
s’il ne connait pas le type de$x
, il ajoutera systématiquement un(is_countable($x) ? count($x) : 0)
et d’autres choses comme ça.Il faudra surveiller les
json_encode
etjson_decode
car Rector ajoute systématiquement dessusJSON_THROW_ON_ERROR
pour ne pas cacher les erreurs, mais nous n’avons pas de try / catch il me semble.À surveiller surtout sur le json_decode() des sources externes (iterateur inc_json_to_array_dist)
reset($array); $key = key($array)
par$key = array_key_first($array);
mais parfois on veut effectivement que ça remonte le pointeur de tableau aussi… J’ai corrigé après coup.Il faudra donc tester intensivement les itérateurs JSON sur cette branche, c'est bien ça ?
Ah mais je l’ai ajouté le try / catch sur l’itérateur du coup.
D’ailleurs (rien à voir là mais j’y pense) il faudra faire un ticket ou une correction mais j’ai vu plein de spip_log mal formées (ça m’étonne pas vu la syntaxe) avec des
spip_log('texte', 'module' . _LOG_XX)
au lieu de :spip_log('texte', 'module.' . _LOG_XX)
Appliqué pour le core par #4991
En cours sur les plugins-dist.
Ah mince, les constantes sont sensibles à la casse, et Rector en a changé 2 il me semble, qui avait une partie de leur casse en minuscule, et les a passé en majuscule… faut que je les retrouve, pour remettre comme c’était (mélange majuscule, minuscule hum…) si on veut pas casser l’existant d’avant…
Sait on jamais…
Voilà, j’ai remis avec
1b45a203
des constantes modifiées.Je laisse
SQL_ABSTRACT_VERSION
par contre qui est interne.Merci pour le fix sur les constantes, ça serait peut-être un truc à corriger dans le futur car dans nos règles SCS1 on indique bien qu'elles doivent être en majuscules cf https://www.spip.net/fr_article6677.html#Constantes-Variables-et-proprietes-de-classe
J’ai fait les plugins core maintenus aussi.
Je pense qu’on peut fermer le ticket du coup.
\o/