Erreur avec le filtre affdate & PHP 8
Avec SPIP sur la branche master + PHP 8.0.12, le filtre affdate génère une erreur d’exécution du squelette sur [(#ENV{archives}|affdate{'Y'})]
avec archives qui vaut 2021-10 par exemple.
L'erreur est File […]/ecrire/inc/filtres_dates.php Line 666 : mktime(): Argument #5 ($day) must be of type ?int, string given
.
Si je reviens sur ce vieux commit b51bcaea le bug n'est plus présent.
Comme le disaity @marcimat sur IRC, on peut type à cet endroit, donc (int) $jour
par exemple, et il faudrait peut-être le faire pour tous les arguments qu'on passe à mktime()
.
Autre piste, j'ai remarqué que $jour
est parfois une chaîne vide, alors qu'on a $njour
qui elle est toujours un int, donc il suffirait peut-être d'utiliser celle-ci dans l'appel à mktime()
.
Vos avis sur la question avant que j'envoie une PR ?