diff --git a/library/Icinga/Data/Filter/FilterEqual.php b/library/Icinga/Data/Filter/FilterEqual.php index 46b16048b..da53d3f67 100644 --- a/library/Icinga/Data/Filter/FilterEqual.php +++ b/library/Icinga/Data/Filter/FilterEqual.php @@ -7,6 +7,10 @@ class FilterEqual extends FilterExpression { public function matches($row) { + if (! isset($row->{$this->column})) { + return false; + } + return (string) $row->{$this->column} === (string) $this->expression; } } diff --git a/library/Icinga/Data/Filter/FilterEqualOrGreaterThan.php b/library/Icinga/Data/Filter/FilterEqualOrGreaterThan.php index c0f0152ab..d7bd5b861 100644 --- a/library/Icinga/Data/Filter/FilterEqualOrGreaterThan.php +++ b/library/Icinga/Data/Filter/FilterEqualOrGreaterThan.php @@ -7,6 +7,10 @@ class FilterEqualOrGreaterThan extends FilterExpression { public function matches($row) { + if (! isset($row->{$this->column})) { + return false; + } + return (string) $row->{$this->column} >= (string) $this->expression; } } diff --git a/library/Icinga/Data/Filter/FilterEqualOrLessThan.php b/library/Icinga/Data/Filter/FilterEqualOrLessThan.php index c50a431fb..8016fc475 100644 --- a/library/Icinga/Data/Filter/FilterEqualOrLessThan.php +++ b/library/Icinga/Data/Filter/FilterEqualOrLessThan.php @@ -17,6 +17,10 @@ class FilterEqualOrLessThan extends FilterExpression public function matches($row) { + if (! isset($row->{$this->column})) { + return false; + } + return (string) $row->{$this->column} <= (string) $this->expression; } } diff --git a/library/Icinga/Data/Filter/FilterLessThan.php b/library/Icinga/Data/Filter/FilterLessThan.php index ded5646e3..c13a1cea5 100644 --- a/library/Icinga/Data/Filter/FilterLessThan.php +++ b/library/Icinga/Data/Filter/FilterLessThan.php @@ -17,6 +17,10 @@ class FilterLessThan extends FilterExpression public function matches($row) { + if (! isset($row->{$this->column})) { + return false; + } + return (string) $row->{$this->column} < (string) $this->expression; } }