From 71bf45250d83cbc3c11e839bcc27f0b1723f998d Mon Sep 17 00:00:00 2001 From: Sam Minnee Date: Wed, 23 Jan 2008 23:59:08 +0000 Subject: [PATCH] Merged revisions 47172 via svnmerge from http://svn.silverstripe.com/open/modules/cms/branches/2.2.1asfonz ........ r47172 | sminnee | 2007-12-17 13:54:48 +1300 (Mon, 17 Dec 2007) | 2 lines Added simple to-do list facility to SiteTree ........ git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@48520 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- code/SideReport.php | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/code/SideReport.php b/code/SideReport.php index 739974f7..c0862f5d 100755 --- a/code/SideReport.php +++ b/code/SideReport.php @@ -25,7 +25,19 @@ abstract class SideReport extends Object { foreach($records as $record) { $result .= "
  • \n"; - foreach($fieldsToShow as $fieldTitle => $fieldSource) { + foreach($fieldsToShow as $fieldTitle => $fieldInfo) { + if(isset($fieldInfo['source'])) { + $fieldSource = $fieldInfo['source']; + + // Legacy format for the input data + } else { + $fieldSource = $fieldInfo; + $fieldInfo = array( + 'link' => true, + 'newline' => false, + ) + } + $fieldName = ereg_replace('[^A-Za-z0-9]+','',$fieldTitle); if(is_string($fieldSource)) { $val = $record->$fieldSource; @@ -33,7 +45,14 @@ abstract class SideReport extends Object { $val = $record->val($fieldSource[0], $fieldSource[1]); } - $result .= "ID\">$val"; + if(isset($fieldInfo['newline']) && $fieldInfo['newline']) $result .= "
    "; + + if(isset($fieldInfo['link']) && $fieldInfo['link']) { + $link = ($fieldInfo['link'] === true) ? "admin/show/$record->ID" : $fieldInfo['link']; + $result .= "$val"; + } else { + $result .= "$val"; + } } $result .= "\n
  • \n"; } @@ -82,4 +101,25 @@ class SideReport_RecentlyEdited extends SideReport { ); } } + +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, + ), + ); + } +} ?> \ No newline at end of file