From 24ef44f42925c47d16850f68207c23371efd58c9 Mon Sep 17 00:00:00 2001
From: Matthieu Marcillaud <marcimat@rezo.net>
Date: Fri, 10 Dec 2021 16:04:17 +0100
Subject: [PATCH] =?UTF-8?q?Ticket=20#4950=20:=20=C3=89viter=20que=20la=20d?=
 =?UTF-8?q?ate=20modif=20soit=20modifi=C3=A9e=20lors=20de=20la=20migration?=
 =?UTF-8?q?=20des=20logos.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/action/editer_logo.php | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/ecrire/action/editer_logo.php b/ecrire/action/editer_logo.php
index 0ccb7a2759..6f84ab6fb8 100644
--- a/ecrire/action/editer_logo.php
+++ b/ecrire/action/editer_logo.php
@@ -157,10 +157,13 @@ function logo_migrer_en_base($objet, $time_limit) {
 	}
 
 
+	$trouver_table = charger_fonction('trouver_table', 'base');
 	$chercher_logo = charger_fonction('chercher_logo', 'inc');
 	include_spip('inc/chercher_logo');
 	$_id_objet = id_table_objet($objet);
+	$table = table_objet_sql($objet);
 	$type = type_du_logo($_id_objet);
+	$desc = $trouver_table($table);
 
 	foreach (['on', 'off'] as $mode) {
 		$nom_base = $type . $mode;
@@ -214,10 +217,18 @@ function logo_migrer_en_base($objet, $time_limit) {
 					if (!$logo or count($logo) < 6) {
 						foreach ($formats_logos as $format) {
 							if (@file_exists($d = ($dir . ($nom = $nom_base . intval($id_objet) . '.' . $format)))) {
+								if (isset($desc['field']['date_modif'])) {
+									$date_modif = sql_getfetsel('date_modif', $table, "$_id_objet=$id_objet");
+								} else {
+									$date_modif = null;
+								}
 								// logo_modifier commence par supprimer le logo existant, donc on le deplace pour pas le perdre
 								@rename($d, $dir_logos . $nom);
 								// et on le declare comme nouveau logo
 								logo_modifier($objet, $id_objet, $mode, $dir_logos . $nom);
+								if ($date_modif) {
+									sql_updateq($table, ['date_modif' => $date_modif], "$_id_objet=$id_objet");
+								}
 								break;
 							}
 						}
-- 
GitLab