From e68d2a9e0907d125bef77072c9fdf7f437f5c154 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ma=C3=AFeul=20Rouquette?= <maieul@maieul.net>
Date: Fri, 13 Sep 2024 14:00:58 +0200
Subject: [PATCH]  fix: remplacer les usages de la globale `$formats_logos` par
 la fonction `_image_extensions_logos()`
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

    à intégrer après spip/spip!6032

Ref: #4958

Compatible SPIP 4.3 et 4.4
---
 action/desordonner_liens_documents.php |  8 +++++++-
 formulaires/editer_document.php        |  8 +++++++-
 medias_autoriser.php                   | 10 ++++++++--
 3 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/action/desordonner_liens_documents.php b/action/desordonner_liens_documents.php
index 86b619db..d3e04e33 100644
--- a/action/desordonner_liens_documents.php
+++ b/action/desordonner_liens_documents.php
@@ -72,7 +72,13 @@ function desordonner_liens_documents($document, $objet, $id_objet) {
 	} else {
 		[$image, $mode] = explode('/', $document);
 		$image = ($image == 'I');
-		$typdoc = sql_in('docs.extension', ['gif', 'jpg', 'png'], $image ? '' : 'NOT');
+		include_spip('inc/filtres_images_lib_mini');
+		if (function_exists('_image_extensions_logos')) {
+			$extensions = _image_extensions_logos();
+		} else {
+			$extensions = $GLOBALS['formats_logos'];
+		}
+		$typdoc = sql_in('docs.extension', $extensions, $image ? '' : 'NOT');
 
 		$obj = 'id_objet=' . intval($id_objet) . ' AND objet=' . sql_quote($objet);
 
diff --git a/formulaires/editer_document.php b/formulaires/editer_document.php
index 3dda6636..1a5fc005 100644
--- a/formulaires/editer_document.php
+++ b/formulaires/editer_document.php
@@ -65,7 +65,13 @@ function formulaires_editer_document_charger_dist(
 	);
 	$valeurs['type_document'] = $row['type_document'];
 	$valeurs['_inclus'] = $row['inclus'];
-	if (in_array($valeurs['extension'], ['jpg', 'gif', 'png', 'svg'])) {
+	include_spip('inc/filtres_images_lib_mini');
+	if (function_exists('_image_extensions_logos')) {
+		$extensions = _image_extensions_logos();
+	} else {
+		$extensions = $GLOBALS['formats_logos'];
+	}
+	if (in_array($valeurs['extension'], $extensions)) {
 		$valeurs['apercu'] = get_spip_doc($valeurs['fichier']);
 	}
 
diff --git a/medias_autoriser.php b/medias_autoriser.php
index 2d3c2e15..df908fa3 100644
--- a/medias_autoriser.php
+++ b/medias_autoriser.php
@@ -79,9 +79,15 @@ function autoriser_document_tailler_dist($faire, $type, $id, $qui, $options) {
 	}
 
 	// (on ne le propose pas pour les images qu'on sait
-	// lire : gif jpg png), sauf bug, ou document distant
+	// lire : gif jpg png webp svg), sauf bug, ou document distant
+	include_spip('inc/filtres_images_lib_mini');
+	if (function_exists('_image_extensions_logos')) {
+		$extensions = _image_extensions_logos();
+	} else {
+		$extensions = $GLOBALS['formats_logos'];
+	}
 	if (
-		in_array($document['extension'], ['gif', 'jpg', 'png'])
+		in_array($document['extension'], $extensions)
 		and $document['hauteur']
 		and $document['largeur']
 		and $document['distant'] !== 'oui'
-- 
GitLab