From f8c7e03ec2d63cd7d82b35f9de3d5421fd28ad5c Mon Sep 17 00:00:00 2001
From: RastaPopoulos <rastapopoulos@spip.org>
Date: Tue, 23 Nov 2021 22:08:58 +0100
Subject: [PATCH] =?UTF-8?q?Garder=20en=20m=C3=A9moire=20l'=C3=A9tat=20de?=
 =?UTF-8?q?=20l'objet=20avant=20toute=20modification,=20et=20le=20passer?=
 =?UTF-8?q?=20aux=20deux=20pipelines=20champs=20un=20args=20champs=5Fancie?=
 =?UTF-8?q?ns=20(tout=20comme=20dans=20l'instituer=20qui=20a=20statut=5Fan?=
 =?UTF-8?q?cien,=20date=5Fancienne,=20etc)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/inc/modifier.php | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/ecrire/inc/modifier.php b/ecrire/inc/modifier.php
index da9474424d..017b6e34b6 100644
--- a/ecrire/inc/modifier.php
+++ b/ecrire/inc/modifier.php
@@ -144,6 +144,9 @@ function objet_modifier_champs($objet, $id_objet, $options, $c = null, $serveur
 
 	// Nettoyer les valeurs
 	$champs = array_map('corriger_caracteres', $champs);
+	
+	// On récupère l'état avant toute modification
+	$row = sql_fetsel('*', $spip_table_objet, $id_table_objet . '=' . $id_objet);
 
 	// Envoyer aux plugins
 	$champs = pipeline(
@@ -158,6 +161,7 @@ function objet_modifier_champs($objet, $id_objet, $options, $c = null, $serveur
 				'id_objet' => $id_objet,
 				'data' => $options['data'] ?? null,
 				'champs' => $options['champs'] ?? [], // [doc] c'est quoi ?
+				'champs_anciens' => $row, // état du contenu avant modif
 				'serveur' => $serveur,
 				'action' => $options['action'] ?? 'modifier'
 			],
@@ -294,6 +298,7 @@ function objet_modifier_champs($objet, $id_objet, $options, $c = null, $serveur
 					'type' => $objet,
 					'id_objet' => $id_objet,
 					'champs' => $options['champs'] ?? [], // [doc] kesako ?
+					'champs_anciens' => $row, // état du contenu avant modif
 					'serveur' => $serveur,
 					'action' => $options['action'] ?? 'modifier'
 				],
-- 
GitLab