diff --git a/ecrire/action/editer_article.php b/ecrire/action/editer_article.php index 3984dea1ad50c703df7e7fe1a98bcde848c336a6..fecd9036881016a9a1050a857c39eddcb0278d9d 100644 --- a/ecrire/action/editer_article.php +++ b/ecrire/action/editer_article.php @@ -192,16 +192,25 @@ function revisions_articles ($id_article, $c=false) { include_spip('inc/revisions'); $query = spip_query("SELECT id_article FROM spip_versions WHERE id_article=$id_article LIMIT 1"); if (!spip_num_rows($query)) { - $select = join(", ", array_keys($champs_normaux)); - $query = spip_query("SELECT $select FROM spip_articles WHERE id_article=$id_article"); + $select = join(", ", $champs_normaux); + $query = spip_query("SELECT $select, date, date_modif FROM spip_articles WHERE id_article=$id_article"); $champs_originaux = spip_fetch_array($query); - // Si le titre est vide, c'est qu'on vient de creer l'article if ($champs_originaux['titre'] != '') { + $date_modif = $champs_originaux['date_modif']; + $date = $champs_originaux['date']; + unset ($champs_originaux['date_modif']); + unset ($champs_originaux['date']); $id_version = ajouter_version($id_article, $champs_originaux, _T('version_initiale'), 0); - // Remettre une date un peu ancienne pour la version initiale - spip_query("UPDATE spip_versions SET date=DATE_SUB(NOW(), INTERVAL 2 HOUR) WHERE id_article=$id_article AND id_version=$id_version"); + // Inventer une date raisonnable pour la version initiale + if ($date_modif>'1970-') + $date_modif = strtotime($date_modif); + else if ($date>'1970-') + $date_modif = strtotime($date); + else + $date_modif = time()-7200; + spip_query("UPDATE spip_versions SET date=FROM_UNIXTIME($date_modif) WHERE id_article=$id_article AND id_version=$id_version"); } } }