[SPIP] ~v3.0.20-->v3.0.25
[lhc/web/clavette_www.git] / www / ecrire / public / sandbox.php
index a742c23..d0cbd39 100644 (file)
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2014                                                *
+ *  Copyright (c) 2001-2016                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
@@ -50,7 +50,11 @@ function sandbox_composer_filtre($fonc, $code, $arglist, &$p){
        elseif ($f = chercher_filtre($fonc)) {
                // cas particulier : le filtre |set doit acceder a la $Pile
                // proto: filtre_set(&$Pile, $val, $args...)
-               $refl = new ReflectionFunction($f);
+               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)";