* apply the fiven filters to the hole result set * * @param $data * @param $filter * @return array */
($data, $filter)
| 394 | * @return array |
| 395 | */ |
| 396 | private function filterData($data, $filter) { |
| 397 | $options = json_decode($filter, true); |
| 398 | if (isset($options['filter'])) { |
| 399 | foreach ($this->groupFiltersByDimension($options['filter']) as $key => $filters) { |
| 400 | $filtered = array(); |
| 401 | |
| 402 | foreach ($data['data'] as $record) { |
| 403 | if ($this->recordMatchesAnyFilter($record, $key, $filters)) { |
| 404 | $filtered[] = $record; |
| 405 | } |
| 406 | } |
| 407 | $data['data'] = $filtered; |
| 408 | } |
| 409 | } |
| 410 | return $data; |
| 411 | } |
| 412 | |
| 413 | private function groupFiltersByDimension(array $filters): array { |
| 414 | $groups = []; |
no test coverage detected