Changeset 113034 in spip-zone


Ignore:
Timestamp:
Dec 21, 2018, 10:31:08 AM (3 months ago)
Author:
maieul@…
Message:

!@case_1@ pour voir si la case est décochée

Location:
_plugins_/saisies/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/saisies/trunk/inc/saisies_afficher_si.php

    r113033 r113034  
    293293**/
    294294function saisies_transformer_condition_afficher_si($condition, $env = null) {
    295         $regexp = "(?:@(?<champ>.+?)@)" // @champ_@
     295        $regexp =
     296          "(?<negation>!?)" // négation éventuelle
     297                . "(?:@(?<champ>.+?)@)" // @champ_@
    296298                . "(" // partie operateur + valeur (optionnelle) : debut
    297299                . "(?:\s*?)" // espaces éventuels après
     
    313315                        $valeur = isset($test['valeur']) ? $test['valeur'] : null;
    314316                        $test_modifie = saisies_tester_condition_afficher_si($champ, $operateur, $valeur) ? 'true' : 'false';
     317                        if (isset($test['negation'])) {
     318                                $test_modifie = $test['negation'].$test_modifie;
     319                        }
    315320                        $condition = str_replace($expression, $test_modifie, $condition);
    316321                }
  • _plugins_/saisies/trunk/tests/saisies_afficher_si/saisies_evaluer_afficher_si.php

    r113033 r113034  
    2424        // Preparer les requests
    2525        set_request("case_1", "oui");
     26        set_request("case_2", "");
    2627        set_request("a", "a");
    2728        set_request("b", "b");
     
    100101                                0 => true,
    101102                                1 => "@case_1@"
     103                        ),
     104                        'champ_uniquement_faux' => array(
     105                                0 => false,
     106                                1 => "@case_2@"
     107                        ),
     108                        'champ_uniquement_negation' => array(
     109                                0 => true,
     110                                1 => "!@case_2@"
     111                        ),
     112                        'champ_uniquement_negation_faux' => array(
     113                                0 => false,
     114                                1 => "!@case_1@"
    102115                        )
    103116                );
Note: See TracChangeset for help on using the changeset viewer.