// le filtre est defini sous forme de fonction ou de methode
// par ex. dans inc_texte, inc_filtres ou mes_fonctions
elseif ($f = chercher_filtre($fonc)) {
- $code = "$f($code$arglist)";
+ // cas particulier : le filtre |set doit acceder a la $Pile
+ // proto: filtre_set(&$Pile, $val, $args...)
+ if (strpbrk($f, ':')) { // Class::method
+ $refl = new ReflectionMethod($f);
+ } else {
+ $refl = new ReflectionFunction($f);
+ }
+ $refs = $refl->getParameters();
+ if (isset($refs[0]) AND $refs[0]->name == 'Pile') {
+ $code = "$f(\$Pile,$code$arglist)";
+ }
+ else {
+ $code = "$f($code$arglist)";
+ }
}
// le filtre n'existe pas,
// on le notifie