Skip to content
Extraits de code Groupes Projets
Valider 8dda9e14 rédigé par Fil's avatar Fil
Parcourir les fichiers

autoriser des methodes statiques comme filtre (Pif)

exemple : [(#BALISE|MaClasse::maMethode)]
parent da80fbd8
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -250,23 +250,29 @@ function applique_filtres($p) {
return $code;
}
function compose_filtres($p, $code)
{
foreach($p->param as $filtre) {
$fonc = array_shift($filtre);
if ($fonc) {
$arglist = compose_filtres_args($p, $filtre, ($fonc == '?' ? ':' : ','));
if (function_exists($fonc))
$code = "$fonc($code$arglist)";
else if (strpos("x < > <= >= == === != !== <> ? ", " $fonc "))
$code = "($code $fonc " . substr($arglist,1) . ')';
else
$code = "erreur_squelette('"
. texte_script(_T('zbug_erreur_filtre', array('filtre' => $fonc)))
."','" . $p->id_boucle . "')";
}
}
return $code;
function compose_filtres($p, $code) {
foreach($p->param as $filtre) {
$fonc = array_shift($filtre);
if ($fonc) {
$arglist = compose_filtres_args($p, $filtre,
($fonc == '?' ? ':' : ','));
// le filtre existe sous forme de fonction ou de methode
if (function_exists($fonc)
OR (preg_match("/^(\w*)::(\w*)$/", $fonc, $regs)
AND is_callable(array($regs[1], $regs[2]))
))
$code = "$fonc($code$arglist)";
// est-ce un test ?
else if (strpos("x < > <= >= == === != !== <> ? ", " $fonc "))
$code = "($code $fonc " . substr($arglist,1) . ')';
else
$code = "erreur_squelette('"
.texte_script(_T('zbug_erreur_filtre', array('filtre'=>$fonc)))
."','" . $p->id_boucle . "')";
}
}
return $code;
}
function compose_filtres_args($p, $args, $sep)
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter