diff --git a/library/Icinga/Data/Filter/FilterQueryString.php b/library/Icinga/Data/Filter/FilterQueryString.php index e4fddfc58..07c4d4c4f 100644 --- a/library/Icinga/Data/Filter/FilterQueryString.php +++ b/library/Icinga/Data/Filter/FilterQueryString.php @@ -93,7 +93,7 @@ class FilterQueryString )); } - protected function readFilters($nestingLevel = 0, $op = '&') + protected function readFilters($nestingLevel = 0, $op = null) { $filters = array(); while ($this->pos < $this->length) { @@ -113,6 +113,11 @@ class FilterQueryString continue; } + if ($op === null && count($filters > 0) && ($next === '&' || $next === '|')) { + $op = $next; + $next = $this->readChar(); + } + if ($next === false) { // Nothing more to read break;