Source of file BrokenRedirectorPagesReport.php
Size: 1,484 Bytes - Last Modified: 2021-12-23T10:28:18+00:00
/var/www/docs.ssmods.com/process/src/code/Reports/BrokenRedirectorPagesReport.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | <?php namespace SilverStripe\CMS\Reports; use SilverStripe\CMS\Model\RedirectorPage; use SilverStripe\CMS\Model\SiteTree; use SilverStripe\Core\ClassInfo; use SilverStripe\Forms\CheckboxField; use SilverStripe\Forms\FieldList; use SilverStripe\ORM\DB; use SilverStripe\Versioned\Versioned; use SilverStripe\Reports\Report; class BrokenRedirectorPagesReport extends Report { public function title() { return _t(__CLASS__.'.BROKENREDIRECTORPAGES', 'RedirectorPages pointing to deleted pages'); } public function group() { return _t(__CLASS__.'.BrokenLinksGroupTitle', "Broken links reports"); } public function sourceRecords($params = null) { $classes = ClassInfo::subclassesFor(RedirectorPage::class); $classParams = DB::placeholders($classes); $classFilter = [ "\"ClassName\" IN ($classParams) AND \"HasBrokenLink\" = 1" => $classes ]; $stage = isset($params['OnLive']) ? 'Live' : 'Stage'; return Versioned::get_by_stage(SiteTree::class, $stage, $classFilter); } public function columns() { return [ "Title" => [ "title" => "Title", // todo: use NestedTitle(2) "link" => true, ], ]; } public function getParameterFields() { return new FieldList( new CheckboxField('OnLive', _t(__CLASS__.'.ParameterLiveCheckbox', 'Check live site')) ); } } |