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

forcer le filtre |?{a,b} à avoir deux arguments : ça évite des parse error...

forcer le filtre |?{a,b} à avoir deux arguments : ça évite des parse error terribles quand on a un filtre "mal écrit" du genre |?{1}

mais ça permet désormais de faire :

[(#BALISE|?)]      (aspire les données et ne sort jamais rien)
[(#BALISE|?{yo})]  (affiche "yo" si la balise est non vide)
[(#BALISE|?{yo,spip})]  (cas habituel)


parent 99008be7
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -382,10 +382,15 @@ function compose_filtres($p, $code) { ...@@ -382,10 +382,15 @@ 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) {
// recuperer les arguments du filtre, en les separant par des // recuperer les arguments du filtre, les separer par des virgules
// virgules, *sauf* dans le cas du filtre "?" qui demande un ":" // *sauf* dans le cas du filtre "?" qui demande un ":"
$arglist = compose_filtres_args($p, $filtre, if ($fonc == '?') {
($fonc == '?' ? ':' : ',')); // |?{a,b} *doit* avoir exactement 2 arguments ; on les force
if (count($filtre) != 2)
$filtre = array($filtre[0], $filtre[1]);
$arglist = compose_filtres_args($p, $filtre, ':');
} else
$arglist = compose_filtres_args($p, $filtre, ',');
// le filtre est defini dans la matrice ? il faut alors l'appeler // le filtre est defini dans la matrice ? il faut alors l'appeler
// de maniere indirecte, pour charger au prealable sa definition // de maniere indirecte, pour charger au prealable sa definition
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter