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 ?
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
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
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.
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