From f2e6f86d8e78b97ed95f95baa8a56bfa726d652c Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Tue, 3 Jul 2018 16:56:57 +0200 Subject: [PATCH] PropertyModifierRejectOrSelect: match booleans --- .../PropertyModifierRejectOrSelect.php | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/library/Director/PropertyModifier/PropertyModifierRejectOrSelect.php b/library/Director/PropertyModifier/PropertyModifierRejectOrSelect.php index 51d93e5c..7566dd12 100644 --- a/library/Director/PropertyModifier/PropertyModifierRejectOrSelect.php +++ b/library/Director/PropertyModifier/PropertyModifierRejectOrSelect.php @@ -17,6 +17,10 @@ class PropertyModifierRejectOrSelect extends PropertyModifierHook return 'Black or White-list rows based on property value'; } + /** + * @inheritdoc + * @throws \Zend_Form_Exception + */ public static function addSettingsFormFields(QuickForm $form) { $form->addElement('select', 'filter_method', [ @@ -26,6 +30,8 @@ class PropertyModifierRejectOrSelect extends PropertyModifierHook 'multiOptions' => $form->optionalEnum([ 'wildcard' => $form->translate('Simple match with wildcards (*)'), 'regex' => $form->translate('Regular Expression'), + 'is_true' => $form->translate('Match boolean TRUE'), + 'is_false' => $form->translate('Match boolean FALSE'), 'is_null' => $form->translate('Match NULL value columns'), ]), 'class' => 'autosubmit', @@ -66,6 +72,16 @@ class PropertyModifierRejectOrSelect extends PropertyModifierHook return $string === null; } + public function isTrue($string, $expression) + { + return $string === true; + } + + public function isFalse($string, $expression) + { + return $string === false; + } + public function matchesWildcard($string, $expression) { return $this->filterExpression->matches( @@ -90,6 +106,12 @@ class PropertyModifierRejectOrSelect extends PropertyModifierHook case 'is_null': $func = 'isNull'; break; + case 'is_true': + $func = 'isTrue'; + break; + case 'is_false': + $func = 'isFalse'; + break; default: throw new ConfigurationError( '%s is not a valid value for an ArrayFilter filter_method',