records(); $fieldsToShow = $this->fieldsToShow(); if($records) { $result = "\n"; } else { $result = "

" . sprintf( _t('SideReport.REPEMPTY','The %s report is empty.',PR_MEDIUM,'%s is a report title'), $this->title() ) . "

"; } return $result; } } /** * Content side-report listing empty pages * @package cms * @subpackage content */ class SideReport_EmptyPages extends SideReport { function title() { return _t('SideReport.EMPTYPAGES',"Empty pages"); } function records() { return DataObject::get("SiteTree", "\"Content\" = '' OR \"Content\" IS NULL OR \"Content\" LIKE '

' OR \"Content\" LIKE '

 

'", '"Title"'); } function fieldsToShow() { return array( "Title" => array("NestedTitle", array("2")), ); } } /** * Content side-report listing recently editing pages. * @package cms * @subpackage content */ class SideReport_RecentlyEdited extends SideReport { function title() { return _t('SideReport.LAST2WEEKS',"Pages edited in the last 2 weeks"); } function records() { $threshold = strtotime('-14 days', SSDatetime::now()->Format('U')); return DataObject::get("SiteTree", "\"SiteTree\".\"LastEdited\" > '".date("Y-m-d H:i:s", $threshold)."'", "\"SiteTree\".\"LastEdited\" DESC"); } function fieldsToShow() { return array( "Title" => array("NestedTitle", array("2")), ); } } class SideReport_ToDo extends SideReport { function title() { return _t('SideReport.TODO',"To do"); } function records() { return DataObject::get("SiteTree", "\"SiteTree\".\"ToDo\" IS NOT NULL AND \"SiteTree\".\"ToDo\" <> ''", "\"SiteTree\".\"LastEdited\" DESC"); } function fieldsToShow() { return array( "Title" => array( "source" => array("NestedTitle", array("2")), "link" => true, ), "ToDo" => array( "source" => "ToDo", "newline" => true, ), ); } } /** * Lists all pages with either broken page or file links. * * @package cms * @subpackage content */ class SideReport_BrokenLinks extends SideReport { public function title() { return _t('SideReport.BROKENPAGEFILELINKS', 'Broken Page & File Links'); } public function records() { return DataObject::get('SiteTree', '"HasBrokenLink" = 1 OR "HasBrokenFile" = 1'); } public function fieldsToShow() { return array( 'Title' => array('NestedTitle', array(2)), ); } }