diff --git a/_config.php b/_config.php
index aded448..b3d9bbc 100755
--- a/_config.php
+++ b/_config.php
@@ -1,8 +1 @@
config()->restrict_authors_to_group) {
- return Group::get()->filter('Code', $this->config()->restrict_authors_to_group)->first()->Members();
+ if($this->config()->get('restrict_authors_to_group')) {
+ return Group::get()->filter('Code', $this->config()->get('restrict_authors_to_group'))->first()->Members();
} else {
$list = Member::get();
$this->extend('updateCandidateAuthors', $list);
diff --git a/gulpfile.js b/gulpfile.js
index 4aa2f74..819222d 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -8,10 +8,10 @@ gulp.task("scss", function () {
.pipe(gulp.dest("./css"));
});
-gulp.task('watch', ['scss'], function() {
+gulp.task('watch', ['scss'], function () {
gulp.watch('./scss/*.scss', ['scss']);
});
-gulp.task('default', ['scss'], function() {
+gulp.task('default', ['scss'], function () {
// noop
});
diff --git a/js/cms.js b/js/cms.js
index 36fb506..926c78b 100644
--- a/js/cms.js
+++ b/js/cms.js
@@ -1,6 +1,6 @@
(function ($) {
- $.entwine('ss', function ($) {
+ $.entwine('ss', function ($) {
/**
* The page success/error message sits outside of the html block
@@ -10,136 +10,136 @@
* @see https://github.com/silverstripe/silverstripe-blog/issues/210
*/
$('.cms-content-fields > #Form_EditForm_error').entwine({
- 'onadd': function() {
+ 'onadd': function () {
var $target = $('.blog-admin-outer');
- if($target.length == 1) {
+ if ($target.length == 1) {
$target.prepend(this);
}
}
});
- /**
- * Register expandable help text functions with fields.
- */
- $('.toggle-description').entwine({
- 'onadd': function () {
- var $this = $(this);
+ /**
+ * Register expandable help text functions with fields.
+ */
+ $('.toggle-description').entwine({
+ 'onadd': function () {
+ var $this = $(this);
- /**
- * Prevent multiple events being added.
- */
- if ($this.hasClass('toggle-description-enabled')) {
- return;
- }
+ /**
+ * Prevent multiple events being added.
+ */
+ if ($this.hasClass('toggle-description-enabled')) {
+ return;
+ }
- $this.addClass('toggle-description-enabled');
+ $this.addClass('toggle-description-enabled');
- /**
- * Toggle next description when button is clicked.
- */
- var shown = false;
+ /**
+ * Toggle next description when button is clicked.
+ */
+ var shown = false;
- $this.on('click', function() {
- $this.parent().next('.description')[shown ? 'hide' : 'show']();
+ $this.on('click', function () {
+ $this.parent().next('.description')[shown ? 'hide' : 'show']();
- $this.toggleClass('toggle-description-shown');
+ $this.toggleClass('toggle-description-shown');
- shown = !shown;
- });
+ shown = !shown;
+ });
- /**
- * Hide next description by default.
- */
- $this.parent().next('.description').hide();
+ /**
+ * Hide next description by default.
+ */
+ $this.parent().next('.description').hide();
- /**
- * Add classes to correct inherited layout issues in a small context.
- */
- $this.parent().addClass('toggle-description-correct-right');
- $this.parent().prev('.middleColumn').addClass('toggle-description-correct-middle');
- $this.parent().next('.description').addClass('toggle-description-correct-description');
- }
- });
+ /**
+ * Add classes to correct inherited layout issues in a small context.
+ */
+ $this.parent().addClass('toggle-description-correct-right');
+ $this.parent().prev('.middleColumn').addClass('toggle-description-correct-middle');
+ $this.parent().next('.description').addClass('toggle-description-correct-description');
+ }
+ });
- /**
- * Custom merge actions for tags and categories
- */
- $('.MergeAction').entwine({
- 'onadd': function() {
- var $this = $(this);
+ /**
+ * Custom merge actions for tags and categories
+ */
+ $('.MergeAction').entwine({
+ 'onadd': function () {
+ var $this = $(this);
- $this.on('click', 'select', function() {
- return false;
- });
+ $this.on('click', 'select', function () {
+ return false;
+ });
- $this.children('button').each(function(i, button) {
- var $button = $(button);
- var $select = $button.prev('select');
+ $this.children('button').each(function (i, button) {
+ var $button = $(button);
+ var $select = $button.prev('select');
- $button.before('');
- });
+ $button.before('');
+ });
- $this.on('change', 'select', function(e) {
- var $target = $(e.target);
+ $this.on('change', 'select', function (e) {
+ var $target = $(e.target);
- $target.next('input').val($target.val());
- });
+ $target.next('input').val($target.val());
+ });
- $this.children('button, select').hide();
+ $this.children('button, select').hide();
- $this.on('click', '.MergeActionReveal', function(e) {
- var $target = $(e.target);
+ $this.on('click', '.MergeActionReveal', function (e) {
+ var $target = $(e.target);
- $target.parent().children('button, select').show();
- $target.hide();
+ $target.parent().children('button, select').show();
+ $target.hide();
- return false;
- });
- }
- });
+ return false;
+ });
+ }
+ });
- /**
- * Customise the cms-panel behaviour for blog sidebar
- *
- * see LeftAndMain.Panel.js for base behaviour
- */
- $('.blog-admin-sidebar.cms-panel').entwine({
- MinInnerWidth: 620,
- onadd: function() {
- this._super();
- this.updateLayout();
+ /**
+ * Customise the cms-panel behaviour for blog sidebar
+ *
+ * see LeftAndMain.Panel.js for base behaviour
+ */
+ $('.blog-admin-sidebar.cms-panel').entwine({
+ MinInnerWidth: 620,
+ onadd: function () {
+ this._super();
+ this.updateLayout();
- // If this panel is open and the left hand column is smaller than the minimum, contract it instead
- if(!this.hasClass('collapsed') && ($(".blog-admin-outer").width() < this.getMinInnerWidth())) {
- this.collapsePanel();
- }
+ // If this panel is open and the left hand column is smaller than the minimum, contract it instead
+ if (!this.hasClass('collapsed') && ($(".blog-admin-outer").width() < this.getMinInnerWidth())) {
+ this.collapsePanel();
+ }
- window.onresize = function() {
+ window.onresize = function () {
this.updateLayout();
}.bind(this);
- },
- togglePanel: function(bool, silent) {
- this._super(bool, silent);
- this.updateLayout();
- },
- /**
- * Adjust minimum width of content to account for extra panel
- *
- * @returns {undefined}
- */
- updateLayout: function() {
+ },
+ togglePanel: function (bool, silent) {
+ this._super(bool, silent);
+ this.updateLayout();
+ },
+ /**
+ * Adjust minimum width of content to account for extra panel
+ *
+ * @returns {undefined}
+ */
+ updateLayout: function () {
$(this).css('height', '100%');
var currentHeight = $(this).outerHeight();
var bottomHeight = $('.cms-content-actions').eq(0).outerHeight();
$(this).css('height', (currentHeight - bottomHeight) + "px");
$(this).css('bottom', bottomHeight + "px");
- $('.cms-container').updateLayoutOptions({
- minContentWidth: 820 + this.width()
- });
+ $('.cms-container').updateLayoutOptions({
+ minContentWidth: 820 + this.width()
+ });
- }
- });
+ }
+ });
- });
+ });
})(jQuery);
diff --git a/src/Admin/GridFieldCategorisationConfig.php b/src/Admin/GridFieldCategorisationConfig.php
index 697b0f8..eac622e 100644
--- a/src/Admin/GridFieldCategorisationConfig.php
+++ b/src/Admin/GridFieldCategorisationConfig.php
@@ -23,11 +23,11 @@ class GridFieldCategorisationConfig extends GridFieldConfig_RecordEditor
$this->removeComponentsByType('SilverStripe\\Forms\\GridField\\GridFieldAddNewButton');
$this->addComponent(
- new GridFieldAddByDBField('buttons-before-left')
+ GridFieldAddByDBField::create('buttons-before-left')
);
$this->addComponent(
- new GridFieldMergeAction($mergeRecords, $parentType, $parentMethod, $childMethod)
+ GridFieldMergeAction::create($mergeRecords, $parentType, $parentMethod, $childMethod)
);
/**
@@ -36,11 +36,11 @@ class GridFieldCategorisationConfig extends GridFieldConfig_RecordEditor
$columns = $this->getComponentByType('SilverStripe\\Forms\\GridField\\GridFieldDataColumns');
$columns->setFieldFormatting(
- array(
+ [
'BlogPostsCount' => function ($value, CategorisationObject $item) {
return $item->BlogPosts()->Count();
}
- )
+ ]
);
$this->changeColumnOrder();
@@ -57,12 +57,12 @@ class GridFieldCategorisationConfig extends GridFieldConfig_RecordEditor
$columns = $this->getComponentByType('SilverStripe\\Forms\\GridField\\GridFieldDataColumns');
$columns->setDisplayFields(
- array(
+ [
'Title' => 'Title',
'BlogPostsCount' => 'Posts',
'MergeAction' => 'MergeAction',
'Actions' => 'Actions'
- )
+ ]
);
}
}
diff --git a/src/Admin/GridFieldFormAction.php b/src/Admin/GridFieldFormAction.php
index dfcc629..40de0f3 100644
--- a/src/Admin/GridFieldFormAction.php
+++ b/src/Admin/GridFieldFormAction.php
@@ -9,7 +9,7 @@ class GridFieldFormAction extends GridField_FormAction
/**
* @var array
*/
- protected $extraAttributes = array();
+ protected $extraAttributes = [];
/**
* @param array $attributes
diff --git a/src/Admin/GridFieldMergeAction.php b/src/Admin/GridFieldMergeAction.php
index f932a8e..d2c5fd5 100644
--- a/src/Admin/GridFieldMergeAction.php
+++ b/src/Admin/GridFieldMergeAction.php
@@ -4,16 +4,16 @@ namespace SilverStripe\Blog\Admin;
use SilverStripe\Blog\Admin\GridFieldFormAction;
use SilverStripe\Control\Controller;
+use SilverStripe\Core\Injector\Injectable;
use Silverstripe\Forms\DropdownField;
use SilverStripe\Forms\GridField\GridField;
use SilverStripe\Forms\GridField\GridField_ActionProvider;
use SilverStripe\Forms\GridField\GridField_ColumnProvider;
-/**
- * @package blog
- */
class GridFieldMergeAction implements GridField_ColumnProvider, GridField_ActionProvider
{
+ use Injectable;
+
/**
* List of records to show in the MergeAction column.
*
@@ -48,7 +48,7 @@ class GridFieldMergeAction implements GridField_ColumnProvider, GridField_Action
* @param string $parentMethod
* @param string $childMethod
*/
- public function __construct($records = array(), $parentType, $parentMethod, $childMethod)
+ public function __construct($records = [], $parentType, $parentMethod, $childMethod)
{
$this->records = $records;
$this->parentType = $parentType;
@@ -73,7 +73,7 @@ class GridFieldMergeAction implements GridField_ColumnProvider, GridField_Action
*/
public function getColumnsHandled($gridField)
{
- return array('MergeAction');
+ return ['MergeAction'];
}
/**
@@ -86,20 +86,20 @@ class GridFieldMergeAction implements GridField_ColumnProvider, GridField_Action
$dropdown->setAttribute('id', 'Target_'.$record->ID);
$prefix = strtolower($this->parentMethod . '-' . $this->childMethod);
- $action = new GridFieldFormAction(
+ $action = GridFieldFormAction::create(
$gridField,
'MergeAction' . $record->ID,
'Move',
'merge',
- array(
+ [
'record' => $record->ID,
'target' => $prefix . '-target-record-' . $record->ID,
- )
+ ]
);
- $action->setExtraAttributes(array(
+ $action->setExtraAttributes([
'data-target' => $prefix . '-target-record-' . $record->ID
- ));
+ ]);
return $dropdown->Field() . $action->Field() . 'move posts to';
}
@@ -112,7 +112,7 @@ class GridFieldMergeAction implements GridField_ColumnProvider, GridField_Action
*/
public function getColumnAttributes($gridField, $record, $columnName)
{
- return array('class' => 'MergeAction');
+ return ['class' => 'MergeAction'];
}
/**
@@ -120,7 +120,7 @@ class GridFieldMergeAction implements GridField_ColumnProvider, GridField_Action
*/
public function getColumnMetadata($gridField, $columnName)
{
- return array('title' => 'Move posts to');
+ return ['title' => 'Move posts to'];
}
/**
@@ -128,7 +128,7 @@ class GridFieldMergeAction implements GridField_ColumnProvider, GridField_Action
*/
public function getActions($gridField)
{
- return array('merge');
+ return ['merge'];
}
/**
diff --git a/src/Forms/GridField/GridFieldAddByDBField.php b/src/Forms/GridField/GridFieldAddByDBField.php
index 54dc8db..50781a0 100644
--- a/src/Forms/GridField/GridFieldAddByDBField.php
+++ b/src/Forms/GridField/GridFieldAddByDBField.php
@@ -2,6 +2,8 @@
namespace SilverStripe\Blog\Forms\GridField;
+use SilverStripe\Core\Injector\Injectable;
+use SilverStripe\Core\Manifest\ModuleLoader;
use UnexpectedValueException;
use SilverStripe\Control\Controller;
use SilverStripe\Core\Convert;
@@ -15,14 +17,10 @@ use SilverStripe\Security\Security;
use SilverStripe\View\ArrayData;
use SilverStripe\View\Requirements;
-/**
- * Adds a component which allows a user to add a new DataObject by database field.
- *
- * @package silverstripe
- * @subpackage blog
- */
class GridFieldAddByDBField implements GridField_ActionProvider, GridField_HTMLProvider
{
+ use Injectable;
+
/**
* HTML Fragment to render the field.
*
@@ -59,9 +57,9 @@ class GridFieldAddByDBField implements GridField_ActionProvider, GridField_HTMLP
*/
public function getActions($gridField)
{
- return array(
+ return [
'add',
- );
+ ];
}
/**
@@ -86,7 +84,7 @@ class GridFieldAddByDBField implements GridField_ActionProvider, GridField_HTMLP
/**
* @var DataObject $obj
*/
- $obj = new $objClass();
+ $obj = $objClass::create();
if ($obj->hasField($dbField)) {
$obj->setCastedField($dbField, $data['gridfieldaddbydbfield'][$obj->ClassName][$dbField]);
@@ -96,12 +94,12 @@ class GridFieldAddByDBField implements GridField_ActionProvider, GridField_HTMLP
if (!$id) {
$gridField->setCustomValidationMessage(
_t(
- 'GridFieldAddByDBField.AddFail',
+ __CLASS__ . '.AddFail',
'Unable to save {class} to the database.',
'Unable to add the DataObject.',
- array(
+ [
'class' => get_class($obj),
- )
+ ]
)
);
}
@@ -109,12 +107,12 @@ class GridFieldAddByDBField implements GridField_ActionProvider, GridField_HTMLP
return Security::permissionFailure(
Controller::curr(),
_t(
- 'GridFieldAddByDBField.PermissionFail',
+ __CLASS__ . '.PermissionFail',
'You don\'t have permission to create a {class}.',
'Unable to add the DataObject.',
- array(
+ [
'class' => get_class($obj)
- )
+ ]
)
);
}
@@ -161,7 +159,7 @@ class GridFieldAddByDBField implements GridField_ActionProvider, GridField_HTMLP
*/
public function getHTMLFragments($gridField)
{
- Requirements::javascript(BLOGGER_DIR . '/js/gridfieldaddbydbfield.js');
+ Requirements::javascript(ModuleLoader::getModule('silverstripe/blog')->getRelativeResourcePath('js/gridfieldaddbydbfield.js'));
/**
* @var DataList $dataList
@@ -188,11 +186,11 @@ class GridFieldAddByDBField implements GridField_ActionProvider, GridField_HTMLP
->setAttribute('placeholder', $obj->fieldLabel($dbField))
->addExtraClass('no-change-track');
- $addAction = new GridField_FormAction(
+ $addAction = GridField_FormAction::create(
$gridField,
'add',
_t(
- 'GridFieldAddByDBField.Add',
+ __CLASS__ . '.Add',
'Add {name}',
'Add button text',
['name' => $obj->i18n_singular_name()]
@@ -203,12 +201,12 @@ class GridFieldAddByDBField implements GridField_ActionProvider, GridField_HTMLP
$addAction->setAttribute('data-icon', 'add');
$addAction->addExtraClass('btn btn-primary');
- $forTemplate = new ArrayData(array());
+ $forTemplate = ArrayData::create([]);
- $forTemplate->Fields = new ArrayList();
+ $forTemplate->Fields = ArrayList::create();
$forTemplate->Fields->push($textField);
$forTemplate->Fields->push($addAction);
- return array($this->targetFragment => $forTemplate->renderWith(self::class));
+ return [$this->targetFragment => $forTemplate->renderWith(self::class)];
}
}
diff --git a/src/Forms/GridField/GridFieldBlogPostState.php b/src/Forms/GridField/GridFieldBlogPostState.php
index c33c5e0..6913b22 100644
--- a/src/Forms/GridField/GridFieldBlogPostState.php
+++ b/src/Forms/GridField/GridFieldBlogPostState.php
@@ -3,6 +3,7 @@
namespace SilverStripe\Blog\Forms\GridField;
use SilverStripe\Blog\Model\BlogPost;
+use SilverStripe\Core\Manifest\ModuleLoader;
use SilverStripe\Lumberjack\Forms\GridFieldSiteTreeState;
use SilverStripe\View\Requirements;
@@ -10,8 +11,6 @@ use SilverStripe\View\Requirements;
* Provides a component to the {@link GridField} which tells the user whether or not a blog post
* has been published and when.
*
- * @package silverstripe
- * @subpackage blog
*/
class GridFieldBlogPostState extends GridFieldSiteTreeState
{
@@ -21,12 +20,12 @@ class GridFieldBlogPostState extends GridFieldSiteTreeState
public function getColumnContent($gridField, $record, $columnName)
{
if ($columnName == 'State') {
- Requirements::css(BLOGGER_DIR . '/css/cms.css');
+ Requirements::css(ModuleLoader::getModule('silverstripe/blog')->getRelativeResourcePath('css/cms.css'));
if ($record instanceof BlogPost) {
$modifiedLabel = '';
if ($record->isModifiedOnStage) {
- $modifiedLabel = '' . _t('GridFieldBlogPostState.Modified') . '';
+ $modifiedLabel = '' . _t(__CLASS__ . '.Modified') . '';
}
if (!$record->isPublished()) {
@@ -36,12 +35,12 @@ class GridFieldBlogPostState extends GridFieldSiteTreeState
$lastEdited = $record->dbObject('LastEdited');
return _t(
- 'GridFieldBlogPostState.Draft',
+ __CLASS__ . '.Draft',
' Saved as Draft on {date}',
'State for when a post is saved.',
- array(
+ [
'date' => $lastEdited->FormatFromSettings(),
- )
+ ]
);
}
@@ -52,22 +51,22 @@ class GridFieldBlogPostState extends GridFieldSiteTreeState
if (strtotime($record->PublishDate) > time()) {
return _t(
- 'GridFieldBlogPostState.Timer',
+ __CLASS__ . '.Timer',
' Publish at {date}',
'State for when a post is published.',
- array(
+ [
'date' => $publishDate->FormatFromSettings(),
- )
+ ]
) . $modifiedLabel;
}
return _t(
- 'GridFieldBlogPostState.Published',
+ __CLASS__ . '.Published',
' Published on {date}',
'State for when a post is published.',
- array(
+ [
'date' => $publishDate->FormatFromSettings(),
- )
+ ]
) . $modifiedLabel;
}
}
@@ -92,12 +91,12 @@ class GridFieldBlogPostState extends GridFieldSiteTreeState
$class = 'gridfield-icon published';
}
- return array(
+ return [
'class' => $class,
- );
+ ];
}
}
- return array();
+ return [];
}
}
diff --git a/src/Forms/GridField/GridFieldConfig_BlogPost.php b/src/Forms/GridField/GridFieldConfig_BlogPost.php
index aae7be3..6679be6 100644
--- a/src/Forms/GridField/GridFieldConfig_BlogPost.php
+++ b/src/Forms/GridField/GridFieldConfig_BlogPost.php
@@ -8,8 +8,6 @@ use SilverStripe\Lumberjack\Forms\GridFieldSiteTreeState;
/**
* GridField config necessary for managing a SiteTree object.
*
- * @package silverstripe
- * @subpackage blog
*/
class GridFieldConfig_BlogPost extends GridFieldConfig_Lumberjack
{
@@ -21,6 +19,6 @@ class GridFieldConfig_BlogPost extends GridFieldConfig_Lumberjack
parent::__construct($itemsPerPage);
$this->removeComponentsByType(GridFieldSiteTreeState::class);
- $this->addComponent(new GridFieldBlogPostState());
+ $this->addComponent(GridFieldBlogPostState::create());
}
}
diff --git a/src/Model/Blog.php b/src/Model/Blog.php
index 221787f..ac6db91 100644
--- a/src/Model/Blog.php
+++ b/src/Model/Blog.php
@@ -14,6 +14,7 @@ use SilverStripe\CMS\Controllers\RootURLController;
use SilverStripe\Control\Controller;
use SilverStripe\Control\RSS\RSSFeed;
use SilverStripe\Core\Convert;
+use SilverStripe\Core\Manifest\ModuleLoader;
use SilverStripe\Forms\GridField\GridField;
use SilverStripe\Forms\ListboxField;
use SilverStripe\Forms\NumericField;
@@ -27,14 +28,12 @@ use SilverStripe\Security\Group;
use SilverStripe\Security\Member;
use SilverStripe\Security\Permission;
use SilverStripe\Security\PermissionProvider;
+use SilverStripe\Security\Security;
use SilverStripe\View\Requirements;
/**
* Blog Holder
*
- * @package silverstripe
- * @subpackage blog
- *
* @method HasManyList Tags() List of tags in this blog
* @method HasManyList Categories() List of categories in this blog
* @method ManyManyList Editors() List of editors
@@ -88,48 +87,48 @@ class Blog extends Page implements PermissionProvider
/**
* @var array
*/
- private static $db = array(
+ private static $db = [
'PostsPerPage' => 'Int',
- );
+ ];
/**
* @var array
*/
- private static $has_many = array(
+ private static $has_many = [
'Tags' => BlogTag::class,
'Categories' => BlogCategory::class,
- );
+ ];
/**
* @var array
*/
- private static $many_many = array(
+ private static $many_many = [
'Editors' => Member::class,
'Writers' => Member::class,
'Contributors' => Member::class,
- );
+ ];
/**
* @var array
*/
- private static $allowed_children = array(
+ private static $allowed_children = [
BlogPost::class,
- );
+ ];
/**
* @var array
*/
- private static $extensions = array(
+ private static $extensions = [
BlogFilter::class,
- );
+ ];
/**
* @var array
*/
- private static $defaults = array(
+ private static $defaults = [
'ProvideComments' => false,
'PostsPerPage' => 10
- );
+ ];
/**
* @var string
@@ -143,8 +142,9 @@ class Blog extends Page implements PermissionProvider
*/
public function getCMSFields()
{
- Requirements::css(BLOGGER_DIR . '/css/cms.css');
- Requirements::javascript(BLOGGER_DIR . '/js/cms.js');
+ $module = ModuleLoader::getModule('silverstripe/blog');
+ Requirements::css($module->getRelativeResourcePath('css/cms.css'));
+ Requirements::javascript($module->getRelativeResourcePath('js/cms.js'));
$this->beforeUpdateCMSFields(function ($fields) {
if (!$this->canEdit()) {
@@ -153,7 +153,7 @@ class Blog extends Page implements PermissionProvider
$categories = GridField::create(
'Categories',
- _t('Blog.Categories', 'Categories'),
+ _t(__CLASS__ . '.Categories', 'Categories'),
$this->Categories(),
GridFieldCategorisationConfig::create(
15,
@@ -166,7 +166,7 @@ class Blog extends Page implements PermissionProvider
$tags = GridField::create(
'Tags',
- _t('Blog.Tags', 'Tags'),
+ _t(__CLASS__ . '.Tags', 'Tags'),
$this->Tags(),
GridFieldCategorisationConfig::create(
15,
@@ -182,10 +182,10 @@ class Blog extends Page implements PermissionProvider
*/
$fields->addFieldsToTab(
'Root.Categorisation',
- array(
+ [
$categories,
$tags
- )
+ ]
);
$fields->findOrMakeTab('Root.Categorisation')->addExtraClass('blog-cms-categorisation');
@@ -216,7 +216,7 @@ class Blog extends Page implements PermissionProvider
protected function getMember($member = null)
{
if (!$member) {
- $member = Member::currentUser();
+ $member = Security::getCurrentUser();
}
if (is_numeric($member)) {
@@ -284,15 +284,15 @@ class Blog extends Page implements PermissionProvider
}
if ($this->isEditor($member)) {
- return _t('Blog.EDITOR', 'Editor');
+ return _t(__CLASS__ . '.EDITOR', 'Editor');
}
if ($this->isWriter($member)) {
- return _t('Blog.WRITER', 'Writer');
+ return _t(__CLASS__ . '.WRITER', 'Writer');
}
if ($this->isContributor($member)) {
- return _t('Blog.CONTRIBUTOR', 'Contributor');
+ return _t(__CLASS__ . '.CONTRIBUTOR', 'Contributor');
}
return null;
@@ -351,7 +351,7 @@ class Blog extends Page implements PermissionProvider
$fields->addFieldToTab(
'Root.Settings',
- NumericField::create('PostsPerPage', _t('Blog.PostsPerPage', 'Posts Per Page'))
+ NumericField::create('PostsPerPage', _t(__CLASS__ . '.PostsPerPage', 'Posts Per Page'))
);
$members = $this->getCandidateUsers()->map()->toArray();
@@ -408,11 +408,11 @@ class Blog extends Page implements PermissionProvider
$fields->addFieldsToTab(
'Root.Users',
- array(
+ [
$editorField,
$writerField,
$contributorField
- )
+ ]
);
return $fields;
@@ -425,13 +425,13 @@ class Blog extends Page implements PermissionProvider
*/
protected function getCandidateUsers()
{
- if ($this->config()->grant_user_access) {
+ if ($this->config()->get('grant_user_access')) {
$list = Member::get();
$this->extend('updateCandidateUsers', $list);
return $list;
} else {
return Permission::get_members_by_permission(
- $this->config()->grant_user_permission
+ $this->config()->get('grant_user_permission')
);
}
}
@@ -528,7 +528,7 @@ class Blog extends Page implements PermissionProvider
sprintf('"SiteTree%s"."ID" = "BlogPost%s"."ID"', $stage, $stage)
);
- $conn = DB::getConn();
+ $conn = DB::get_conn();
// Filter by year
$yearCond = $conn->formattedDatetimeClause('"BlogPost"."PublishDate"', '%Y');
@@ -588,7 +588,7 @@ class Blog extends Page implements PermissionProvider
*/
public function getLumberjackTitle()
{
- return _t('Blog.LumberjackTitle', 'Blog Posts');
+ return _t(__CLASS__ . '.LumberjackTitle', 'Blog Posts');
}
/**
@@ -606,20 +606,20 @@ class Blog extends Page implements PermissionProvider
*/
public function providePermissions()
{
- return array(
- Blog::MANAGE_USERS => array(
+ return [
+ Blog::MANAGE_USERS => [
'name' => _t(
- 'Blog.PERMISSION_MANAGE_USERS_DESCRIPTION',
+ __CLASS__ . '.PERMISSION_MANAGE_USERS_DESCRIPTION',
'Manage users for individual blogs'
),
'help' => _t(
- 'Blog.PERMISSION_MANAGE_USERS_HELP',
+ __CLASS__ . '.PERMISSION_MANAGE_USERS_HELP',
'Allow assignment of Editors, Writers, or Contributors to blogs'
),
- 'category' => _t('Blog.PERMISSIONS_CATEGORY', 'Blog permissions'),
+ 'category' => _t(__CLASS__ . '.PERMISSIONS_CATEGORY', 'Blog permissions'),
'sort' => 100
- )
- );
+ ]
+ ];
}
/**
@@ -636,7 +636,7 @@ class Blog extends Page implements PermissionProvider
*/
protected function assignGroup()
{
- if (!$this->config()->grant_user_access) {
+ if (!$this->config()->get('grant_user_access')) {
return;
}
@@ -644,7 +644,7 @@ class Blog extends Page implements PermissionProvider
// Must check if the method exists or else an error occurs when changing page type
if ($this->hasMethod('Editors')) {
- foreach (array($this->Editors(), $this->Writers(), $this->Contributors()) as $levels) {
+ foreach ([$this->Editors(), $this->Writers(), $this->Contributors()] as $levels) {
foreach ($levels as $user) {
if (!$user->inGroup($group)) {
$user->Groups()->add($group);
@@ -661,7 +661,7 @@ class Blog extends Page implements PermissionProvider
*/
protected function getUserGroup()
{
- $code = $this->config()->grant_user_group;
+ $code = $this->config()->get('grant_user_group');
$group = Group::get()->filter('Code', $code)->first();
@@ -676,7 +676,7 @@ class Blog extends Page implements PermissionProvider
$group->write();
$permission = Permission::create();
- $permission->Code = $this->config()->grant_user_permission;
+ $permission->Code = $this->config()->get('grant_user_permission');
$group->Permissions()->add($permission);
diff --git a/src/Model/BlogCategory.php b/src/Model/BlogCategory.php
index e527d71..ead746a 100644
--- a/src/Model/BlogCategory.php
+++ b/src/Model/BlogCategory.php
@@ -11,9 +11,7 @@ use SilverStripe\ORM\DataObject;
/**
* A blog category for generalising blog posts.
*
- * @package silverstripe
- * @subpackage blog
- *
+*
* @method Blog Blog()
*
* @property string $Title
@@ -42,24 +40,24 @@ class BlogCategory extends DataObject implements CategorisationObject
/**
* @var array
*/
- private static $db = array(
+ private static $db = [
'Title' => 'Varchar(255)',
'URLSegment' => 'Varchar(255)'
- );
+ ];
/**
* @var array
*/
- private static $has_one = array(
+ private static $has_one = [
'Blog' => Blog::class,
- );
+ ];
/**
* @var array
*/
- private static $belongs_many_many = array(
+ private static $belongs_many_many = [
'BlogPosts' => BlogPost::class,
- );
+ ];
/**
* {@inheritdoc}
@@ -74,6 +72,6 @@ class BlogCategory extends DataObject implements CategorisationObject
*/
protected function getDuplicateError()
{
- return _t('BlogCategory.Duplicate', 'A blog category already exists with that name.');
+ return _t(__CLASS__ . '.Duplicate', 'A blog category already exists with that name.');
}
}
diff --git a/src/Model/BlogController.php b/src/Model/BlogController.php
index 8ead4c5..9f892d2 100644
--- a/src/Model/BlogController.php
+++ b/src/Model/BlogController.php
@@ -9,40 +9,36 @@ use SilverStripe\ORM\FieldType\DBDatetime;
use SilverStripe\ORM\PaginatedList;
use SilverStripe\Security\Member;
-/**
- * @package silverstripe
- * @subpackage blog
- */
class BlogController extends PageController
{
/**
* @var array
*/
- private static $allowed_actions = array(
+ private static $allowed_actions = [
'archive',
'tag',
'category',
'rss',
'profile'
- );
+ ];
/**
* @var array
*/
- private static $url_handlers = array(
+ private static $url_handlers = [
'tag/$Tag!/$Rss' => 'tag',
'category/$Category!/$Rss' => 'category',
'archive/$Year!/$Month/$Day' => 'archive',
'profile/$URLSegment!' => 'profile'
- );
+ ];
/**
* @var array
*/
- private static $casting = array(
+ private static $casting = [
'MetaTitle' => 'Text',
'FilterDescription' => 'Text'
- );
+ ];
/**
* The current Blog Post DataList query.
@@ -247,7 +243,7 @@ class BlogController extends PageController
$tag = $this->request->param('Tag');
if ($tag) {
return $dataRecord->Tags()
- ->filter('URLSegment', array($tag, rawurlencode($tag)))
+ ->filter('URLSegment', [$tag, rawurlencode($tag)])
->first();
}
return null;
@@ -291,7 +287,7 @@ class BlogController extends PageController
$category = $this->request->param('Category');
if ($category) {
return $dataRecord->Categories()
- ->filter('URLSegment', array($category, rawurlencode($category)))
+ ->filter('URLSegment', [$category, rawurlencode($category)])
->first();
}
return null;
@@ -323,52 +319,52 @@ class BlogController extends PageController
*/
public function getFilterDescription()
{
- $items = array();
+ $items = [];
$list = $this->PaginatedList();
$currentPage = $list->CurrentPage();
if ($currentPage > 1) {
$items[] = _t(
- 'Blog.FILTERDESCRIPTION_PAGE',
+ 'SilverStripe\\Blog\\Model\\Blog.FILTERDESCRIPTION_PAGE',
'Page {page}',
null,
- array(
+ [
'page' => $currentPage
- )
+ ]
);
}
if ($author = $this->getCurrentProfile()) {
$items[] = _t(
- 'Blog.FILTERDESCRIPTION_AUTHOR',
+ 'SilverStripe\\Blog\\Model\\Blog.FILTERDESCRIPTION_AUTHOR',
'By {author}',
null,
- array(
+ [
'author' => $author->Title
- )
+ ]
);
}
if ($tag = $this->getCurrentTag()) {
$items[] = _t(
- 'Blog.FILTERDESCRIPTION_TAG',
+ 'SilverStripe\\Blog\\Model\\Blog.FILTERDESCRIPTION_TAG',
'Tagged with {tag}',
null,
- array(
+ [
'tag' => $tag->Title
- )
+ ]
);
}
if ($category = $this->getCurrentCategory()) {
$items[] = _t(
- 'Blog.FILTERDESCRIPTION_CATEGORY',
+ 'SilverStripe\\Blog\\Model\\Blog.FILTERDESCRIPTION_CATEGORY',
'In category {category}',
null,
- array(
+ [
'category' => $category->Title
- )
+ ]
);
}
@@ -382,12 +378,12 @@ class BlogController extends PageController
}
$items[] = _t(
- 'Blog.FILTERDESCRIPTION_DATE',
+ 'SilverStripe\\Blog\\Model\\Blog.FILTERDESCRIPTION_DATE',
'In {date}',
null,
- array(
+ [
'date' => $date,
- )
+ ]
);
}
@@ -496,7 +492,7 @@ class BlogController extends PageController
*/
protected function rssFeed($blogPosts, $link)
{
- $rss = new RSSFeed($blogPosts, $link, $this->MetaTitle, $this->MetaDescription);
+ $rss = RSSFeed::create($blogPosts, $link, $this->MetaTitle, $this->MetaDescription);
$this->extend('updateRss', $rss);
diff --git a/src/Model/BlogFilter.php b/src/Model/BlogFilter.php
index d0203d6..02238f1 100644
--- a/src/Model/BlogFilter.php
+++ b/src/Model/BlogFilter.php
@@ -19,8 +19,6 @@ use SilverStripe\Security\Permission;
* This class is responsible for filtering the SiteTree when necessary and also overlaps into
* filtering only published posts.
*
- * @package silverstripe
- * @subpackage blog
*/
class BlogFilter extends Lumberjack
{
@@ -98,10 +96,10 @@ class BlogFilter extends Lumberjack
$excluded = $this->owner->getExcludedSiteTreeClassNames();
if (!empty($excluded)) {
- $pages = BlogPost::get()->filter(array(
+ $pages = BlogPost::get()->filter([
'ParentID' => $this->owner->ID,
'ClassName' => $excluded
- ));
+ ]);
$gridField = BlogFilterGridField::create(
'ChildPages',
diff --git a/src/Model/BlogMemberExtension.php b/src/Model/BlogMemberExtension.php
index ec3e389..ff0c5b9 100644
--- a/src/Model/BlogMemberExtension.php
+++ b/src/Model/BlogMemberExtension.php
@@ -5,6 +5,7 @@ namespace SilverStripe\Blog\Model;
use SilverStripe\Assets\Image;
use SilverStripe\Blog\Forms\GridField\GridFieldConfig_BlogPost;
use SilverStripe\Blog\Model\BlogPost;
+use SilverStripe\Core\Manifest\ModuleLoader;
use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\GridField\GridField;
use SilverStripe\Forms\Tab;
@@ -16,32 +17,30 @@ use SilverStripe\View\Requirements;
/**
* This class is responsible for add Blog specific behaviour to Members.
*
- * @package silverstripe
- * @subpackage blog
*/
class BlogMemberExtension extends DataExtension
{
/**
* @var array
*/
- private static $db = array(
+ private static $db = [
'URLSegment' => 'Varchar',
'BlogProfileSummary' => 'Text'
- );
+ ];
/**
* @var array
*/
- private static $has_one = array(
+ private static $has_one = [
'BlogProfileImage' => Image::class
- );
+ ];
/**
* @var array
*/
- private static $belongs_many_many = array(
+ private static $belongs_many_many = [
'BlogPosts' => BlogPost::class
- );
+ ];
/**
* {@inheritdoc}
@@ -53,7 +52,7 @@ class BlogMemberExtension extends DataExtension
if ($this->owner->URLSegment && !$this->owner->isChanged('FirstName') && !$this->owner->isChanged('Surname')) {
return;
}
-
+
$this->owner->URLSegment = $this->generateURLSegment();
while (!$this->validURLSegment()) {
@@ -109,15 +108,15 @@ class BlogMemberExtension extends DataExtension
$fields->removeFieldFromTab('Root', 'BlogPosts');
// Construct a better posts tab.
+ $module = ModuleLoader::getModule('silverstripe/blog');
+ Requirements::css($module->getRelativeResourcePath('css/cms.css'));
+ Requirements::javascript($module->getRelativeResourcePath('js/cms.js'));
- Requirements::css(BLOGGER_DIR . '/css/cms.css');
- Requirements::javascript(BLOGGER_DIR . '/js/cms.js');
-
- $tab = Tab::create('BlogPosts', _t('BlogMemberExtension.TABBLOGPOSTS', 'Blog Posts'));
+ $tab = Tab::create('BlogPosts', _t(__CLASS__ . '.TABBLOGPOSTS', 'Blog Posts'));
$gridField = GridField::create(
'BlogPosts',
- _t('BlogMemberExtension.BLOGPOSTS', 'Blog Posts'),
+ _t(__CLASS__ . '.BLOGPOSTS', 'Blog Posts'),
$this->owner->BlogPosts(),
GridFieldConfig_BlogPost::create()
);
diff --git a/src/Model/BlogObject.php b/src/Model/BlogObject.php
index 74369c4..db5fc73 100644
--- a/src/Model/BlogObject.php
+++ b/src/Model/BlogObject.php
@@ -15,8 +15,6 @@ use SilverStripe\View\Parsers\URLSegmentFilter;
/**
* An object shared by BlogTag and BlogCategory.
*
- * @package silverstripe
- * @subpackage blog
*/
trait BlogObject
{
@@ -37,12 +35,11 @@ trait BlogObject
*/
public function getCMSFields()
{
- $shortClass = ClassInfo::shortName(self::class);
$fields = TabSet::create(
'Root',
Tab::create(
'Main',
- TextField::create('Title', _t($shortClass . '.Title', 'Title'))
+ TextField::create('Title', _t(__CLASS__ . '.Title', 'Title'))
)
);
@@ -111,7 +108,7 @@ trait BlogObject
/**
* {@inheritdoc}
*/
- public function canCreate($member = null, $context = array())
+ public function canCreate($member = null, $context = [])
{
$extended = $this->extendedCan(__FUNCTION__, $member);
diff --git a/src/Model/BlogPost.php b/src/Model/BlogPost.php
index 0a05df4..00b6f5b 100644
--- a/src/Model/BlogPost.php
+++ b/src/Model/BlogPost.php
@@ -9,6 +9,7 @@ use SilverStripe\Blog\Model\BlogCategory;
use SilverStripe\Blog\Model\BlogPostFilter;
use SilverStripe\Blog\Model\BlogTag;
use SilverStripe\Control\Controller;
+use SilverStripe\Core\Manifest\ModuleLoader;
use SilverStripe\Forms\DatetimeField;
use SilverStripe\Forms\HiddenField;
use SilverStripe\Forms\HTMLEditor\HTMLEditorField;
@@ -22,6 +23,7 @@ use SilverStripe\ORM\UnsavedRelationList;
use SilverStripe\Security\Group;
use SilverStripe\Security\Member;
use SilverStripe\Security\Permission;
+use SilverStripe\Security\Security;
use SilverStripe\TagField\TagField;
use SilverStripe\View\ArrayData;
use SilverStripe\View\Requirements;
@@ -29,9 +31,6 @@ use SilverStripe\View\Requirements;
/**
* An individual blog post.
*
- * @package silverstripe
- * @subpackage blog
- *
* @method ManyManyList Categories()
* @method ManyManyList Tags()
* @method ManyManyList Authors()
@@ -59,77 +58,77 @@ class BlogPost extends Page
/**
* @var array
*/
- private static $db = array(
+ private static $db = [
'PublishDate' => 'Datetime',
'AuthorNames' => 'Varchar(1024)',
'Summary' => 'HTMLText'
- );
+ ];
/**
* @var array
*/
- private static $has_one = array(
+ private static $has_one = [
'FeaturedImage' => Image::class
- );
+ ];
/**
* @var array
*/
- private static $owns = array(
+ private static $owns = [
'FeaturedImage',
- );
+ ];
/**
* @var array
*/
- private static $many_many = array(
+ private static $many_many = [
'Categories' => BlogCategory::class,
'Tags' => BlogTag::class,
'Authors' => Member::class
- );
+ ];
/**
* @var array
*/
- private static $defaults = array(
+ private static $defaults = [
'ShowInMenus' => false,
'InheritSideBar' => true,
'ProvideComments' => true
- );
+ ];
/**
* @var array
*/
- private static $extensions = array(
+ private static $extensions = [
BlogPostFilter::class
- );
+ ];
/**
* @var array
*/
- private static $searchable_fields = array(
+ private static $searchable_fields = [
'Title'
- );
+ ];
/**
* @var array
*/
- private static $summary_fields = array(
+ private static $summary_fields = [
'Title'
- );
+ ];
/**
* @var array
*/
- private static $casting = array(
+ private static $casting = [
'Excerpt' => 'HTMLText',
'Date' => 'DBDatetime'
- );
+ ];
/**
* @var array
*/
- private static $allowed_children = array();
+ private static $allowed_children = [];
/**
* The default sorting lists BlogPosts with an empty PublishDate at the top.
@@ -171,7 +170,7 @@ class BlogPost extends Page
}
if ($this->isAuthor($member)) {
- return _t('BlogPost.AUTHOR', 'Author');
+ return _t(__CLASS__ . '.AUTHOR', 'Author');
}
$parent = $this->Parent();
@@ -210,12 +209,13 @@ class BlogPost extends Page
*/
public function getCMSFields()
{
- Requirements::css(BLOGGER_DIR . '/css/cms.css');
- Requirements::javascript(BLOGGER_DIR . '/js/cms.js');
+ $module = ModuleLoader::getModule('silverstripe/blog');
+ Requirements::css($module->getRelativeResourcePath('css/cms.css'));
+ Requirements::javascript($module->getRelativeResourcePath('js/cms.js'));
$this->beforeUpdateCMSFields(function ($fields) {
- $uploadField = UploadField::create('FeaturedImage', _t('BlogPost.FeaturedImage', 'Featured Image'));
- $uploadField->getValidator()->setAllowedExtensions(array('jpg', 'jpeg', 'png', 'gif'));
+ $uploadField = UploadField::create('FeaturedImage', _t(__CLASS__ . '.FeaturedImage', 'Featured Image'));
+ $uploadField->getValidator()->setAllowedExtensions(['jpg', 'jpeg', 'png', 'gif']);
/**
* @var FieldList $fields
@@ -225,16 +225,16 @@ class BlogPost extends Page
$summary = HtmlEditorField::create('Summary', false);
$summary->setRows(5);
$summary->setDescription(_t(
- 'BlogPost.SUMMARY_DESCRIPTION',
+ __CLASS__ . '.SUMMARY_DESCRIPTION',
'If no summary is specified the first 30 words will be used.'
));
$summaryHolder = ToggleCompositeField::create(
'CustomSummary',
- _t('BlogPost.CUSTOMSUMMARY', 'Add A Custom Summary'),
- array(
+ _t(__CLASS__ . '.CUSTOMSUMMARY', 'Add A Custom Summary'),
+ [
$summary,
- )
+ ]
);
$summaryHolder->setHeadingLevel(4);
$summaryHolder->addExtraClass('custom-summary');
@@ -244,25 +244,25 @@ class BlogPost extends Page
$urlSegment = $fields->dataFieldByName('URLSegment');
$urlSegment->setURLPrefix($this->Parent()->RelativeLink());
- $fields->removeFieldsFromTab('Root.Main', array(
+ $fields->removeFieldsFromTab('Root.Main', [
'MenuTitle',
'URLSegment',
- ));
+ ]);
$authorField = ListboxField::create(
'Authors',
- _t('BlogPost.Authors', 'Authors'),
+ _t(__CLASS__ . '.Authors', 'Authors'),
$this->getCandidateAuthors()->map()->toArray()
);
$authorNames = TextField::create(
'AuthorNames',
- _t('BlogPost.AdditionalCredits', 'Additional Credits'),
+ _t(__CLASS__ . '.AdditionalCredits', 'Additional Credits'),
null,
1024
)->setDescription(
_t(
- 'BlogPost.AdditionalCredits_Description',
+ __CLASS__ . '.AdditionalCredits_Description',
'If some authors of this post don\'t have CMS access, enter their name(s) here. You can separate multiple names with a comma.'
)
);
@@ -272,12 +272,12 @@ class BlogPost extends Page
$authorNames = $authorNames->performDisabledTransformation();
}
- $publishDate = DatetimeField::create('PublishDate', _t('BlogPost.PublishDate', 'Publish Date'));
+ $publishDate = DatetimeField::create('PublishDate', _t(__CLASS__ . '.PublishDate', 'Publish Date'));
if (!$this->PublishDate) {
$publishDate->setDescription(
_t(
- 'BlogPost.PublishDate_Description',
+ __CLASS__ . '.PublishDate_Description',
'Will be set to "now" if published without a value.'
)
);
@@ -301,7 +301,7 @@ class BlogPost extends Page
$urlSegment,
TagField::create(
'Categories',
- _t('BlogPost.Categories', 'Categories'),
+ _t(__CLASS__ . '.Categories', 'Categories'),
$categories,
$this->Categories()
)
@@ -309,7 +309,7 @@ class BlogPost extends Page
->setShouldLazyLoad(true),
TagField::create(
'Tags',
- _t('BlogPost.Tags', 'Tags'),
+ _t(__CLASS__ . '.Tags', 'Tags'),
$tags,
$this->Tags()
)
@@ -338,8 +338,8 @@ class BlogPost extends Page
*/
public function getCandidateAuthors()
{
- if ($this->config()->restrict_authors_to_group) {
- return Group::get()->filter('Code', $this->config()->restrict_authors_to_group)->first()->Members();
+ if ($this->config()->get('restrict_authors_to_group')) {
+ return Group::get()->filter('Code', $this->config()->get('restrict_authors_to_group'))->first()->Members();
}
$list = Member::get();
@@ -387,7 +387,7 @@ class BlogPost extends Page
protected function getMember($member = null)
{
if (!$member) {
- $member = Member::currentUser();
+ $member = Security::getCurrentUser();
}
if (is_numeric($member)) {
@@ -674,16 +674,16 @@ class BlogPost extends Page
// If there is no parent blog, return list undecorated
if (!$parent) {
$items = $this->Authors()->toArray();
- return new ArrayList($items);
+ return ArrayList::create($items);
}
// Update all authors
- $items = new ArrayList();
+ $items = ArrayList::create();
foreach ($this->Authors() as $author) {
// Add link for each author
- $author = $author->customise(array(
+ $author = $author->customise([
'URL' => $parent->ProfileLink($author->URLSegment),
- ));
+ ]);
$items->push($author);
}
@@ -697,14 +697,14 @@ class BlogPost extends Page
*/
protected function getStaticCredits()
{
- $items = new ArrayList();
+ $items = ArrayList::create();
$authors = array_filter(preg_split('/\s*,\s*/', $this->AuthorNames));
foreach ($authors as $author) {
- $item = new ArrayData(array(
+ $item = ArrayData::create([
'Name' => $author,
- ));
+ ]);
$items->push($item);
}
@@ -723,7 +723,7 @@ class BlogPost extends Page
{
$labels = parent::fieldLabels($includeRelations);
- $labels['Title'] = _t('BlogPost.PageTitleLabel', 'Post Title');
+ $labels['Title'] = _t(__CLASS__ . '.PageTitleLabel', 'Post Title');
return $labels;
}
@@ -746,7 +746,7 @@ class BlogPost extends Page
{
parent::onBeforeWrite();
- if (!$this->exists() && ($member = Member::currentUser())) {
+ if (!$this->exists() && ($member = Security::getCurrentUser())) {
$this->Authors()->add($member);
}
}
diff --git a/src/Model/BlogPostController.php b/src/Model/BlogPostController.php
index 2b09699..706ec46 100644
--- a/src/Model/BlogPostController.php
+++ b/src/Model/BlogPostController.php
@@ -4,10 +4,6 @@ namespace SilverStripe\Blog\Model;
use PageController;
-/**
- * @package silverstripe
- * @subpackage blog
- */
class BlogPostController extends PageController
{
diff --git a/src/Model/BlogPostFilter.php b/src/Model/BlogPostFilter.php
index 7b2dff3..240a3f9 100644
--- a/src/Model/BlogPostFilter.php
+++ b/src/Model/BlogPostFilter.php
@@ -17,8 +17,6 @@ use SilverStripe\Security\Permission;
* This is responsible for filtering only published posts to users who do not have permission to
* view non-published posts.
*
- * @package silverstripe
- * @subpackage blog
*/
class BlogPostFilter extends DataExtension
{
diff --git a/src/Model/BlogPostNotifications.php b/src/Model/BlogPostNotifications.php
index 1b6b6fb..e6fdbd9 100644
--- a/src/Model/BlogPostNotifications.php
+++ b/src/Model/BlogPostNotifications.php
@@ -30,7 +30,7 @@ class BlogPostNotifications extends DataExtension
// If comment is spam and notification are set to not send on spam clear the recipient list
if (Config::inst()->get(__CLASS__, 'notification_on_spam') == false && $comment->IsSpam) {
- $list = array();
+ $list = [];
}
}
diff --git a/src/Model/BlogTag.php b/src/Model/BlogTag.php
index f8cbb45..bc6b351 100644
--- a/src/Model/BlogTag.php
+++ b/src/Model/BlogTag.php
@@ -11,8 +11,6 @@ use SilverStripe\Blog\Model\CategorisationObject;
/**
* A blog tag for keyword descriptions of a blog post.
*
- * @package silverstripe
- * @subpackage blog
*
* @method Blog Blog()
*
@@ -42,24 +40,24 @@ class BlogTag extends DataObject implements CategorisationObject
/**
* @var array
*/
- private static $db = array(
+ private static $db = [
'Title' => 'Varchar(255)',
'URLSegment' => 'Varchar(255)'
- );
+ ];
/**
* @var array
*/
- private static $has_one = array(
+ private static $has_one = [
'Blog' => Blog::class
- );
+ ];
/**
* @var array
*/
- private static $belongs_many_many = array(
+ private static $belongs_many_many = [
'BlogPosts' => BlogPost::class
- );
+ ];
/**
* {@inheritdoc}
@@ -74,6 +72,6 @@ class BlogTag extends DataObject implements CategorisationObject
*/
protected function getDuplicateError()
{
- return _t('BlogTag.Duplicate', 'A blog tag already exists with that name.');
+ return _t(__CLASS__ . '.Duplicate', 'A blog tag already exists with that name.');
}
}
diff --git a/src/Widgets/BlogArchiveWidget.php b/src/Widgets/BlogArchiveWidget.php
index 5ea67f7..672b6f4 100644
--- a/src/Widgets/BlogArchiveWidget.php
+++ b/src/Widgets/BlogArchiveWidget.php
@@ -38,24 +38,24 @@ class BlogArchiveWidget extends Widget
/**
* @var array
*/
- private static $db = array(
+ private static $db = [
'NumberToDisplay' => 'Int',
'ArchiveType' => 'Enum(\'Monthly,Yearly\', \'Monthly\')',
- );
+ ];
/**
* @var array
*/
- private static $defaults = array(
+ private static $defaults = [
'NumberOfMonths' => 12,
- );
+ ];
/**
* @var array
*/
- private static $has_one = array(
+ private static $has_one = [
'Blog' => Blog::class,
- );
+ ];
/**
* {@inheritdoc}
@@ -71,21 +71,21 @@ class BlogArchiveWidget extends Widget
$type = $archiveType->enumValues();
foreach ($type as $k => $v) {
- $type[$k] = _t('BlogArchiveWidget.' . ucfirst(strtolower($v)), $v);
+ $type[$k] = _t(__CLASS__ .'.' . ucfirst(strtolower($v)), $v);
}
/**
* @var FieldList $fields
*/
- $fields->merge(array(
+ $fields->merge([
DropdownField::create(
'BlogID',
- _t('BlogArchiveWidget.Blog', 'Blog'),
+ _t(__CLASS__ . '.Blog', 'Blog'),
Blog::get()->map()
),
- DropdownField::create('ArchiveType', _t('BlogArchiveWidget.ArchiveType', 'ArchiveType'), $type),
- NumericField::create('NumberToDisplay', _t('BlogArchiveWidget.NumberToDisplay', 'No. to Display'))
- ));
+ DropdownField::create('ArchiveType', _t(__CLASS__ . '.ArchiveType', 'ArchiveType'), $type),
+ NumericField::create('NumberToDisplay', _t(__CLASS__ . '.NumberToDisplay', 'No. to Display'))
+ ]);
});
return parent::getCMSFields();
@@ -112,7 +112,7 @@ class BlogArchiveWidget extends Widget
$posts = $posts->limit($this->NumberToDisplay);
}
- $archive = new ArrayList();
+ $archive = ArrayList::create();
if ($posts->count() > 0) {
foreach ($posts as $post) {
@@ -132,10 +132,10 @@ class BlogArchiveWidget extends Widget
$title = $date->FormatI18N("%B %Y");
}
- $archive->push(new ArrayData(array(
+ $archive->push(ArrayData::create([
'Title' => $title,
'Link' => Controller::join_links($this->Blog()->Link('archive'), $year, $month)
- )));
+ ]));
}
}
diff --git a/src/Widgets/BlogCategoriesWidget.php b/src/Widgets/BlogCategoriesWidget.php
index 63de4fc..92fe53a 100644
--- a/src/Widgets/BlogCategoriesWidget.php
+++ b/src/Widgets/BlogCategoriesWidget.php
@@ -11,6 +11,7 @@ use SilverStripe\Core\Convert;
use SilverStripe\Forms\DropdownField;
use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\NumericField;
+use SilverStripe\ORM\DataList;
use SilverStripe\Widgets\Model\Widget;
/**
@@ -36,18 +37,18 @@ class BlogCategoriesWidget extends Widget
/**
* @var array
*/
- private static $db = array(
+ private static $db = [
'Limit' => 'Int',
'Order' => 'Varchar',
'Direction' => 'Varchar',
- );
+ ];
/**
* @var array
*/
- private static $has_one = array(
+ private static $has_one = [
'Blog' => Blog::class,
- );
+ ];
/**
* {@inheritdoc}
@@ -57,18 +58,18 @@ class BlogCategoriesWidget extends Widget
$this->beforeUpdateCMSFields(function (FieldList $fields) {
$fields[] = DropdownField::create(
'BlogID',
- _t('BlogCategoriesWidget.Blog', 'Blog'),
+ _t(__CLASS__ . '.Blog', 'Blog'),
Blog::get()->map()
);
$fields[] = NumericField::create(
'Limit',
- _t('BlogCategoriesWidget.Limit', 'Limit'),
+ _t(__CLASS__ . '.Limit', 'Limit'),
0
)
->setDescription(
_t(
- 'BlogCategoriesWidget.Limit_Description',
+ __CLASS__ . '.Limit_Description',
'Limit the number of categories shown by this widget (set to 0 to show all categories).'
)
)
@@ -76,21 +77,21 @@ class BlogCategoriesWidget extends Widget
$fields[] = DropdownField::create(
'Order',
- _t('BlogCategoriesWidget.Sort', 'Sort'),
- array('Title' => 'Title', 'Created' => 'Created', 'LastEdited' => 'Updated')
+ _t(__CLASS__ . '.Sort', 'Sort'),
+ ['Title' => 'Title', 'Created' => 'Created', 'LastEdited' => 'Updated']
)
->setDescription(
- _t('BlogCategoriesWidget.Sort_Description', 'Change the order of categories shown by this widget.')
+ _t(__CLASS__ . '.Sort_Description', 'Change the order of categories shown by this widget.')
);
$fields[] = DropdownField::create(
'Direction',
- _t('BlogCategoriesWidget.Direction', 'Direction'),
- array('ASC' => 'Ascending', 'DESC' => 'Descending')
+ _t(__CLASS__ . '.Direction', 'Direction'),
+ ['ASC' => 'Ascending', 'DESC' => 'Descending']
)
->setDescription(
_t(
- 'BlogCategoriesWidget.Direction_Description',
+ __CLASS__ . '.Direction_Description',
'Change the direction of ordering of categories shown by this widget.'
)
);
@@ -107,7 +108,7 @@ class BlogCategoriesWidget extends Widget
$blog = $this->Blog();
if (!$blog) {
- return array();
+ return [];
}
$query = $blog->Categories();
diff --git a/src/Widgets/BlogRecentPostsWidget.php b/src/Widgets/BlogRecentPostsWidget.php
index f85d9e0..7f0825c 100644
--- a/src/Widgets/BlogRecentPostsWidget.php
+++ b/src/Widgets/BlogRecentPostsWidget.php
@@ -36,16 +36,16 @@ class BlogRecentPostsWidget extends Widget
/**
* @var array
*/
- private static $db = array(
+ private static $db = [
'NumberOfPosts' => 'Int',
- );
+ ];
/**
* @var array
*/
- private static $has_one = array(
+ private static $has_one = [
'Blog' => Blog::class,
- );
+ ];
/**
* {@inheritdoc}
@@ -56,10 +56,10 @@ class BlogRecentPostsWidget extends Widget
/**
* @var FieldList $fields
*/
- $fields->merge(array(
- DropdownField::create('BlogID', _t('BlogRecentPostsWidget.Blog', 'Blog'), Blog::get()->map()),
- NumericField::create('NumberOfPosts', _t('BlogRecentPostsWidget.NumberOfPosts', 'Number of Posts'))
- ));
+ $fields->merge([
+ DropdownField::create('BlogID', _t(__CLASS__ . '.Blog', 'Blog'), Blog::get()->map()),
+ NumericField::create('NumberOfPosts', _t(__CLASS__ . '.NumberOfPosts', 'Number of Posts'))
+ ]);
});
return parent::getCMSFields();
@@ -78,6 +78,6 @@ class BlogRecentPostsWidget extends Widget
->limit($this->NumberOfPosts);
}
- return array();
+ return [];
}
}
diff --git a/src/Widgets/BlogTagsCloudWidget.php b/src/Widgets/BlogTagsCloudWidget.php
index fb8ca6b..00f935c 100644
--- a/src/Widgets/BlogTagsCloudWidget.php
+++ b/src/Widgets/BlogTagsCloudWidget.php
@@ -37,14 +37,14 @@ class BlogTagsCloudWidget extends Widget
/**
* @var array
*/
- private static $db = array();
+ private static $db = [];
/**
* @var array
*/
- private static $has_one = array(
+ private static $has_one = [
'Blog' => Blog::class,
- );
+ ];
/**
* {@inheritdoc}
@@ -58,7 +58,7 @@ class BlogTagsCloudWidget extends Widget
$fields->push(
DropdownField::create(
'BlogID',
- _t('BlogTagsCloudWidget.Blog', 'Blog'),
+ _t(__CLASS__ . '.Blog', 'Blog'),
Blog::get()->map()
)
);
@@ -89,9 +89,9 @@ class BlogTagsCloudWidget extends Widget
$maxTagCount = 0;
// create DataObjects that can be used to render the tag cloud
- $tags = new ArrayList();
+ $tags = ArrayList::create();
foreach ($records as $record) {
- $tag = new DataObject();
+ $tag = DataObject::create();
$tag->TagName = $record['Title'];
$link = $bloglink.'tag/'.$record['URLSegment'];
$tag->Link = $link;
@@ -115,6 +115,6 @@ class BlogTagsCloudWidget extends Widget
return $tags;
}
- return array();
+ return [];
}
}
diff --git a/src/Widgets/BlogTagsWidget.php b/src/Widgets/BlogTagsWidget.php
index fe9f092..d1daa20 100644
--- a/src/Widgets/BlogTagsWidget.php
+++ b/src/Widgets/BlogTagsWidget.php
@@ -36,18 +36,18 @@ class BlogTagsWidget extends Widget
/**
* @var array
*/
- private static $db = array(
+ private static $db = [
'Limit' => 'Int',
'Order' => 'Varchar',
'Direction' => 'Varchar',
- );
+ ];
/**
* @var array
*/
- private static $has_one = array(
+ private static $has_one = [
'Blog' => Blog::class
- );
+ ];
/**
* {@inheritdoc}
@@ -57,18 +57,18 @@ class BlogTagsWidget extends Widget
$this->beforeUpdateCMSFields(function (Fieldlist $fields) {
$fields[] = DropdownField::create(
'BlogID',
- _t('BlogTagsWidget.Blog', 'Blog'),
+ _t(__CLASS__ . '.Blog', 'Blog'),
Blog::get()->map()
);
$fields[] = NumericField::create(
'Limit',
- _t('BlogTagsWidget.Limit', 'Limit'),
+ _t(__CLASS__ . '.Limit', 'Limit'),
0
)
->setDescription(
_t(
- 'BlogTagsWidget.Limit_Description',
+ __CLASS__ . '.Limit_Description',
'Limit the number of tags shown by this widget (set to 0 to show all tags).'
)
)
@@ -76,21 +76,21 @@ class BlogTagsWidget extends Widget
$fields[] = DropdownField::create(
'Order',
- _t('BlogTagsWidget.Sort', 'Sort'),
- array('Title' => 'Title', 'Created' => 'Created', 'LastEdited' => 'Updated')
+ _t(__CLASS__ . '.Sort', 'Sort'),
+ ['Title' => 'Title', 'Created' => 'Created', 'LastEdited' => 'Updated']
)
->setDescription(
- _t('BlogTagsWidget.Sort_Description', 'Change the order of tags shown by this widget.')
+ _t(__CLASS__ . '.Sort_Description', 'Change the order of tags shown by this widget.')
);
$fields[] = DropdownField::create(
'Direction',
- _t('BlogTagsWidget.Direction', 'Direction'),
- array('ASC' => 'Ascending', 'DESC' => 'Descending')
+ _t(__CLASS__ . '.Direction', 'Direction'),
+ ['ASC' => 'Ascending', 'DESC' => 'Descending']
)
->setDescription(
_t(
- 'BlogTagsWidget.Direction_Description',
+ __CLASS__ . '.Direction_Description',
'Change the direction of ordering of tags shown by this widget.'
)
);
@@ -107,7 +107,7 @@ class BlogTagsWidget extends Widget
$blog = $this->Blog();
if (!$blog) {
- return array();
+ return [];
}
$query = $blog->Tags();
diff --git a/tests/BlogCategoryTest.php b/tests/BlogCategoryTest.php
index d9de583..1cc4aa0 100755
--- a/tests/BlogCategoryTest.php
+++ b/tests/BlogCategoryTest.php
@@ -11,6 +11,7 @@ use SilverStripe\Dev\FunctionalTest;
use SilverStripe\ORM\FieldType\DBDatetime;
use SilverStripe\ORM\ValidationException;
use SilverStripe\Security\Member;
+use SilverStripe\Security\Security;
/**
* @mixin PHPUnit_Framework_TestCase
@@ -48,10 +49,10 @@ class BlogCategoryTest extends FunctionalTest
*/
public function testBlogPosts()
{
- $member = Member::currentUser();
+ $member = Security::getCurrentUser();
if ($member) {
- $member->logout();
+ Security::setCurrentUser(null);
}
$this->objFromFixture(BlogPost::class, 'FirstBlogPost');
diff --git a/tests/BlogPostFilterTest.php b/tests/BlogPostFilterTest.php
index c78fbc9..da3efa7 100755
--- a/tests/BlogPostFilterTest.php
+++ b/tests/BlogPostFilterTest.php
@@ -6,6 +6,7 @@ use SilverStripe\Blog\Model\Blog;
use SilverStripe\Dev\SapphireTest;
use SilverStripe\ORM\FieldType\DBDatetime;
use SilverStripe\Security\Member;
+use SilverStripe\Security\Security;
/**
* @mixin PHPUnit_Framework_TestCase
@@ -38,10 +39,10 @@ class BlogPostFilterTest extends SapphireTest
*/
public function testFilter()
{
- $member = Member::currentUser();
+ $member = Security::getCurrentUser();
if ($member) {
- $member->logout();
+ Security::setCurrentUser(null);
}
/**
diff --git a/tests/BlogPostNotificationsTest.php b/tests/BlogPostNotificationsTest.php
index 39d4f2a..22559c3 100644
--- a/tests/BlogPostNotificationsTest.php
+++ b/tests/BlogPostNotificationsTest.php
@@ -27,14 +27,14 @@ class BlogPostNotificationsTest extends SapphireTest
$comment
)->toArray();
- $segments = array();
+ $segments = [];
foreach ($recipients as $recipient) {
array_push($segments, $recipient->URLSegment);
}
sort($segments);
$this->assertEquals(
- array('blog-contributor', 'blog-editor', 'blog-writer'),
+ ['blog-contributor', 'blog-editor', 'blog-writer'],
$segments
);
}
diff --git a/tests/BlogPostTest.php b/tests/BlogPostTest.php
index 09bacba..6019894 100644
--- a/tests/BlogPostTest.php
+++ b/tests/BlogPostTest.php
@@ -43,33 +43,33 @@ class BlogPostTest extends SapphireTest
{
$someFutureDate = '2013-10-10 20:00:00';
$somePastDate = '2009-10-10 20:00:00';
- return array(
+ return [
// Check this post given the date has passed
- array($someFutureDate, 'Editor', 'PostA', true),
- array($someFutureDate, 'Contributor', 'PostA', true),
- array($someFutureDate, 'BlogEditor', 'PostA', true),
- array($someFutureDate, 'Writer', 'PostA', true),
+ [$someFutureDate, 'Editor', 'PostA', true],
+ [$someFutureDate, 'Contributor', 'PostA', true],
+ [$someFutureDate, 'BlogEditor', 'PostA', true],
+ [$someFutureDate, 'Writer', 'PostA', true],
// Check unpublished pages
- array($somePastDate, 'Editor', 'PostA', true),
- array($somePastDate, 'Contributor', 'PostA', true),
- array($somePastDate, 'BlogEditor', 'PostA', true),
- array($somePastDate, 'Writer', 'PostA', true),
+ [$somePastDate, 'Editor', 'PostA', true],
+ [$somePastDate, 'Contributor', 'PostA', true],
+ [$somePastDate, 'BlogEditor', 'PostA', true],
+ [$somePastDate, 'Writer', 'PostA', true],
// Test a page that was authored by another user
// Check this post given the date has passed
- array($someFutureDate, 'Editor', 'FirstBlogPost', true),
- array($someFutureDate, 'Contributor', 'FirstBlogPost', true),
- array($someFutureDate, 'BlogEditor', 'FirstBlogPost', true),
- array($someFutureDate, 'Writer', 'FirstBlogPost', true),
+ [$someFutureDate, 'Editor', 'FirstBlogPost', true],
+ [$someFutureDate, 'Contributor', 'FirstBlogPost', true],
+ [$someFutureDate, 'BlogEditor', 'FirstBlogPost', true],
+ [$someFutureDate, 'Writer', 'FirstBlogPost', true],
// Check future pages - non-editors shouldn't be able to see this
- array($somePastDate, 'Editor', 'FirstBlogPost', true),
- array($somePastDate, 'Contributor', 'FirstBlogPost', false),
- array($somePastDate, 'BlogEditor', 'FirstBlogPost', false),
- array($somePastDate, 'Writer', 'FirstBlogPost', false),
- );
+ [$somePastDate, 'Editor', 'FirstBlogPost', true],
+ [$somePastDate, 'Contributor', 'FirstBlogPost', false],
+ [$somePastDate, 'BlogEditor', 'FirstBlogPost', false],
+ [$somePastDate, 'Writer', 'FirstBlogPost', false],
+ ];
}
public function testCandidateAuthors()
diff --git a/tests/BlogTagTest.php b/tests/BlogTagTest.php
index fd3f03c..237572b 100755
--- a/tests/BlogTagTest.php
+++ b/tests/BlogTagTest.php
@@ -10,6 +10,7 @@ use SilverStripe\Dev\FunctionalTest;
use SilverStripe\ORM\FieldType\DBDatetime;
use SilverStripe\ORM\ValidationException;
use SilverStripe\Security\Member;
+use SilverStripe\Security\Security;
/**
* @mixin PHPUnit_Framework_TestCase
@@ -48,10 +49,10 @@ class BlogTagTest extends FunctionalTest
*/
public function testBlogPosts()
{
- $member = Member::currentUser();
+ $member = Security::getCurrentUser();
if ($member) {
- $member->logout();
+ Security::setCurrentUser(null);
}
$this->objFromFixture(BlogPost::class, 'FirstBlogPost');
diff --git a/tests/BlogTagsCloudWidgetTest.php b/tests/BlogTagsCloudWidgetTest.php
index 315706e..6a4290f 100644
--- a/tests/BlogTagsCloudWidgetTest.php
+++ b/tests/BlogTagsCloudWidgetTest.php
@@ -23,12 +23,12 @@ class BlogTagsCloudWidgetTest extends SapphireTest
$widget = new BlogTagsCloudWidget();
$fields = $widget->getCMSFields();
- $names = array();
+ $names = [];
foreach ($fields as $field) {
array_push($names, $field->getName());
}
- $expected = array('Title', 'Enabled', 'BlogID');
+ $expected = ['Title', 'Enabled', 'BlogID'];
$this->assertEquals($expected, $names);
}
diff --git a/tests/BlogTest.php b/tests/BlogTest.php
index 72a5cf0..a942267 100755
--- a/tests/BlogTest.php
+++ b/tests/BlogTest.php
@@ -16,6 +16,7 @@ use SilverStripe\ORM\DataModel;
use SilverStripe\ORM\FieldType\DBDatetime;
use SilverStripe\ORM\SS_List;
use SilverStripe\Security\Member;
+use SilverStripe\Security\Security;
/**
* @mixin PHPUnit_Framework_TestCase
@@ -58,10 +59,10 @@ class BlogTest extends SapphireTest
public function testGetExcludedSiteTreeClassNames()
{
- $member = Member::currentUser();
+ $member = Security::getCurrentUser();
if ($member) {
- $member->logout();
+ Security::setCurrentUser(null);
}
/**
@@ -82,10 +83,10 @@ class BlogTest extends SapphireTest
public function testGetArchivedBlogPosts()
{
- $member = Member::currentUser();
+ $member = Security::getCurrentUser();
if ($member) {
- $member->logout();
+ Security::setCurrentUser(null);
}
/**
@@ -324,7 +325,7 @@ class BlogTest extends SapphireTest
// Request first tag
$this->requestURL($controller, 'first-post/tag/first-tag');
$this->assertIDsEquals(
- array($firstPostID, $firstFuturePostID, $secondFuturePostID),
+ [$firstPostID, $firstFuturePostID, $secondFuturePostID],
$controller->PaginatedList()
);
}
@@ -342,7 +343,7 @@ class BlogTest extends SapphireTest
// Request 2013 posts
$this->requestURL($controller, 'first-post/archive/2013');
$this->assertIDsEquals(
- array($firstPostID, $secondPostID, $secondFuturePostID),
+ [$firstPostID, $secondPostID, $secondFuturePostID],
$controller->PaginatedList()
);
}