Le test de publication d'un enfant n'utilise pas la déclaration des statuts
Dans la fonction calculer_rubrique_if() on teste si un enfant d'une rubrique dont le statut change passe en publié ou l'inverse, afin de changer tous les parents en conséquence.
Sauf que… ça continue de tester en dur uniquement le statut "publie", alors que PLEIN d'objet n'ont pas ce statut, et que ça fait maintenant des années que dès le départ de la déclaration d'objet, il y a une clé "statut" avec une sous-clé "publie" explicitement pour ça ! Qui indique quels SONT le ou les statuts (il peut y en avoir plusieurs en plus pour un même objet) considérés officiellement comme "publiés en ligne".
Ça se passe ici https://git.spip.net/spip/spip/src/branch/master/ecrire/inc/rubriques.php#L58 et ici https://git.spip.net/spip/spip/src/branch/master/ecrire/inc/rubriques.php#L72
Alors que c'est cette déclaration là exactement, qu'il faudrait utiliser : https://git.spip.net/spip/spip/src/branch/master/ecrire/base/objets.php#L181
En se souvenant qu'il faut l'explode d'abord car ça peut être une liste à virgules. Et donc tester en in_array().
Une fois corrigé en dev d'abord, ça doit pouvoir se backporter sans problème en 3.2.