Browse Source

parfois la condition passée à saisies_evaluer_afficher_si() est juste une valeur booleenne, ce qu'on autorise du coup. C'est le cas notamment si on teste @plugin:xxx@

svn/root/tags/v3.15.0
maieul@maieul.net 4 years ago
parent
commit
f908ec9b5c
  1. 9
      inc/saisies_afficher_si.php
  2. 18
      tests/saisies_afficher_si/saisies_evaluer_afficher_si.php

9
inc/saisies_afficher_si.php

@ -347,9 +347,12 @@ function saisies_transformer_condition_afficher_si($condition, $env = null) {
$condition = str_replace($expression, $test_modifie, $condition);
}
} else {
spip_log("Afficher_si incorrect : $condition", "saisies"._LOG_CRITIQUE);
$condition = true;
$condition = str_replace(' ', '', $condition);
$condition_possible = array("!false", "false", "true", "!true");
if (!in_array($condition, $condition_possible)){
spip_log("Afficher_si incorrect : $condition", "saisies"._LOG_CRITIQUE);
$condition = true;
}
}
return $condition;
}

18
tests/saisies_afficher_si/saisies_evaluer_afficher_si.php

@ -144,7 +144,23 @@
'nombre_inferieur_egal_faux' => array(
0 => false,
1 => "@nombre@ <= 10"
)
),
'false' => array(
0 => false,
1 => 'false'
),
'true' => array(
0 => true,
1 => 'true'
),
'anti_false' => array(
0 => true,
1 => '!false'
),
'anti_true' => array(
0 => false,
1 => '!true'
),
);
return $essais;
}

Loading…
Cancel
Save