Changeset 113056 in spip-zone


Ignore:
Timestamp:
Dec 21, 2018, 10:29:03 PM (3 months ago)
Author:
root
Message:

@checkbox_1@ IN '3,4', cela existait (contrairement à ce que j'ai pu écrire), donc on rétablit la verif en php et on fait des tests unitaires

Location:
_plugins_/saisies/trunk
Files:
2 edited

Legend:

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

    r113043 r113056  
    405405**/
    406406function saisies_tester_condition_afficher_si_array($champ, $operateur, $valeur) {
     407        $valeur = explode(',', $valeur);
     408        $intersection = array_intersect($champ, $valeur);
    407409        if ($operateur == "==" or $operateur == "IN") {
    408                 return in_array($valeur, $champ);
     410                return count($intersection) > 0;
    409411        } else {
    410                 return !in_array($valeur, $champ);
     412                return count($intersection) == 0;
    411413        }
    412414        return false;
  • _plugins_/saisies/trunk/tests/saisies_afficher_si/saisies_tester_condition_afficher_si.php

    r113033 r113056  
    160160                                3 => '4',
    161161                        ),
     162                        "array_presence_IN_multiple" => array(
     163                                0 => true,
     164                                1 => array("2"),
     165                                2 => "IN",
     166                                3 => "2,3"
     167                        ),
     168                        "array_absence_IN_multiple" => array(
     169                                0 => false,
     170                                1 => array("4", "5"),
     171                                2 => "IN",
     172                                3 => "2,3"
     173                        ),
     174                        "array_absence_NOT_IN_multiple" => array(
     175                                0 => true,
     176                                1 => array("4", "5"),
     177                                2 => "!IN",
     178                                3 => "2,3"
     179                        ),
     180                        "array_presence_NOT_IN_multiple" => array(
     181                                0 => false,
     182                                1 => array("2", "1"),
     183                                2 => "!IN",
     184                                3 => "2,3"
     185                        )
    162186                );
    163187                return $essais;
Note: See TracChangeset for help on using the changeset viewer.