Source of file TypeFilter.php
Size: 0,741 Bytes - Last Modified: 2021-12-23T10:51:18+00:00
/var/www/docs.ssmods.com/process/src/src/Filters/TypeFilter.php
12345678910111213141516171819202122232425262728293031 | <?php namespace TheWebmen\Articles\Filters; use SilverStripe\ORM\DataList; use TheWebmen\Articles\Interfaces\FilterInterface; use TheWebmen\Articles\Pages\ArticleTypePage; final class TypeFilter implements FilterInterface { public function apply(array $items, DataList $dataList): DataList { $types = $this->getActiveItems($items); if (count($types) === 0) { return $dataList; } return $dataList->filter('Type.ID', $types->column('ID')); } public function getActiveItems(array $items): DataList { if (empty($items)) { return new DataList(ArticleTypePage::class); } return ArticleTypePage::get()->filter('URLSegment', $items); } } |