From d7b55cbed5838ad86d2e87cfe7fb979388766353 Mon Sep 17 00:00:00 2001 From: RastaPopoulos <rastapopoulos@spip.org> Date: Wed, 5 May 2010 08:00:54 +0000 Subject: [PATCH] =?UTF-8?q?Dans=20les=20balises=20dynamiques,=20le=20param?= =?UTF-8?q?=C3=A8tre=20de=20contexte=20"=5Fpipeline"=20qui=20permet=20de?= =?UTF-8?q?=20passer=20le=20HTML=20produit=20dans=20un=20pipeline=20reste?= =?UTF-8?q?=20le=20m=C3=AAme=20mais=20devient=20d=C3=A9pr=C3=A9ci=C3=A9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On ajoute à la place un paramètre "_pipelines" au pluriel, permettant donc de passer *plusieurs* pipelines avec une syntaxe légèrement différente : "_pipelines" est un tableau de clé=>valeur, où chaque clé est le nom du pipeline et la valeur les arguments. C'est particulièrement utile depuis CVT. En effet, un plugin peut s'insérer dans le charger() d'un formulaire ayant *déjà * un pipeline de déclaré pour son HTML. Et du coup il ne pourra pas lui-même le faire passer dans un pipeline qui lui serait propre. Maintenant on peut. Ça marche en 2.2 et en 2.1. Là je ne commit que sur le trunk pour l'instant, mais comme ce n'est pas une nouvelle fonctionnalité je demanderais bien un backport. Qu'en pensez-vous ? --- ecrire/public/assembler.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ecrire/public/assembler.php b/ecrire/public/assembler.php index 69376cf7dd..83c1b75ccb 100644 --- a/ecrire/public/assembler.php +++ b/ecrire/public/assembler.php @@ -349,6 +349,20 @@ function inclure_balise_dynamique($texte, $echo=true, $contexte_compil=array()) 'data'=>$texte, 'args'=>$args)); } + // Le parametre _pipeline devient deprecie, remplace par _pipelines au pluriel avec une syntaxe permettant plusieurs pipelines + if (isset($page['contexte']['_pipelines']) and is_array($page['contexte']['_pipelines'])) { + foreach($page['contexte']['_pipelines'] as $pipe=>$args){ + if (isset($GLOBALS['spip_pipeline'][$pipe])){ + $texte = pipeline( + $pipe, + array( + 'data'=>$texte, + 'args'=>$args + ) + ); + } + } + } } if ($GLOBALS['var_mode'] == 'debug') { -- GitLab