Syndication RSS au 1er janvier 1970 depuis mise à jour 2.1.1x #2889

Closed
opened 10 years ago by miros · 1 comments
miros commented 10 years ago

Depuis une mise à jour de SPIP 2.1.1x, j'ai plusieurs Flux RSS, dont la syndication des articles les a datée au 1er janvier 1970 alors qu'avant ils étaient datés à la date du jour.
Je me permet ce ticket car cela concerne des flux fournis par Google groups et Freeburner.
Après investigation il se trouve que ces flux contiennent des erreurs de formatage de date. Ce qui implique que SPIP les met au 1er janvier 1970.
La modification du code SPIP est dans le fichier /ecrire/inc/syndic.php ligne 150.
Avant la mise à jour il y avait ce code qui prenait en compte les dates trop anciennes :

if ($GLOBALS['controler_dates_rss']) {
                        if ($la_date < time() - 365 * 24 * 3600
                        OR $la_date > time() + 48 * 3600)
                                $la_date = time();
                }

Voici les flux RSS posant problème :
FeedBurner :
http://feeds.feedburner.com/asder-rss?format=xml
les dates ont le bon format, mais les noms de mois et jours utilisés sont en français. Donc non valides et non reconnus par strtotime.

Google groups :
http://groups.google.com/group/producteur-pv/feed/rss_v2_0_msgs.xml
Il manque le C à "UTC" dans la date. Idem, strtotime n'arrive pas à reconnaitre la date.

Je n'ai pas testé avec SPIP 3

Depuis une mise à jour de SPIP 2.1.1x, j'ai plusieurs Flux RSS, dont la syndication des articles les a datée au 1er janvier 1970 alors qu'avant ils étaient datés à la date du jour. Je me permet ce ticket car cela concerne des flux fournis par Google groups et Freeburner. Après investigation il se trouve que ces flux contiennent des erreurs de formatage de date. Ce qui implique que SPIP les met au 1er janvier 1970. La modification du code SPIP est dans le fichier /ecrire/inc/syndic.php ligne 150. Avant la mise à jour il y avait ce code qui prenait en compte les dates trop anciennes : <pre> if ($GLOBALS['controler_dates_rss']) { if ($la_date < time() - 365 * 24 * 3600 OR $la_date > time() + 48 * 3600) $la_date = time(); } </pre> Voici les flux RSS posant problème : FeedBurner : http://feeds.feedburner.com/asder-rss?format=xml les dates ont le bon format, mais les noms de mois et jours utilisés sont en français. Donc non valides et non reconnus par strtotime. Google groups : http://groups.google.com/group/producteur-pv/feed/rss_v2_0_msgs.xml Il manque le C à "UTC" dans la date. Idem, strtotime n'arrive pas à reconnaitre la date. Je n'ai pas testé avec SPIP 3
Owner

voir aussi http://zone.spip.org/trac/spip-zone/changeset/72733
Statut changé à Fermé

voir aussi http://zone.spip.org/trac/spip-zone/changeset/72733 **Statut changé à Fermé**
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.