Articles postdatés qui apparaissent en avance sur le site

Bonjour,

Un article prévu pour demain était à la une de mon site ce matin.
La date de publication renseignée était bien restée au 7 décembre, mais l’article était tout de même visible sur le site (avec donc un un jour d’avance) et ce même sur un navigateur sans session d’administrateur ouverte.
Depuis la dernière mise à jour de SPIP vers 3.2.5, il m’est arrivé plusieurs fois que les articles postdatés apparaissent en avance sur le site.
Pourtant l’option "Ne pas publier les articles avant la date de publication fixée. » est bien paramétrée.
Je n’arrive pas à trouver la source de mon problème, auriez-vous une piste à m’indiquer ?

Merci par avance de votre aide

Julie

Bonjour,

Comment est ta boucle pour afficher les article ? Tu as pas un {tous} dans la boucle ?

Re,

Alors là je vois pas le soucis.

Cdt

Pôle Web a écrit le 06/12/2019 à 15:27 :

Bonjour,

Un article prévu pour demain était à la une de mon site ce matin.
La date de publication renseignée était bien restée au 7 décembre, mais l’article était tout de même visible sur le site (avec donc un un jour d’avance) et ce même sur un navigateur sans session d’administrateur ouverte.
Depuis la dernière mise à jour de SPIP vers 3.2.5, il m’est arrivé plusieurs fois que les articles postdatés apparaissent en avance sur le site.
Pourtant l’option "Ne pas publier les articles avant la date de publication fixée. » est bien paramétrée.
Je n’arrive pas à trouver la source de mon problème, auriez-vous une piste à m’indiquer ?

Quel est le SQL généré par la boucle "fautive" ?
Tu peux le trouver avec var_mode=debug

Merci par avance de votre aide

Avec plaisir

--
RealET

Bonjour RealET

Voici le sql généré par la boucle
SELECT articles.date, articles.id_article, articles.id_rubrique, articles.titre, articles.soustitre, articles.descriptif, articles.texte, articles.chapo, articles.lang
FROM spip_articles AS `articles`
WHERE (articles.statut = 'publie')
  AND articles.date<'2019-12-07 07:00:00'
  AND ((articles.id_rubrique = 12) OR (articles.id_article IN (SELECT * FROM(
SELECT rl.id_objet
FROM spip_rubriques_liens as rl
WHERE rl.id_parent=12 AND rl.objet='article') AS subquery)))
  AND ((articles.id_rubrique = 12) OR (articles.id_article IN (SELECT * FROM(
SELECT rl.id_objet
FROM spip_rubriques_liens as rl
WHERE rl.id_parent=12 AND rl.objet='article') AS subquery)))
ORDER BY articles.date DESC
LIMIT 0,2
Bien cdt

Julie

Le 6 déc. 2019 à 15:44, RealET a écrit :

Pôle Web a écrit le 06/12/2019 à 15:27 :

Bonjour,
Un article prévu pour demain était à la une de mon site ce matin.
La date de publication renseignée était bien restée au 7 décembre, mais l’article était tout de même visible sur le site (avec donc un un jour d’avance) et ce même sur un navigateur sans session d’administrateur ouverte.
Depuis la dernière mise à jour de SPIP vers 3.2.5, il m’est arrivé plusieurs fois que les articles postdatés apparaissent en avance sur le site.
Pourtant l’option "Ne pas publier les articles avant la date de publication fixée. » est bien paramétrée.
Je n’arrive pas à trouver la source de mon problème, auriez-vous une piste à m’indiquer ?

Quel est le SQL généré par la boucle "fautive" ?
Tu peux le trouver avec var_mode=debug

Merci par avance de votre aide

Avec plaisir

--
RealET

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Pôle Web a écrit le 09/12/2019 à 10:36 :

Bonjour RealET

Voici le sql généré par la boucle
SELECT articles.date, articles.id_article, articles.id_rubrique, articles.titre, articles.soustitre, articles.descriptif, articles.texte, articles.chapo, articles.lang
FROM spip_articles AS `articles`
WHERE (articles.statut = 'publie')
  AND articles.date<'2019-12-07 07:00:00'
  AND ((articles.id_rubrique = 12) OR (articles.id_article IN (SELECT * FROM(
SELECT rl.id_objet
FROM spip_rubriques_liens as rl
WHERE rl.id_parent=12 AND rl.objet='article') AS subquery)))
  AND ((articles.id_rubrique = 12) OR (articles.id_article IN (SELECT * FROM(
SELECT rl.id_objet
FROM spip_rubriques_liens as rl
WHERE rl.id_parent=12 AND rl.objet='article') AS subquery)))
ORDER BY articles.date DESC
LIMIT 0,2

La requête a l'air bonne à première vue
Le
AND articles.date<'2019-12-07 07:00:00'
dit bien de prendre les articles dont la date de publication est antérieure à une certaine date (qui devait être dans le futur quand tu as fait la manipulation)
Reste à regarder avec PhpMyAdmin quelle est la date de l'article dont tu penses qu'il ne devrait pas être visible.

--
RealET

Bonjour,

Est ce que tu es sur que ton serveur est à la bonne heure et au bon jour?

Le 09/12/2019 à 10:58, RealET a écrit :

Pôle Web a écrit le 09/12/2019 à 10:36 :

Bonjour RealET

Voici le sql généré par la boucle
SELECT articles.date, articles.id_article, articles.id_rubrique, articles.titre, articles.soustitre, articles.descriptif, articles.texte, articles.chapo, articles.lang
FROM spip_articles AS `articles`
WHERE (articles.statut = 'publie')
AND articles.date<'2019-12-07 07:00:00'
AND ((articles.id_rubrique = 12) OR (articles.id_article IN (SELECT * FROM(
SELECT rl.id_objet
FROM spip_rubriques_liens as rl
WHERE rl.id_parent=12 AND rl.objet='article') AS subquery)))
AND ((articles.id_rubrique = 12) OR (articles.id_article IN (SELECT * FROM(
SELECT rl.id_objet
FROM spip_rubriques_liens as rl
WHERE rl.id_parent=12 AND rl.objet='article') AS subquery)))
ORDER BY articles.date DESC
LIMIT 0,2

La requête a l'air bonne à première vue
Le
AND articles.date<'2019-12-07 07:00:00'
dit bien de prendre les articles dont la date de publication est antérieure à une certaine date (qui devait être dans le futur quand tu as fait la manipulation)
Reste à regarder avec PhpMyAdmin quelle est la date de l'article dont tu penses qu'il ne devrait pas être visible.

Bonjour,
@Bernard, Merci de ton retour. Oui le serveur est à la bonne heure et au bon jour …
@RealET, je vais attendre que le problème se reproduise pour reprendre les explorations … je vous tiendrais informés de ce que je constaterais …
Merci à tous les 2 de votre aide. Bonne journée.
Julie

Le 9 déc. 2019 à 11:44, Bernard Blazin <blazin.bernard@gmail.com> a écrit :

Bonjour,

Est ce que tu es sur que ton serveur est à la bonne heure et au bon jour?

Le 09/12/2019 à 10:58, RealET a écrit :

Pôle Web a écrit le 09/12/2019 à 10:36 :

Bonjour RealET

Voici le sql généré par la boucle
SELECT articles.date, articles.id_article, articles.id_rubrique, articles.titre, articles.soustitre, articles.descriptif, articles.texte, articles.chapo, articles.lang
FROM spip_articles AS `articles`
WHERE (articles.statut = 'publie')
    AND articles.date<'2019-12-07 07:00:00'
    AND ((articles.id_rubrique = 12) OR (articles.id_article IN (SELECT * FROM(
SELECT rl.id_objet
FROM spip_rubriques_liens as rl
WHERE rl.id_parent=12 AND rl.objet='article') AS subquery)))
    AND ((articles.id_rubrique = 12) OR (articles.id_article IN (SELECT * FROM(
SELECT rl.id_objet
FROM spip_rubriques_liens as rl
WHERE rl.id_parent=12 AND rl.objet='article') AS subquery)))
ORDER BY articles.date DESC
LIMIT 0,2

La requête a l'air bonne à première vue
Le
AND articles.date<'2019-12-07 07:00:00'
dit bien de prendre les articles dont la date de publication est antérieure à une certaine date (qui devait être dans le futur quand tu as fait la manipulation)
Reste à regarder avec PhpMyAdmin quelle est la date de l'article dont tu penses qu'il ne devrait pas être visible.

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc