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) { ...@@ -250,23 +250,29 @@ function applique_filtres($p) {
return $code; return $code;
} }
function compose_filtres($p, $code) function compose_filtres($p, $code) {
{ foreach($p->param as $filtre) {
foreach($p->param as $filtre) { $fonc = array_shift($filtre);
$fonc = array_shift($filtre); if ($fonc) {
if ($fonc) { $arglist = compose_filtres_args($p, $filtre,
$arglist = compose_filtres_args($p, $filtre, ($fonc == '?' ? ':' : ',')); ($fonc == '?' ? ':' : ','));
if (function_exists($fonc))
$code = "$fonc($code$arglist)"; // le filtre existe sous forme de fonction ou de methode
else if (strpos("x < > <= >= == === != !== <> ? ", " $fonc ")) if (function_exists($fonc)
$code = "($code $fonc " . substr($arglist,1) . ')'; OR (preg_match("/^(\w*)::(\w*)$/", $fonc, $regs)
else AND is_callable(array($regs[1], $regs[2]))
$code = "erreur_squelette('" ))
. texte_script(_T('zbug_erreur_filtre', array('filtre' => $fonc))) $code = "$fonc($code$arglist)";
."','" . $p->id_boucle . "')"; // est-ce un test ?
} else if (strpos("x < > <= >= == === != !== <> ? ", " $fonc "))
} $code = "($code $fonc " . substr($arglist,1) . ')';
return $code; 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) 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