diff --git a/.travis.yml b/.travis.yml index 8b11be3..ba042b1 100755 --- a/.travis.yml +++ b/.travis.yml @@ -9,13 +9,13 @@ env: matrix: include: - php: 5.6 - env: DB=MYSQL PHPCS_TEST=1 PHPUNIT_TEST=1 + env: DB=MYSQL INSTALLER_VERSION=4.0.x-dev PHPCS_TEST=1 PHPUNIT_TEST=1 - php: 7.0 - env: DB=PGSQL PHPUNIT_TEST=1 + env: DB=PGSQL INSTALLER_VERSION=4.1.x-dev PHPUNIT_TEST=1 - php: 7.1 - env: DB=MYSQL PHPUNIT_COVERAGE_TEST=1 + env: DB=MYSQL INSTALLER_VERSION=4.2.x-dev PHPUNIT_COVERAGE_TEST=1 - php: 7.2 - env: DB=MYSQL PHPUNIT_TEST=1 + env: DB=MYSQL INSTALLER_VERSION=4.x-dev PHPUNIT_TEST=1 before_script: # Init PHP @@ -25,7 +25,7 @@ before_script: # Install composer dependencies - composer validate - - composer require --no-update silverstripe/installer:4.0.x-dev silverstripe/widgets:2.x-dev + - composer require --no-update silverstripe/installer:$INSTALLER_VERSION silverstripe/widgets:2.x-dev - if [[ $DB == PGSQL ]]; then composer require --no-update silverstripe/postgresql:2.0.x-dev; fi - composer install --prefer-dist --no-interaction --no-progress --no-suggest --optimize-autoloader --verbose --profile diff --git a/src/Admin/GridFieldCategorisationConfig.php b/src/Admin/GridFieldCategorisationConfig.php index 2e22a15..05d36d9 100644 --- a/src/Admin/GridFieldCategorisationConfig.php +++ b/src/Admin/GridFieldCategorisationConfig.php @@ -4,8 +4,10 @@ namespace SilverStripe\Blog\Admin; use SilverStripe\Blog\Forms\GridField\GridFieldAddByDBField; use SilverStripe\Blog\Model\CategorisationObject; +use SilverStripe\Forms\GridField\GridFieldAddNewButton; use SilverStripe\Forms\GridField\GridFieldConfig_RecordEditor; use SilverStripe\Forms\GridField\GridFieldDataColumns; +use SilverStripe\ORM\SS_List; class GridFieldCategorisationConfig extends GridFieldConfig_RecordEditor { @@ -20,7 +22,7 @@ class GridFieldCategorisationConfig extends GridFieldConfig_RecordEditor { parent::__construct($itemsPerPage); - $this->removeComponentsByType('SilverStripe\\Forms\\GridField\\GridFieldAddNewButton'); + $this->removeComponentsByType(GridFieldAddNewButton::class); $this->addComponent( GridFieldAddByDBField::create('buttons-before-left') @@ -33,7 +35,7 @@ class GridFieldCategorisationConfig extends GridFieldConfig_RecordEditor /** * @var GridFieldDataColumns $columns */ - $columns = $this->getComponentByType('SilverStripe\\Forms\\GridField\\GridFieldDataColumns'); + $columns = $this->getComponentByType(GridFieldDataColumns::class); $columns->setFieldFormatting( [ @@ -54,7 +56,7 @@ class GridFieldCategorisationConfig extends GridFieldConfig_RecordEditor /** * @var GridFieldDataColumns $columns */ - $columns = $this->getComponentByType('SilverStripe\\Forms\\GridField\\GridFieldDataColumns'); + $columns = $this->getComponentByType(GridFieldDataColumns::class); $columns->setDisplayFields( [ diff --git a/src/Forms/GridField/GridFieldAddByDBField.php b/src/Forms/GridField/GridFieldAddByDBField.php index d22ff58..6c4e73b 100644 --- a/src/Forms/GridField/GridFieldAddByDBField.php +++ b/src/Forms/GridField/GridFieldAddByDBField.php @@ -3,6 +3,7 @@ namespace SilverStripe\Blog\Forms\GridField; use SilverStripe\Control\Controller; +use SilverStripe\Control\HTTPResponse; use SilverStripe\Core\Convert; use SilverStripe\Core\Injector\Injectable; use SilverStripe\Forms\GridField\GridField; @@ -11,6 +12,8 @@ use SilverStripe\Forms\GridField\GridField_FormAction; use SilverStripe\Forms\GridField\GridField_HTMLProvider; use SilverStripe\Forms\TextField; use SilverStripe\ORM\ArrayList; +use SilverStripe\ORM\DataList; +use SilverStripe\ORM\DataObject; use SilverStripe\Security\Security; use SilverStripe\View\ArrayData; use SilverStripe\View\Requirements; @@ -69,7 +72,7 @@ class GridFieldAddByDBField implements GridField_ActionProvider, GridField_HTMLP * @param $arguments mixed * @param $data array * - * @return null|SS_HTTPResponse + * @return null|HTTPResponse * * @throws UnexpectedValueException */ @@ -154,7 +157,7 @@ class GridFieldAddByDBField implements GridField_ActionProvider, GridField_HTMLP * * @param $gridField GridField * - * @return string + * @return string[] */ public function getHTMLFragments($gridField) { @@ -170,7 +173,7 @@ class GridFieldAddByDBField implements GridField_ActionProvider, GridField_HTMLP $obj = singleton($dataClass); if (!$obj->canCreate()) { - return ''; + return []; } $dbField = $this->getDataObjectField(); diff --git a/src/Model/Blog.php b/src/Model/Blog.php index a3135e7..0ea3047 100644 --- a/src/Model/Blog.php +++ b/src/Model/Blog.php @@ -8,12 +8,16 @@ use SilverStripe\Blog\Forms\GridField\GridFieldConfigBlogPost; use SilverStripe\CMS\Controllers\RootURLController; use SilverStripe\Control\Controller; use SilverStripe\Core\Convert; +use SilverStripe\Forms\FieldList; use SilverStripe\Forms\GridField\GridField; +use SilverStripe\Forms\GridField\GridFieldConfig; use SilverStripe\Forms\ListboxField; use SilverStripe\Forms\LiteralField; use SilverStripe\Forms\NumericField; +use SilverStripe\ORM\DataList; use SilverStripe\ORM\DataObject; use SilverStripe\ORM\DB; +use SilverStripe\ORM\SS_List; use SilverStripe\ORM\UnsavedRelationList; use SilverStripe\Security\Group; use SilverStripe\Security\Member; @@ -443,11 +447,11 @@ class Blog extends Page implements PermissionProvider $list = Member::get(); $this->extend('updateCandidateUsers', $list); return $list; - } else { - return Permission::get_members_by_permission( - $this->config()->get('grant_user_permission') - ); } + + return Permission::get_members_by_permission( + $this->config()->get('grant_user_permission') + ); } /** diff --git a/src/Model/BlogFilter.php b/src/Model/BlogFilter.php index 3b91b06..ff771a5 100644 --- a/src/Model/BlogFilter.php +++ b/src/Model/BlogFilter.php @@ -108,7 +108,7 @@ class BlogFilter extends Lumberjack $tab = Tab::create('ChildPages', $this->getLumberjackTitle(), $gridField); - $fields->insertBefore($tab, 'Main'); + $fields->insertBefore('Main', $tab); } } } diff --git a/src/Model/BlogObject.php b/src/Model/BlogObject.php index dfc17ec..ba83d9a 100644 --- a/src/Model/BlogObject.php +++ b/src/Model/BlogObject.php @@ -8,6 +8,8 @@ use SilverStripe\Forms\Tab; use SilverStripe\Forms\TabSet; use SilverStripe\Forms\TextField; use SilverStripe\ORM\DataList; +use SilverStripe\ORM\ValidationResult; +use SilverStripe\Security\Member; use SilverStripe\Security\Permission; use SilverStripe\View\Parsers\URLSegmentFilter; diff --git a/src/Model/BlogPost.php b/src/Model/BlogPost.php index 0b17b0c..ec5d8cd 100644 --- a/src/Model/BlogPost.php +++ b/src/Model/BlogPost.php @@ -8,12 +8,15 @@ use SilverStripe\Assets\Image; use SilverStripe\Control\Controller; use SilverStripe\Core\Config\Config; use SilverStripe\Forms\DatetimeField; +use SilverStripe\Forms\FieldList; use SilverStripe\Forms\HTMLEditor\HTMLEditorField; use SilverStripe\Forms\ListboxField; use SilverStripe\Forms\TextField; use SilverStripe\Forms\ToggleCompositeField; use SilverStripe\ORM\ArrayList; use SilverStripe\ORM\FieldType\DBDatetime; +use SilverStripe\ORM\FieldType\DBHTMLText; +use SilverStripe\ORM\SS_List; use SilverStripe\ORM\UnsavedRelationList; use SilverStripe\Security\Group; use SilverStripe\Security\Member; @@ -224,7 +227,7 @@ class BlogPost extends Page /** * @var FieldList $fields */ - $fields->insertAfter($uploadField, 'Content'); + $fields->insertAfter('Content', $uploadField); $summary = HtmlEditorField::create('Summary', false); $summary->setRows(5); @@ -243,7 +246,7 @@ class BlogPost extends Page $summaryHolder->setHeadingLevel(4); $summaryHolder->addExtraClass('custom-summary'); - $fields->insertAfter($summaryHolder, 'FeaturedImage'); + $fields->insertAfter('FeaturedImage', $summaryHolder); $urlSegment = $fields->dataFieldByName('URLSegment'); $urlSegment->setURLPrefix($this->Parent()->RelativeLink()); @@ -605,7 +608,7 @@ class BlogPost extends Page */ public function Excerpt($wordsToDisplay = 30) { - /** @var HTMLText $content */ + /** @var DBHTMLText $content */ $content = $this->dbObject('Content'); return $content->Summary($wordsToDisplay); diff --git a/src/Model/BlogPostFilter.php b/src/Model/BlogPostFilter.php index 3900715..07cda60 100644 --- a/src/Model/BlogPostFilter.php +++ b/src/Model/BlogPostFilter.php @@ -23,7 +23,8 @@ class BlogPostFilter extends DataExtension /** * Augment queries so that we don't fetch unpublished articles. * - * @param SQLQuery $query + * @param SQLSelect $query + * @param DataQuery $query */ public function augmentSQL(SQLSelect $query, DataQuery $dataQuery = null) { diff --git a/src/Widgets/BlogArchiveWidget.php b/src/Widgets/BlogArchiveWidget.php index a318639..878450f 100644 --- a/src/Widgets/BlogArchiveWidget.php +++ b/src/Widgets/BlogArchiveWidget.php @@ -5,11 +5,13 @@ namespace SilverStripe\Blog\Widgets; use SilverStripe\Blog\Model\Blog; use SilverStripe\Control\Controller; use SilverStripe\Forms\DropdownField; +use SilverStripe\Forms\FieldList; use SilverStripe\Forms\NumericField; use SilverStripe\ORM\ArrayList; use SilverStripe\ORM\DB; use SilverStripe\ORM\FieldType\DBDate; use SilverStripe\ORM\FieldType\DBDatetime; +use SilverStripe\ORM\FieldType\DBEnum; use SilverStripe\ORM\Queries\SQLSelect; use SilverStripe\Versioned\Versioned; use SilverStripe\View\ArrayData; @@ -76,7 +78,7 @@ class BlogArchiveWidget extends Widget { $this->beforeUpdateCMSFields(function ($fields) { /** - * @var Enum $archiveType + * @var DBEnum $archiveType */ $archiveType = $this->dbObject('ArchiveType'); diff --git a/src/Widgets/BlogCategoriesWidget.php b/src/Widgets/BlogCategoriesWidget.php index dbd8d9e..215ddaf 100644 --- a/src/Widgets/BlogCategoriesWidget.php +++ b/src/Widgets/BlogCategoriesWidget.php @@ -2,10 +2,6 @@ namespace SilverStripe\Blog\Widgets; -if (!class_exists('\\SilverStripe\\Widgets\\Model\\Widget')) { - return; -} - use SilverStripe\Blog\Model\Blog; use SilverStripe\Core\Convert; use SilverStripe\Forms\DropdownField; @@ -14,6 +10,10 @@ use SilverStripe\Forms\NumericField; use SilverStripe\ORM\DataList; use SilverStripe\Widgets\Model\Widget; +if (!class_exists(Widget::class)) { + return; +} + /** * @method Blog Blog() */ diff --git a/src/Widgets/BlogRecentPostsWidget.php b/src/Widgets/BlogRecentPostsWidget.php index b53dd92..b5c23c4 100644 --- a/src/Widgets/BlogRecentPostsWidget.php +++ b/src/Widgets/BlogRecentPostsWidget.php @@ -2,16 +2,17 @@ namespace SilverStripe\Blog\Widgets; -if (!class_exists('\\SilverStripe\\Widgets\\Model\\Widget')) { - return; -} - use SilverStripe\Blog\Model\Blog; use SilverStripe\Forms\DropdownField; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\NumericField; +use SilverStripe\ORM\DataList; use SilverStripe\Widgets\Model\Widget; +if (!class_exists(Widget::class)) { + return; +} + /** * @method Blog Blog() * @@ -72,7 +73,7 @@ class BlogRecentPostsWidget extends Widget } /** - * @return array + * @return array|DataList */ public function getPosts() { diff --git a/src/Widgets/BlogTagsCloudWidget.php b/src/Widgets/BlogTagsCloudWidget.php index 81885ab..4730e7e 100644 --- a/src/Widgets/BlogTagsCloudWidget.php +++ b/src/Widgets/BlogTagsCloudWidget.php @@ -2,10 +2,6 @@ namespace SilverStripe\Blog\Widgets; -if (!class_exists('\\SilverStripe\\Widgets\\Model\\Widget')) { - return; -} - use SilverStripe\Blog\Model\Blog; use SilverStripe\Core\Convert; use SilverStripe\Forms\DropdownField; @@ -14,6 +10,10 @@ use SilverStripe\ORM\DataObject; use SilverStripe\ORM\DB; use SilverStripe\Widgets\Model\Widget; +if (!class_exists(Widget::class)) { + return; +} + /** * @method Blog Blog() */ diff --git a/src/Widgets/BlogTagsWidget.php b/src/Widgets/BlogTagsWidget.php index 9994e62..cf178ea 100644 --- a/src/Widgets/BlogTagsWidget.php +++ b/src/Widgets/BlogTagsWidget.php @@ -2,17 +2,18 @@ namespace SilverStripe\Blog\Widgets; -if (!class_exists('\\SilverStripe\\Widgets\\Model\\Widget')) { - return; -} - use SilverStripe\Blog\Model\Blog; 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; +if (!class_exists(Widget::class)) { + return; +} + /** * @method Blog Blog() */ diff --git a/templates/SilverStripe/Blog/Model/Layout/Blog_profile.ss b/templates/SilverStripe/Blog/Model/Layout/Blog_profile.ss index 825128e..5bbca51 100644 --- a/templates/SilverStripe/Blog/Model/Layout/Blog_profile.ss +++ b/templates/SilverStripe/Blog/Model/Layout/Blog_profile.ss @@ -5,7 +5,7 @@ <% include SilverStripe\\Blog\\MemberDetails %> <% if $PaginatedList.Exists %> -