Changeset 113008 in spip-zone


Ignore:
Timestamp:
Dec 21, 2018, 12:01:30 AM (4 weeks ago)
Author:
maieul@…
Message:

En fait on peut tester @bidule@ IN s mais pas @bidule IN s,s (ca marche pas en js). Donc cela simplifie considèrablement nos codes et les tests unitaires.

Location:
_plugins_/saisies/trunk
Files:
2 edited

Legend:

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

    r113007 r113008  
    391391**/
    392392function saisies_tester_condition_afficher_si_array($champ, $operateur, $valeur) {
    393         // Convertir les valeurs en vrai tableau
    394         $valeur = explode(",", $valeur);
    395         $intersection = array_intersect($champ, $valeur);
    396393        if ($operateur == "==" or $operateur == "IN") {
    397                 return count($intersection) > 0;
     394                return in_array($valeur, $champ);
    398395        } else {
    399                 return count($intersection) == 0;
     396                return !in_array($valeur, $champ);
    400397        }
    401398        return false;
  • _plugins_/saisies/trunk/tests/saisies_afficher/saisies_tester_condition_afficher_si.php

    r113006 r113008  
    6060                                3 => '"a"',
    6161                        ),
    62                         "array_presence_test_recoupement_double_egal" => array (
     62                        "array_presence_test_double_egal" => array (
    6363                                0 => true,
    6464                                1 => array("2","3"),
     
    6666                                3 => '"2"',
    6767                        ),
    68                         "array_presence_test_recoupement_double_egal_serialize" => array (
     68                        "array_presence_test_double_egal_serialize" => array (
    6969                                0 => true,
    7070                                1 => serialize(array("2","3")),
     
    7272                                3 => '"2"',
    7373                        ),
    74                         "array_identique_test_recoupement_double_egal" => array (
     74                        "array_presence_test_IN" => array (
    7575                                0 => true,
    7676                                1 => array("2","3"),
    77                                 2 => '==',
    78                                 3 => '"3","2"',
     77                                2 => 'IN',
     78                                3 => '"2"',
    7979                        ),
    80                         "array_identique_test_recoupement_double_egal_serialize" => array (
     80                        "array_presence_test_IN_serialize" => array (
    8181                                0 => true,
    8282                                1 => serialize(array("2","3")),
    83                                 2 => '==',
    84                                 3 => '"3","2"',
     83                                2 => 'IN',
     84                                3 => '"2"',
    8585                        ),
    86                         "array_recoupement_test_recoupement_double_egal" => array (
    87                                 0 => true,
    88                                 1 => array("2","3"),
    89                                 2 => '==',
    90                                 3 => '"3","4"',
    91                         ),
    92                         "array_recoupement_test_recoupement_double_egal_serialize" => array (
    93                                 0 => true,
    94                                 1 => serialize(array("2","3")),
    95                                 2 => '==',
    96                                 3 => '"3","4"',
    97                         ),
    98                         "array_sans_recoupement_test_recoupement_double_egal" => array (
     86                        "array_presence_test_double_egal_faux" => array (
    9987                                0 => false,
    10088                                1 => array("2","3"),
    10189                                2 => '==',
    102                                 3 => '"1","4"',
     90                                3 => '"4"',
    10391                        ),
    104                         "array_sans_recoupement_test_recoupement_double_egal_serialize"=> array (
     92                        "array_presence_test_double_egal_faux_serialize" => array (
    10593                                0 => false,
    10694                                1 => serialize(array("2","3")),
    10795                                2 => '==',
    108                                 3 => '"1","4"',
     96                                3 => '"4"',
    10997                        ),
    110                         "array_recoupement_test_non_recoupement_negation" => array (
     98                        "array_presence_test_IN_faux" => array (
     99                                0 => false,
     100                                1 => array("2","3"),
     101                                2 => 'IN',
     102                                3 => '"4"',
     103                        ),
     104                        "array_presence_test_IN_faux_serialize" => array (
     105                                0 => false,
     106                                1 => serialize(array("2","3")),
     107                                2 => 'IN',
     108                                3 => '"4"',
     109                        ),
     110                        "array_absence_test_negation_faux" => array (
     111                                0 => false,
     112                                1 => array("2","3"),
     113                                2 => '!=',
     114                                3 => '"2"',
     115                        ),
     116                        "array_absence_test_negation_faux_serialize" => array (
     117                                0 => false,
     118                                1 => serialize(array("2","3")),
     119                                2 => '!=',
     120                                3 => '"2"',
     121                        ),
     122                        "array_absence_test_NOT_IN_faux" => array (
     123                                0 => false,
     124                                1 => array("2","3"),
     125                                2 => '!IN',
     126                                3 => '"2"',
     127                        ),
     128                        "array_absence_test_NOT_IN_serialize" => array (
     129                                0 => false,
     130                                1 => serialize(array("2","3")),
     131                                2 => '!IN',
     132                                3 => '"2"',
     133                        ),
     134                        "array_absence_test_neagation" => array (
    111135                                0 => true,
    112136                                1 => array("2","3"),
    113137                                2 => '!=',
    114                                 3 => '"1","4"',
     138                                3 => '"4"',
    115139                        ),
    116                         "array_recoupement_test_non_recoupement_negation_IN" => array (
     140                        "array_absence_test_negation_serialize" => array (
     141                                0 => true,
     142                                1 => serialize(array("2","3")),
     143                                2 => '!=',
     144                                3 => '"4"',
     145                        ),
     146                        "array_absence_test_NOT_IN" => array (
    117147                                0 => true,
    118148                                1 => array("2","3"),
    119149                                2 => '!IN',
    120                                 3 => '"1","4"',
     150                                3 => '"4"',
    121151                        ),
    122                         "array_recoupement_test_recoupement_negation_IN" => array (
    123                                 0 => false,
    124                                 1 => array("2","3"),
    125                                 2 => 'IN',
    126                                 3 => '"1","4"',
     152                        "array_presence_test_NOT_IN_serialize" => array (
     153                                0 => true,
     154                                1 => serialize(array("2","3")),
     155                                2 => '!IN',
     156                                3 => '"4"',
    127157                        ),
    128158                );
Note: See TracChangeset for help on using the changeset viewer.