From c0942fc8fbb1817109ae34c3e7b1a157c21ece7e Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Mon, 26 Jun 2006 20:16:52 +0000
Subject: [PATCH] =?UTF-8?q?possibilit=C3=A9=20de=20restaurer=20une=20ancie?=
 =?UTF-8?q?nne=20r=C3=A9vision=20d'article=20(le=20code=20=C3=A9tait=20l?=
 =?UTF-8?q?=C3=A0=20qui=20attendait=20trivialement=20qu'on=20l'exploite)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/exec/articles_edit.php     | 17 +++++++++++++++++
 ecrire/exec/articles_versions.php |  2 +-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/ecrire/exec/articles_edit.php b/ecrire/exec/articles_edit.php
index f881fd7b90..bf8dac54a2 100644
--- a/ecrire/exec/articles_edit.php
+++ b/ecrire/exec/articles_edit.php
@@ -287,9 +287,26 @@ function exec_articles_edit_dist()
 	if (!$row) die ("<h3>"._T('info_acces_interdit')."</h3>");
 
 	$id_article = $row['id_article'];
+
+	// si une ancienne revision est demandee, la charger
+	// en lieu et place de l'actuelle ; attention les champs
+	// qui etaient vides ne sont pas vide's. Ca permet de conserver
+	// des complements ajoutes "orthogonalement", et ca fait un code
+	// plus generique.
+	if ($id_version = intval(_request('id_version'))) {
+		include_spip('inc/revisions');
+		if ($textes = recuperer_version($id_article, $id_version)) {
+			foreach ($textes as $champ => $contenu)
+				$row[$champ] = $contenu;
+		}
+	}
+
+
 	$id_rubrique = $row['id_rubrique'];
 	$titre = $row['titre'];
 
+	if ($id_version) $titre.= ' ('._T('version')." $id_version)";
+
 	debut_page(_T('titre_page_articles_edit', array('titre' => $titre)),
 		   "documents", "articles", "hauteurTextarea();", 
 		   "",
diff --git a/ecrire/exec/articles_versions.php b/ecrire/exec/articles_versions.php
index 3bf48062ea..036f4253dd 100644
--- a/ecrire/exec/articles_versions.php
+++ b/ecrire/exec/articles_versions.php
@@ -200,7 +200,7 @@ $flag_editable = (acces_rubrique($id_rubrique)
 	OR ($flag_auteur AND ($statut_article == 'prepa' OR $statut_article == 'prop' OR $statut_article == 'poubelle')));
 
 if ($flag_editable)
-	icone(_T('icone_modifier_article'), generer_url_ecrire("articles_edit","id_article=$id_article"), "article-24.gif", "edit.gif");
+	icone(_T('icone_modifier_article').'<br />('._T('version')." $id_version)", generer_url_ecrire("articles_edit","id_article=$id_article&id_version=$id_version"), "article-24.gif", "edit.gif");
 
 echo "</td>";
 
-- 
GitLab