From cf31bf85eb7d649205c64d8d98e40e8f584a0369 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Sat, 3 Jul 2004 11:54:33 +0000
Subject: [PATCH] =?UTF-8?q?configuration=20et=20interface=20de=20"gestion?=
 =?UTF-8?q?=20des=20r=C3=A9visions"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/articles.php3          |  6 +++---
 ecrire/articles_versions.php3 |  3 ++-
 ecrire/config-fonctions.php3  | 37 +++++++++++++++++++++++++++++++++++
 ecrire/inc_config.php3        |  2 ++
 ecrire/inc_version.php3       |  2 +-
 5 files changed, 45 insertions(+), 5 deletions(-)

diff --git a/ecrire/articles.php3 b/ecrire/articles.php3
index 27a520dded..8336b93d96 100644
--- a/ecrire/articles.php3
+++ b/ecrire/articles.php3
@@ -14,7 +14,7 @@ $articles_chapeau = lire_meta("articles_chapeau");
 $articles_ps = lire_meta("articles_ps");
 $articles_redac = lire_meta("articles_redac");
 $articles_mots = lire_meta("articles_mots");
-$articles_versions = lire_meta("articles_versions");
+$articles_versions = (lire_meta("articles_versions")=='oui') && $flag_revisions;
 
 if ($id_article==0) {
 	if ($new=='oui') {
@@ -260,7 +260,7 @@ if ($titre && !$ajout_forum && $flag_editable) {
 	
 	// -- Experimental --
 	// Stockage des versions
-	if ($articles_versions != 'non') {
+	if ($articles_versions) {
 		include_ecrire("inc_diff.php3");
 		ajouter_version($id_article, $champs_versions);
 	}
@@ -419,7 +419,7 @@ if ($connect_statut == "0minirezo" AND $statut_article == 'publie' AND $visites
 	icone_horizontale(_T('icone_evolution_visites', array('visites' => $visites)), "statistiques_visites.php3?id_article=$id_article", "statistiques-24.gif","rien.gif");
 }
 
-if ($articles_versions != 'non' AND $connect_statut == "0minirezo" AND $id_version>1) {
+if ($articles_versions AND $id_version>1) {
 	icone_horizontale(_L('Afficher les r&eacute;visions...'), "articles_versions.php3?id_article=$id_article", "historique-24.gif", "rien.gif");
 }
 
diff --git a/ecrire/articles_versions.php3 b/ecrire/articles_versions.php3
index 46cde1218a..0233240172 100644
--- a/ecrire/articles_versions.php3
+++ b/ecrire/articles_versions.php3
@@ -20,6 +20,7 @@ if ($row = spip_fetch_array($result)) {
 	$id_rubrique = $row["id_rubrique"];
 	$date = $row["date"];
 	$statut_article = $row["statut"];
+	$titre = typo($row["titre"]);
 	$maj = $row["maj"];
 	$date_redac = $row["date_redac"];
 	$visites = $row["visites"];
@@ -78,7 +79,7 @@ foreach ($textes as $var => $t) $$var = $t;
 
 
 
-debut_page("&laquo; $titre_article &raquo;", "documents", "articles");
+debut_page(_L('R&eacute;visions :')." &laquo; $titre &raquo;", "documents", "articles");
 
 debut_grand_cadre();
 
diff --git a/ecrire/config-fonctions.php3 b/ecrire/config-fonctions.php3
index bf4e075a51..535cf272cb 100644
--- a/ecrire/config-fonctions.php3
+++ b/ecrire/config-fonctions.php3
@@ -250,6 +250,43 @@ if ($options == "avancees") {
 }
 
 
+//
+// Gestion des revisions des articles
+//
+
+if ($options == "avancees") {
+	debut_cadre_relief("historique-24.gif");
+
+	$articles_versions = lire_meta("articles_versions");
+
+	echo "<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=3 WIDTH=\"100%\">";
+	echo "<TR><TD BGCOLOR='$couleur_foncee' BACKGROUND='img_pack/rien.gif'><B><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=3 COLOR='#FFFFFF'>"._L('Suivi des r&eacute;visions')."</FONT></B></TD></TR>";
+
+	echo "<TR><TD class='verdana2'>";
+	echo _L('Le suivi des r&eacute;visions permet de conserver un historique de toutes les modifications apport&eacute;es au contenu d\'un article, et d\'afficher les diff&eacute;rences entre les versions successives.');
+	echo "</TD></TR>";
+
+	echo "<TR><TD ALIGN='center' class='verdana2'>";
+	afficher_choix('articles_versions', $articles_versions,
+		array('oui' => _L('Activer le suivi des r&eacute;visions'),
+			'non' => _L('D&eacute;sactiver le suivi des r&eacute;visions')));
+	echo "</TD></TR>\n";
+
+	if (!$flag_revisions) {
+		echo "<TR><TD ALIGN='center' class='verdana2'>";
+		echo "<i>"._L('La configuration de votre serveur ne permet pas d\'activer le suivi des r&eacute;visions')."</i>";
+		echo "</TD></TR>\n";
+	}
+
+	echo "<TR><td style='text-align:$spip_lang_right;'>";
+	echo "<INPUT TYPE='submit' NAME='Valider' VALUE='"._T('bouton_valider')."' CLASS='fondo'>";
+	echo "</TD></TR>";
+	echo "</TABLE>\n";
+
+	fin_cadre_relief();
+
+	echo "<p>";
+}
 
 
 
diff --git a/ecrire/inc_config.php3 b/ecrire/inc_config.php3
index 11a60c3aad..3cca84369f 100644
--- a/ecrire/inc_config.php3
+++ b/ecrire/inc_config.php3
@@ -51,6 +51,7 @@ function init_config() {
 		'forum_prive_admin' => 'non',
 
 		'activer_moteur' => 'oui',
+		'articles_versions' => 'non',
 		'activer_statistiques' => 'oui',
 
 		'documents_article' => 'oui',
@@ -229,6 +230,7 @@ function appliquer_modifs_config() {
 		'forum_prive_admin',
 
 		'activer_moteur',
+		'articles_versions',
 		'activer_statistiques',
 
 		'documents_article',
diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3
index a3a8747cca..90aa94f180 100644
--- a/ecrire/inc_version.php3
+++ b/ecrire/inc_version.php3
@@ -233,7 +233,7 @@ $flag_iconv = function_exists("iconv");
 $flag_strtotime = function_exists("strtotime");
 
 $flag_gd = $flag_ImageGif || $flag_ImageJpeg || $flag_ImagePng;
-
+$flag_revisions = $flag_pcre;	// a completer
 
 
 //
-- 
GitLab