return ($leftValue <= doubleval($rightValue));
break;
case '!=':
- return ($leftValue != doubleval($rightValue));
+ // multiple values may be split with '|'
+ // see if none matches ("not in list")
+ $found = FALSE;
+
+ $rightValueParts = t3lib_div::trimExplode('|', $rightValue);
+ foreach ($rightValueParts as $rightValueSingle) {
+ if ($leftValue === doubleval($rightValueSingle)) {
+ $found = TRUE;
+ break;
+ }
+ }
+
+ return ($found === FALSE);
break;
case '<':
return ($leftValue < doubleval($rightValue));
break;
default:
// nothing valid found except '=', use '='
- return ($leftValue == trim($rightValue));
+
+ // multiple values may be split with '|'
+ // see if one matches ("in list")
+ $found = FALSE;
+
+ $rightValueParts = t3lib_div::trimExplode('|', $rightValue);
+ foreach ($rightValueParts as $rightValueSingle) {
+ if ($leftValue == $rightValueSingle) {
+ $found = TRUE;
+ break;
+ }
+ }
+
+ return $found;
break;
}
}