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