Source of file CMSSiteTreeFilter_StatusDraftPages.php
Size: 0,913 Bytes - Last Modified: 2021-12-23T10:28:18+00:00
/var/www/docs.ssmods.com/process/src/code/Controllers/CMSSiteTreeFilter_StatusDraftPages.php
12345678910111213141516171819202122232425262728293031323334353637 | <?php namespace SilverStripe\CMS\Controllers; use SilverStripe\CMS\Model\SiteTree; use SilverStripe\ORM\SS_List; use SilverStripe\Versioned\Versioned; /** * Filters pages which have a status "Draft". */ class CMSSiteTreeFilter_StatusDraftPages extends CMSSiteTreeFilter { public static function title() { return _t(__CLASS__ . '.Title', 'Draft pages'); } /** * Filters out all pages who's status is set to "Draft". * * @see {@link SiteTree::getStatusFlags()} * @return SS_List */ public function getFilteredPages() { $pages = Versioned::get_by_stage(SiteTree::class, 'Stage'); $pages = $this->applyDefaultFilters($pages); $pages = $pages->filterByCallback(function (SiteTree $page) { // If page exists on stage but not on live return $page->isOnDraftOnly(); }); return $pages; } } |