Re: Un pipeline avant calcul pour modifier le contexte

RastaPopoulos <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[email protected]>
Et donc voilà cette fois le patch complet avec le XML et les deux
appels, une pour les squelettes racines et une pour les inclusions.

J'ai mis "contexte_pre_calcul"
(ça pourrait être "pre_calcul_contexte" aussi, mais plus confus car ça
peut se comprendre en "avant le calcul du contexte" ce qui est faux)

-- 
RastaPopoulos
contexte_pre_calcul.patch (text/x-patch, 2.1 KB)
Index: ecrire/paquet.xml
===================================================================
--- ecrire/paquet.xml	(révision 23993)
+++ ecrire/paquet.xml	(copie de travail)
@@ -101,6 +101,7 @@
 	<pipeline nom="optimiser_base_disparus" action="" />
 	<pipeline nom="page_indisponible" action="" />
 	<pipeline nom="prepare_recherche" action="" />
+	<pipeline nom="contexte_pre_calcul" action="" />
 	<pipeline nom="pre_boucle" action="" />
 	<pipeline nom="post_boucle" action="" />
 	<pipeline nom="post_image_filtrer" action="" />
Index: ecrire/public/assembler.php
===================================================================
--- ecrire/public/assembler.php	(révision 23993)
+++ ecrire/public/assembler.php	(copie de travail)
@@ -38,6 +38,19 @@
 	$page = array('contexte_implicite' => calculer_contexte_implicite());
 	$page['contexte_implicite']['cache'] = $fond . preg_replace(',\.[a-zA-Z0-9]*$,', '',
 			preg_replace('/[?].*$/', '', $GLOBALS['REQUEST_URI']));
+	
+	// On passe le contexte dans un pipeline permettant de le modifier avant calcul et avant définition du nom du cache
+	$GLOBALS['contexte'] = pipeline(
+		'contexte_pre_calcul',
+		array(
+			'args' => array(
+				'fond' => $fond,
+				'page' => $page,
+			),
+			'data' => $GLOBALS['contexte'],
+		)
+	);
+	
 	// Cette fonction est utilisee deux fois
 	$cacher = charger_fonction('cacher', 'public', true);
 	// Les quatre derniers parametres sont modifies par la fonction:
@@ -253,9 +266,23 @@
 	unset($contexte['fond']);
 	$page = array('contexte_implicite' => calculer_contexte_implicite());
 	$page['contexte_implicite']['cache'] = $fond;
+	
+	// On passe le contexte dans un pipeline permettant de le modifier avant calcul et avant définition du nom du cache
+	$contexte = pipeline(
+		'contexte_pre_calcul',
+		array(
+			'args' => array(
+				'fond' => $fond,
+				'page' => $page,
+			),
+			'data' => $contexte,
+		)
+	);
+	
 	if (is_null($cacher)) {
 		$cacher = charger_fonction('cacher', 'public', true);
 	}
+	
 	// Les quatre derniers parametres sont modifies par la fonction:
 	// emplacement, validite, et, s'il est valide, contenu & age
 	if ($cacher) {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.