diff --git a/code/extensions/BlogFilter.php b/code/extensions/BlogFilter.php index b7e9781..8717a4e 100644 --- a/code/extensions/BlogFilter.php +++ b/code/extensions/BlogFilter.php @@ -24,8 +24,8 @@ class BlogFilter extends Lumberjack { } $dataQuery = $staged->dataQuery() - ->innerJoin('BlogPost', sprintf('BlogPost%s.ID = SiteTree%s.ID', $stage, $stage)) - ->where(sprintf('PublishDate < \'%s\'', Convert::raw2sql(SS_Datetime::now()))); + ->innerJoin('BlogPost', sprintf('"BlogPost%s"."ID" = "SiteTree%s"."ID"', $stage, $stage)) + ->where(sprintf('"PublishDate" < \'%s\'', Convert::raw2sql(SS_Datetime::now()))); $staged = $staged->setDataQuery($dataQuery); } @@ -48,8 +48,8 @@ class BlogFilter extends Lumberjack { if(!$this->shouldFilter() && $this->isBlog() && !Permission::check('VIEW_DRAFT_CONTENT')) { $dataQuery = $staged->dataQuery() - ->innerJoin('BlogPost', 'BlogPost_Live.ID = SiteTree_Live.ID') - ->where(sprintf('PublishDate < \'%s\'', Convert::raw2sql(SS_Datetime::now()))); + ->innerJoin('BlogPost', '"BlogPost_Live"."ID" = "SiteTree_Live"."ID"') + ->where(sprintf('"PublishDate" < \'%s\'', Convert::raw2sql(SS_Datetime::now()))); $staged = $staged->setDataQuery($dataQuery); } @@ -74,7 +74,7 @@ class BlogFilter extends Lumberjack { $pages = SiteTree::get()->filter(array( 'ParentID' => $this->owner->ID, 'ClassName' => $excluded - ))->sort('SiteTree.Created DESC'); + ))->sort('"SiteTree"."Created" DESC'); $gridField = new BlogFilter_GridField( 'ChildPages', diff --git a/code/extensions/BlogPostFilter.php b/code/extensions/BlogPostFilter.php index d71e62a..a450c41 100644 --- a/code/extensions/BlogPostFilter.php +++ b/code/extensions/BlogPostFilter.php @@ -17,7 +17,7 @@ class BlogPostFilter extends DataExtension { $stage = Versioned::current_stage(); if($stage == 'Live' || !Permission::check('VIEW_DRAFT_CONTENT')) { - $query->addWhere(sprintf('PublishDate < \'%s\'', Convert::raw2sql(SS_Datetime::now()))); + $query->addWhere(sprintf('"PublishDate" < \'%s\'', Convert::raw2sql(SS_Datetime::now()))); } } @@ -33,6 +33,6 @@ class BlogPostFilter extends DataExtension { * @param mixed $parent */ public function augmentLoadLazyFields(SQLQuery &$query, &$dataQuery, $parent) { - $dataQuery->innerJoin('BlogPost', 'SiteTree.ID = BlogPost.ID'); + $dataQuery->innerJoin('BlogPost', '"SiteTree"."ID" = "BlogPost"."ID"'); } } diff --git a/code/forms/gridfield/GridFieldAddByDBField.php b/code/forms/gridfield/GridFieldAddByDBField.php index 706abd8..6f5e452 100644 --- a/code/forms/gridfield/GridFieldAddByDBField.php +++ b/code/forms/gridfield/GridFieldAddByDBField.php @@ -64,6 +64,9 @@ class GridFieldAddByDBField implements GridField_ActionProvider, GridField_HTMLP $objClass = $gridField->getModelClass(); + /** + * @var DataObject $obj + */ $obj = new $objClass(); if($obj->hasField($dbField)) { @@ -137,7 +140,12 @@ class GridFieldAddByDBField implements GridField_ActionProvider, GridField_HTMLP * @return string */ public function getHTMLFragments($gridField) { - $dataClass = $gridField->getList()->dataClass(); + /** + * @var DataList $dataList + */ + $dataList = $gridField->getList(); + + $dataClass = $dataList->dataClass(); $obj = singleton($dataClass); diff --git a/code/forms/gridfield/GridFieldBlogPostState.php b/code/forms/gridfield/GridFieldBlogPostState.php index dde0a05..fb695b7 100644 --- a/code/forms/gridfield/GridFieldBlogPostState.php +++ b/code/forms/gridfield/GridFieldBlogPostState.php @@ -14,8 +14,7 @@ class GridFieldBlogPostState extends GridFieldSiteTreeState { public function getColumnContent($gridField, $record, $columnName) { if($columnName == 'State') { Requirements::css(BLOGGER_DIR . '/css/cms.css'); - - if($record->hasMethod('isPublished')) { + if($record instanceof BlogPost) { $modifiedLabel = ''; if($record->isModifiedOnStage) { @@ -23,23 +22,33 @@ class GridFieldBlogPostState extends GridFieldSiteTreeState { } if(!$record->isPublished()) { + /** + * @var SS_Datetime $lastEdited + */ + $lastEdited = $record->dbObject('LastEdited'); + return _t( 'GridFieldBlogPostState.Draft', ' Saved as Draft on {date}', 'State for when a post is saved.', array( - 'date' => $record->dbObject('LastEdited')->Nice(), + 'date' => $lastEdited->Nice(), ) ); } + /** + * @var SS_Datetime $publishDate + */ + $publishDate = $record->dbObject('PublishDate'); + if(strtotime($record->PublishDate) > time()) { return _t( 'GridFieldBlogPostState.Timer', ' Publish at {date}', 'State for when a post is published.', array( - 'date' => $record->dbObject('PublishDate')->Nice(), + 'date' => $publishDate->Nice(), ) ) . $modifiedLabel; } @@ -49,7 +58,7 @@ class GridFieldBlogPostState extends GridFieldSiteTreeState { ' Published on {date}', 'State for when a post is published.', array( - 'date' => $record->dbObject('PublishDate')->Nice(), + 'date' => $publishDate->Nice(), ) ) . $modifiedLabel; } @@ -63,7 +72,7 @@ class GridFieldBlogPostState extends GridFieldSiteTreeState { */ public function getColumnAttributes($gridField, $record, $columnName) { if($columnName == 'State') { - if($record->hasMethod('isPublished')) { + if($record instanceof BlogPost) { $published = $record->isPublished(); if(!$published) { diff --git a/code/model/Blog.php b/code/model/Blog.php index 10aca67..d50a08b 100644 --- a/code/model/Blog.php +++ b/code/model/Blog.php @@ -114,10 +114,6 @@ class Blog extends Page implements PermissionProvider { return; } - if(!$fields) { - return null; - } - $categories = GridField::create( 'Categories', _t('Blog.Categories', 'Categories'), @@ -455,15 +451,15 @@ class Blog extends Page implements PermissionProvider { $stage = '_' . $stage; } - $query->innerJoin('BlogPost', sprintf('SiteTree%s.ID = BlogPost%s.ID', $stage, $stage)); + $query->innerJoin('BlogPost', sprintf('"SiteTree%s"."ID" = "BlogPost%s"."ID"', $stage, $stage)); - $query->where(sprintf('YEAR(PublishDate) = \'%s\'', Convert::raw2sql($year))); + $query->where(sprintf('YEAR("PublishDate") = \'%s\'', Convert::raw2sql($year))); if($month) { - $query->where(sprintf('MONTH(PublishDate) = \'%s\'', Convert::raw2sql($month))); + $query->where(sprintf('MONTH("PublishDate") = \'%s\'', Convert::raw2sql($month))); if($day) { - $query->where(sprintf('DAY(PublishDate) = \'%s\'', Convert::raw2sql($day))); + $query->where(sprintf('DAY("PublishDate") = \'%s\'', Convert::raw2sql($day))); } } diff --git a/code/model/BlogPost.php b/code/model/BlogPost.php index 48f109d..05ed547 100644 --- a/code/model/BlogPost.php +++ b/code/model/BlogPost.php @@ -165,10 +165,6 @@ class BlogPost extends Page { $self =& $this; $this->beforeUpdateCMSFields(function ($fields) use ($self) { - /** - * @var FieldList $fields - */ - $summary = HtmlEditorField::create('Summary', false); $summary->setRows(5); $summary->setDescription(_t( @@ -186,6 +182,9 @@ class BlogPost extends Page { $summaryHolder->setHeadingLevel(4); $summaryHolder->addExtraClass('custom-summary'); + /** + * @var FieldList $fields + */ $fields->insertBefore($summaryHolder, 'Content'); $uploadField = UploadField::create('FeaturedImage', _t('BlogPost.FeaturedImage', 'Featured Image')); diff --git a/code/widgets/BlogArchiveWidget.php b/code/widgets/BlogArchiveWidget.php index 60cb56c..794c49a 100644 --- a/code/widgets/BlogArchiveWidget.php +++ b/code/widgets/BlogArchiveWidget.php @@ -55,10 +55,6 @@ class BlogArchiveWidget extends Widget { $self =& $this; $this->beforeUpdateCMSFields(function ($fields) use ($self) { - if (!$fields) { - return; - } - /** * @var Enum $archiveType */ @@ -92,9 +88,9 @@ class BlogArchiveWidget extends Widget { $query = $this->Blog()->getBlogPosts()->dataQuery(); if($this->ArchiveType == 'Yearly') { - $query->groupBy('DATE_FORMAT(PublishDate, \'%Y\')'); + $query->groupBy('DATE_FORMAT("PublishDate", \'%Y\')'); } else { - $query->groupBy('DATE_FORMAT(PublishDate, \'%Y-%M\')'); + $query->groupBy('DATE_FORMAT("PublishDate", \'%Y-%M\')'); } $posts = $this->Blog()->getBlogPosts()->setDataQuery($query); diff --git a/code/widgets/BlogCategoriesWidget.php b/code/widgets/BlogCategoriesWidget.php index bbfef9c..1cc957e 100644 --- a/code/widgets/BlogCategoriesWidget.php +++ b/code/widgets/BlogCategoriesWidget.php @@ -40,10 +40,6 @@ class BlogCategoriesWidget extends Widget { */ public function getCMSFields() { $this->beforeUpdateCMSFields(function ($fields) { - if (!$fields) { - return; - } - /** * @var FieldList $fields */ @@ -59,9 +55,7 @@ class BlogCategoriesWidget extends Widget { * @return array */ public function getCategories() { - $blog = $this->Blog(); - - if($blog) { + if($blog = $this->Blog()) { return $blog->Categories(); } diff --git a/code/widgets/BlogRecentPostsWidget.php b/code/widgets/BlogRecentPostsWidget.php index c773e2b..4e52ac5 100644 --- a/code/widgets/BlogRecentPostsWidget.php +++ b/code/widgets/BlogRecentPostsWidget.php @@ -44,10 +44,6 @@ class BlogRecentPostsWidget extends Widget { */ public function getCMSFields() { $this->beforeUpdateCMSFields(function ($fields) { - if (!$fields) { - return; - } - /** * @var FieldList $fields */ @@ -68,7 +64,7 @@ class BlogRecentPostsWidget extends Widget { if($blog) { return $blog->getBlogPosts() - ->sort('PublishDate DESC') + ->sort('"PublishDate" DESC') ->limit($this->NumberOfPosts); } diff --git a/code/widgets/BlogTagsWidget.php b/code/widgets/BlogTagsWidget.php index 62a849a..03de668 100644 --- a/code/widgets/BlogTagsWidget.php +++ b/code/widgets/BlogTagsWidget.php @@ -40,10 +40,6 @@ class BlogTagsWidget extends Widget { */ public function getCMSFields() { $this->beforeUpdateCMSFields(function ($fields) { - if (!$fields) { - return; - } - /** * @var FieldList $fields */ @@ -59,9 +55,7 @@ class BlogTagsWidget extends Widget { * @return array */ public function getTags() { - $blog = $this->Blog(); - - if($blog) { + if($blog = $this->Blog()) { return $blog->Tags(); }