hasMethod('isPublished')) { $modifiedLabel = ''; if($record->isModifiedOnStage) { $modifiedLabel = '' . _t('GridFieldBlogPostState.Modified') . ''; } if(!$record->isPublished()) { return _t( 'GridFieldBlogPostState.Draft', ' Saved as Draft on {date}', 'State for when a post is saved.', array( 'date' => $record->dbObject('LastEdited')->Nice(), ) ); } 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(), ) ) . $modifiedLabel; } return _t( 'GridFieldBlogPostState.Published', ' Published on {date}', 'State for when a post is published.', array( 'date' => $record->dbObject('PublishDate')->Nice(), ) ) . $modifiedLabel; } } return ''; } /** * {@inheritdoc} */ public function getColumnAttributes($gridField, $record, $columnName) { if($columnName == 'State') { if($record->hasMethod('isPublished')) { $published = $record->isPublished(); if(!$published) { $class = 'gridfield-icon draft'; } else if(strtotime($record->PublishDate) > time()) { $class = 'gridfield-icon timer'; } else { $class = 'gridfield-icon published'; } return array( 'class' => $class, ); } } return array(); } }