From 86a84a7c6d59d31e100b6352d9cddee942ffe455 Mon Sep 17 00:00:00 2001
From: Matthieu Marcillaud <marcimat@rezo.net>
Date: Tue, 25 Jan 2022 15:29:12 +0100
Subject: [PATCH] =?UTF-8?q?Corriger=20`#LESAUTEURS`=20et=20`#URL=5FSITE`?=
 =?UTF-8?q?=20qui=20ne=20fonctionnaient=20plus=20suite=20=C3=A0=20une=20mo?=
 =?UTF-8?q?dification=20de=20la=20valeur=20de=20retour=20par=20d=C3=A9faut?=
 =?UTF-8?q?=20de=20index=5Fpile()=20lorsque=20le=20champ=20n=E2=80=99?=
 =?UTF-8?q?=C3=A9tait=20pas=20trouv=C3=A9=20dans=20une=20boucle=20et=20pri?=
 =?UTF-8?q?s=20du=20coup=20dans=20de=20contexte.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Plutôt que d’analyser le code retourné, on force une valeur par défaut qui
nous convient… Ça simplifie.
---
 ecrire/balise/url_.php       | 4 ++--
 ecrire/public/balises.php    | 7 ++-----
 ecrire/public/references.php | 4 ++--
 3 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/ecrire/balise/url_.php b/ecrire/balise/url_.php
index bce8ff3a26..18bcf7fdc3 100644
--- a/ecrire/balise/url_.php
+++ b/ecrire/balise/url_.php
@@ -196,8 +196,8 @@ function balise_URL_ARTICLE_dist($p) {
  *     Pile complétée par le code à générer
  */
 function balise_URL_SITE_dist($p) {
-	$code = champ_sql('url_site', $p);
-	if (strpos($code, '@$Pile[0]') !== false) {
+	$code = champ_sql('url_site', $p, '');
+	if (!$code) {
 		$code = generer_generer_url('site', $p);
 		if ($code === null) {
 			return null;
diff --git a/ecrire/public/balises.php b/ecrire/public/balises.php
index c4d06d144e..e7305d56c0 100644
--- a/ecrire/public/balises.php
+++ b/ecrire/public/balises.php
@@ -883,16 +883,13 @@ function balise_LANG_dist($p) {
  */
 function balise_LESAUTEURS_dist($p) {
 	// Cherche le champ 'lesauteurs' dans la pile
-	$_lesauteurs = champ_sql('lesauteurs', $p, false);
+	$_lesauteurs = champ_sql('lesauteurs', $p, '');
 
 	// Si le champ n'existe pas (cas de spip_articles), on applique
 	// le modele lesauteurs.html en passant id_article dans le contexte;
 	// dans le cas contraire on prend le champ 'lesauteurs'
 	// (cf extension sites/)
-	if (
-		$_lesauteurs
-		and $_lesauteurs != '@$Pile[0][\'lesauteurs\']'
-	) {
+	if ($_lesauteurs) {
 		$p->code = "safehtml($_lesauteurs)";
 		// $p->interdire_scripts = true;
 	} else {
diff --git a/ecrire/public/references.php b/ecrire/public/references.php
index 44cb682c69..9b6691a9c7 100644
--- a/ecrire/public/references.php
+++ b/ecrire/public/references.php
@@ -105,10 +105,10 @@ function index_boucle_mere($p) {
  *     Indique que le nom de la boucle est explicite dans la balise #_nomboucletruc:CHAMP
  * @param null|string $defaut
  *     Code par defaut si le champ n'est pas trouvé dans l'index.
- *     Utilise @$Pile[0][$nom_champ] si non fourni
+ *     Utilise `($Pile[0][$nom_champ] ?? null)` si non fourni
  * @param bool $remonte_pile
  *     Permettre de remonter la pile des boucles ou non (dans ce cas on
- *     ne cherche que danss la 1ère boucle englobante)
+ *     ne cherche que dans la 1ère boucle englobante)
  * @param bool $select
  *     Pour ajouter au select de la boucle, par defaut true
  * @return string
-- 
GitLab