blob: 96b68cc9556b5f68cde378147586a3bd5a2ccd31 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
<?php
/* Icinga Web 2 | (c) 2014 Icinga Development Team | GPLv2+ */
namespace Icinga\Data\Filter;
/**
* Filter list AND
*
* Binary AND, all contained filters must succeed
*/
class FilterAnd extends FilterChain
{
protected $operatorName = 'AND';
protected $operatorSymbol = '&';
/**
* Whether the given row object matches this filter
*
* @object $row
* @return boolean
*/
public function matches($row)
{
foreach ($this->filters as $filter) {
if (! $filter->matches($row)) {
return false;
}
}
return true;
}
public function andFilter(Filter $filter)
{
return $this->addFilter($filter);
}
public function orFilter(Filter $filter)
{
return Filter::matchAny($this, $filter);
}
}
|