ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
FilterImpl.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
24
25class FilterImpl implements Filter
26{
27 public function filter(
28 Criterion $criterion,
29 int $offset,
30 int $limit,
31 int ...$raw_ids
33 $filtered = [];
34 $is_completed = true;
35 $criterion->preloadData(...$raw_ids);
36 foreach ($raw_ids as $id) {
37 if ($criterion->doesFulfill($id)) {
38 $filtered[] = $id;
39 }
40 // always look for one more valid result find out whether the result is complete
41 if (count($filtered) > $offset + $limit) {
42 $is_completed = false;
43 break;
44 }
45 }
46 $filtered = array_slice($filtered, $offset, $limit);
47 return new FilteredResultImpl($is_completed, $filtered);
48 }
49}
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
filter(Criterion $criterion, int $offset, int $limit, int ... $raw_ids)
Definition: FilterImpl.php:27