From 2ce1e7e5e8168f1fc21b61b5f43f851716c6bda9 Mon Sep 17 00:00:00 2001
From: nicod_ <nicod@lerebooteux.fr>
Date: Fri, 5 May 2023 17:36:50 +0200
Subject: [PATCH] =?UTF-8?q?Ajouter=20la=20saisie=20de=20l'ancre=20dans=20l?=
 =?UTF-8?q?e=20formulaire=20d'=C3=A9dition=20d'un=20block?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 formulaires/editer_block.php | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/formulaires/editer_block.php b/formulaires/editer_block.php
index a8af871..e97c65c 100644
--- a/formulaires/editer_block.php
+++ b/formulaires/editer_block.php
@@ -78,6 +78,18 @@ function formulaires_editer_block_charger_dist($id_block = 'new', $objet = null,
 				],
 			];
 		}
+
+		// ajout du champ "ancre nommée"
+		$saisies_blocktype[] = [
+			'saisie'  => 'input',
+			'options' => [
+				'nom'         => 'ancre',
+				'label'       => _T('block:champ_ancre_label'),
+				'explication' => _T('block:champ_ancre_explication'),
+			],
+		];
+
+		// passer les saisies au formulaire
 		$valeurs['_saisies'] = saisies_inserer(
 			$saisies_blocktype,
 			[
@@ -93,6 +105,7 @@ function formulaires_editer_block_charger_dist($id_block = 'new', $objet = null,
 
 		// charger les valeurs déjà saisies
 		$valeurs_saisies = blocks_deserialize($valeurs['valeurs'] ?? null);
+		$valeurs_saisies['ancre'] = $valeurs['ancre'] ?? null;
 		include_spip('inc/saisies_lister');
 		$saisies_par_nom = saisies_lister_par_nom($saisies_blocktype);
 		foreach ($saisies_par_nom as $nom => $saisie) {
@@ -235,10 +248,10 @@ function formulaires_editer_block_traiter_dist($id_block = 'new', $objet = null,
 
 		}
 	}
-	if($retour){
+	if ($retour && (_request('ajouter') || _request('annuler'))) {
 		$retours['redirect'] = $retour;
 	}
-	$retours['redirect'] = str_replace('&amp;', '&', $retours['redirect']);
+	$retours['redirect'] = str_replace('&amp;', '&', $retours['redirect'] ?? '');
 
 	return $retours;
 }
-- 
GitLab