#DATE dans boucle RUBRIQUES calculer_rubriques_publiees
calculer_rubriques_publiees ne fait pas bien son travail.
-
calculer_rubriques_publiees a une action erronée car les rubriques sont modifiées successivement si elles sont un article publié, une brève publiée, un site publié, un document publié, ou une rubrique fille publiée. C'est fait dans l'ordre, et une rubrique peut donc être publiée plusieurs fois de suite, c'est le dernier objet dans cette liste qui "publie" la rubrique et lui impose sa date de publication, même si la date de publication déjà enregistrée est plus récente. La date de publication d'une rubrique est donc totalement erronée.
-
calculer_rubriques_publiees n'est pas efficace puisque toutes les rubriques sont testées pour tous ces objets (articles, breves, sites, ...) même si la rubrique a déjà été trouvée comme publiée. Il y a plein de boulot fait pour rien.
Il faudrait si possible affiner les requêtes pour qu'elles ne concernent :
- que les rubriques pas encore trouvées publiées
- ou les rubriques dont la date de publication trouvée est antérieure à la date de l'objet considéré
de manière à ce que
- les rubriques déjà trouvées comme publiées ne soient plus testées
- la date de publication d'une rubrique soit celle de son objet contenu publié le plus récent
Dans SPIP2 c'est tout à la suite dans la fonction calculer_rubriques dans inc/rubriques.php Dans SPIP3 c'est toujours appelé dasn inc/rubriques.php et les valeurs de statut_tmp sont successivement écrasées par les fontions prefixe_calculer_rubriques de chacune des extensions déclarant un objet, via le pipeline calculer_rubriques.