diff options
Diffstat (limited to '')
-rw-r--r-- | library/Director/Data/ValueFilter/FilterInt.php | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/library/Director/Data/ValueFilter/FilterInt.php b/library/Director/Data/ValueFilter/FilterInt.php new file mode 100644 index 0000000..d51ce8d --- /dev/null +++ b/library/Director/Data/ValueFilter/FilterInt.php @@ -0,0 +1,21 @@ +<?php + +namespace Icinga\Module\Director\Data\ValueFilter; + +use Icinga\Module\Director\Data\ValueFilter; + +class FilterInt implements ValueFilter +{ + public function filter($value) + { + if ($value === '' || $value === null) { + return null; + } + + if (is_string($value) && ! ctype_digit($value)) { + return $value; + } + + return (int) ((string) $value); + } +} |