From b82faaba131a66c0668d405595b932b08d0df24b Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Thu, 3 Feb 2005 13:48:36 +0000
Subject: [PATCH] bidouiller, dans les squelettes, les liens de la forme
 ./nom_de_fichier#

si le fichier existe dans le chemin de spip, alors on remplace ./nom_de_fichier# par chemin/nom_de_fichier

ce qui permet de faire des squelettes clean dans des sous-repertoires.
---
 inc-compilo.php3 | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/inc-compilo.php3 b/inc-compilo.php3
index ebe11c7633..f863fabb96 100644
--- a/inc-compilo.php3
+++ b/inc-compilo.php3
@@ -80,8 +80,21 @@ function calculer_inclure($fichier, $params, $id_boucle, &$boucles) {
 // en une EXPRESSION php (qui peut etre l'argument d'un Return ou la
 // partie droite d'une affectation). Ici sont analyses les elements
 // multilingues des squelettes : <:xxx:> et <multi>[fr]coucou</multi>
+// ainsi que les liens vers des fichiers appelant un chemin (./fichier#)
 //
 function calculer_texte($texte, $id_boucle, &$boucles, $id_mere) {
+	//
+	// Facile : les liens fichiers (./xxxxx.css# -> chemin/xxxxx.css)
+	//
+	if (preg_match_all('@[.]/([^[[:space:]#<>"$\']+)[#]@',
+	$texte, $matches, PREG_SET_ORDER)
+		foreach ($matches as $r)
+			if ($fichier = find_in_path($r[1]))
+				$texte = str_replace ($r[0], $fichier, $texte);
+
+	//
+	// Plus difficile : les elements multilingues
+	//
 	$code = "'".ereg_replace("([\\\\'])", "\\\\1", $texte)."'";
 
 	// bloc multi
-- 
GitLab