Donc, pour le timestamp servant à vérifier qu'il n'y a pas eu de modif de
l'article entre le moment où vous l'avez sorti et celui où vous le remettez,
je pensais pouvoir me baser sur 'maj', avec un code de ce type inséré ligne
133 dans articles.php3 (et un champ hidden name='timstamp' value='$maj' dans
articles_edit.php3)
// Verifier qu'on renvoit bien le timestamp correspondant au dernier maj
if ($timestamp) {
$requete_maj = "SELECT maj FROM spip_articles WHERE id_article = $id_article";
$result = mysql_fetch_array(mysql_query($requete_maj));
$maj = $result['maj'];
if ($timestamp != $maj) {
$erreur_timestamp = propre("Un autre utilisateur a modifié cet article depuis que vous l'avez sorti");
}
}
Deux questions :
1) En fait 'maj' est trop sensible, car on veut que ce timestamp ne varie
que lors d'une modif de contenu via articles_edit.php3 (si la date de
publication ou le statut change, on s'en fout). Ce qui impliquerait de gérer
un champ timestamp supplémentaire et manuel ?
2) Que fait-on quand on détecte une collision ? Je suggère une page
affichant le $erreur_timestamp ci-dessus, et pas de modif dans la base, et
un bouton (javascript:back()) bien en vue, servant à récupérer ses champs
textes pour étudier les différences entre les deux nouvelles versions.