Browse Source

On peut declarer dans la globale $GLOBALS['spip_pipeline']['all'] des fonctions qui seront appelees sur tous les pipelines

Attention, la fonction recoit simplement les arguments du pipeline, pas le nom, c'est a elle de retrouver le nom du pipeline appele via la pile d'appel de debug_backtrace();
(C'est une feature de debug qui permet de tracer tous les appels des pipelines, mais n'a pas grand interet fonctionnel a part ça)
remotes/checkIfPRContentChanged-1614159680506297609/master
Cerdic 1 week ago
parent
commit
29c643c14f
1 changed files with 18 additions and 0 deletions
  1. +18
    -0
      ecrire/inc/plugin.php

+ 18
- 0
ecrire/inc/plugin.php View File

@ -1278,10 +1278,28 @@ function pipeline_matrice_precompile($plugin_valides, $ordre, $pipe_recherche) {
**/
function pipeline_precompile($prepend_code = array()) {
$all_pipes = $all_pipes_end = '';
if (!empty($GLOBALS['spip_pipeline']['all'])) {
$a = explode('||', $GLOBALS['spip_pipeline']['all'], 2);
unset($GLOBALS['spip_pipeline']['all']);
$all_pipes = trim(array_shift($a));
if ($all_pipes) {
$all_pipes = '|' . ltrim($a, '|');
}
if (count($a)) {
$all_pipes_end = '||' . array_shift($a);
}
}
$content = "";
foreach ($GLOBALS['spip_pipeline'] as $action => $pipeline) {
$s_inc = "";
$s_call = "";
if ($all_pipes) {
$pipeline = preg_replace(",(\|\||$),", "$all_pipes\\1", $pipeline, 1);
}
if ($all_pipes_end) {
$pipeline .= $all_pipes_end;
}
$pipe = array_filter(explode('|', $pipeline));
// Eclater le pipeline en filtres et appliquer chaque filtre
foreach ($pipe as $fonc) {


Loading…
Cancel
Save