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