From 154bd7c63f19f66befbca95e49f56772f2154e16 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Mon, 22 Oct 2007 19:16:25 +0000
Subject: [PATCH] =?UTF-8?q?Quand=20on=20relache=20la=20Regexp=20en=20amont?=
 =?UTF-8?q?,=20il=20faut=20contraindre=20en=20aval.=20Je=20regroupe=20dans?=
 =?UTF-8?q?=20une=20seule=20fonction,=20sinon=20on=20va=20retomber=20dans?=
 =?UTF-8?q?=20le=20pi=C3=A8ge=20=C3=A0=20la=20prochaine=20modif.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/inc/texte.php | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/ecrire/inc/texte.php b/ecrire/inc/texte.php
index 6c48b9bf7e..063e41d053 100644
--- a/ecrire/inc/texte.php
+++ b/ecrire/inc/texte.php
@@ -1062,7 +1062,12 @@ function expanser_liens($letexte, $connect='')
 	if (preg_match_all(_RACCOURCI_LIEN, $letexte, $matches, PREG_SET_ORDER)) {
 		$i = 0;
 		foreach ($matches as $regs) {
-			$inserts[++$i] = traiter_raccourci_lien($regs, $connect);
+			$n = count($regs);
+			list($texte, $bulle, $hlang) = traiter_raccourci_lien_atts($regs[1]);
+			list ($lien, $class, $texte, $lang) =
+			  calculer_url($regs[$n-1], $texte, 'tout', $connect);
+			$inserts[++$i] = traiter_raccourci_lien_lang($lien, $class, $texte, $hlang, $lang, $bulle, $connect);
+
 			$letexte = str_replace($regs[0], "@@SPIP_ECHAPPE_LIEN_$i@@",
 				$letexte);
 		}
@@ -1075,14 +1080,15 @@ function expanser_liens($letexte, $connect='')
 	return $letexte;
 }
 
-//
+/*
 // Inserer un lien a partir du preg_match du raccourci [xx->url]
+// Le preg-match a change, cette fonction est inutilisable
 // $regs:
 // 0=>tout le raccourci
 // 1=>texte (ou texte|hreflang ou texte|bulle ou texte|bulle{hreflang})
 // 2=>double fleche (historiquement, liens ouvrants)
 // 3=>url
-// A terme, il faudrait tenir compte de $connect
+
 // http://doc.spip.org/@traiter_raccourci_lien
 function traiter_raccourci_lien($regs, $connect='') {
 
@@ -1092,6 +1098,7 @@ function traiter_raccourci_lien($regs, $connect='') {
 		calculer_url($url, $texte, 'tout', $connect);
 	return traiter_raccourci_lien_lang($lien, $class, $texte, $hlang, $lang, $bulle, $connect);
 }
+*/
 
 // http://doc.spip.org/@traiter_raccourci_lien_lang
 function traiter_raccourci_lien_lang($lien, $class, $texte, $hlang, $lang, $bulle, $connect='')
-- 
GitLab