From 3529bc00bea1638e598ec50359fa44bc77eea699 Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Thu, 14 Feb 2008 15:04:24 +0000 Subject: [PATCH] preparer le traitement generique et simplifie des FORMULAIRE_xx --- ecrire/public/composer.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/ecrire/public/composer.php b/ecrire/public/composer.php index f1cbddf5f1..b635b08f4f 100644 --- a/ecrire/public/composer.php +++ b/ecrire/public/composer.php @@ -240,8 +240,17 @@ function argumenter_squelette($v) { // verifier leurs arguments et filtres, et calculer le code a inclure // http://doc.spip.org/@executer_balise_dynamique function executer_balise_dynamique($nom, $args, $filtres, $lang, $ligne) { - if (!$file = find_in_path(strtolower($nom) .'.php', 'balise/', true)) - die ("pas de balise dynamique pour #". strtolower($nom)." !"); + if (!$file = find_in_path(strtolower($nom) .'.php', 'balise/', true)) { + // regarder si une fonction generique n'existe pas + if (($p = strpos($nom,"_")) + && ($file = find_in_path(strtolower(substr($nom,0,$p+1)) .'.php', 'balise/', true))) { + // dans ce cas, on lui injecte en premier arg le nom de la balise qu'on doit traiter + array_unshift($args,$nom); + $nom = substr($nom,0,$p+1); + } + else + die ("pas de balise dynamique pour #". strtolower($nom)." !"); + } // Y a-t-il une fonction de traitement filtres-arguments ? $f = 'balise_' . $nom . '_stat'; -- GitLab