From 3bf25681be6ec3763af2c06a001fc99a6bef38b8 Mon Sep 17 00:00:00 2001 From: bergice Date: Thu, 24 Sep 2020 19:27:52 +1200 Subject: [PATCH 1/4] Add docs to $enforce_strict_hierarchy --- code/Model/SiteTree.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/Model/SiteTree.php b/code/Model/SiteTree.php index d50688f3..4706e779 100755 --- a/code/Model/SiteTree.php +++ b/code/Model/SiteTree.php @@ -325,6 +325,8 @@ class SiteTree extends DataObject implements PermissionProvider, i18nEntityProvi private static $runCMSFieldsExtensions = true; /** + * Deleting this page also deletes all its children when set to true. + * * @config * @var boolean */ From 0fcda80f028c036f0c8be2b2e6954b3857727b32 Mon Sep 17 00:00:00 2001 From: Mojmir Fendek Date: Mon, 5 Oct 2020 16:17:52 +1300 Subject: [PATCH 2/4] BUG: URL segment filter correction for CMS page search. --- code/Controllers/CMSSiteTreeFilter.php | 9 ++++++++- tests/php/Controllers/CMSSiteTreeFilterTest.php | 11 +++++++++++ tests/php/Controllers/CMSSiteTreeFilterTest.yml | 3 +++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/code/Controllers/CMSSiteTreeFilter.php b/code/Controllers/CMSSiteTreeFilter.php index a23dc4a8..56ab9978 100644 --- a/code/Controllers/CMSSiteTreeFilter.php +++ b/code/Controllers/CMSSiteTreeFilter.php @@ -5,6 +5,7 @@ namespace SilverStripe\CMS\Controllers; use SilverStripe\Admin\LeftAndMain_SearchFilter; use SilverStripe\CMS\Model\SiteTree; use SilverStripe\Core\ClassInfo; +use SilverStripe\Core\Convert; use SilverStripe\Core\Injector\Injectable; use SilverStripe\Forms\DateField; use SilverStripe\ORM\DataList; @@ -203,13 +204,19 @@ abstract class CMSSiteTreeFilter implements LeftAndMain_SearchFilter switch ($name) { case 'Term': $query = $query->filterAny(array( - 'URLSegment:PartialMatch' => $val, + 'URLSegment:PartialMatch' => Convert::raw2url($val), 'Title:PartialMatch' => $val, 'MenuTitle:PartialMatch' => $val, 'Content:PartialMatch' => $val )); break; + case 'URLSegment': + $query = $query->filter([ + 'URLSegment:PartialMatch' => Convert::raw2url($val), + ]); + break; + case 'LastEditedFrom': $fromDate = new DateField(null, null, $val); $query = $query->filter("LastEdited:GreaterThanOrEqual", $fromDate->dataValue().' 00:00:00'); diff --git a/tests/php/Controllers/CMSSiteTreeFilterTest.php b/tests/php/Controllers/CMSSiteTreeFilterTest.php index 2093de55..abb33880 100644 --- a/tests/php/Controllers/CMSSiteTreeFilterTest.php +++ b/tests/php/Controllers/CMSSiteTreeFilterTest.php @@ -47,6 +47,17 @@ class CMSSiteTreeFilterTest extends SapphireTest ); } + public function testUrlSegmentFilter() + { + $page = $this->objFromFixture(Page::class, 'page8'); + + $filter = CMSSiteTreeFilter_Search::create(['Term' => 'lake-wanaka+adventure']); + $this->assertTrue($filter->isPageIncluded($page)); + + $filter = CMSSiteTreeFilter_Search::create(['URLSegment' => 'lake-wanaka+adventure']); + $this->assertTrue($filter->isPageIncluded($page)); + } + public function testIncludesParentsForNestedMatches() { $parent = $this->objFromFixture('Page', 'page3'); diff --git a/tests/php/Controllers/CMSSiteTreeFilterTest.yml b/tests/php/Controllers/CMSSiteTreeFilterTest.yml index 7e23ae16..c90e520a 100644 --- a/tests/php/Controllers/CMSSiteTreeFilterTest.yml +++ b/tests/php/Controllers/CMSSiteTreeFilterTest.yml @@ -29,3 +29,6 @@ Page: page3b: Parent: =>Page.page3 Title: Page 3b + page8: + Title: EncodedUrlSegment + URLSegment: lake-wanaka+adventure From 73460f9ee0014acf0817e737197de7df899ecf3c Mon Sep 17 00:00:00 2001 From: brynwhyman Date: Tue, 13 Oct 2020 09:38:03 +1300 Subject: [PATCH 3/4] FIX remove old syntax from meta tag label --- code/Model/SiteTree.php | 2 +- lang/en.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/Model/SiteTree.php b/code/Model/SiteTree.php index 0762421d..d1800135 100755 --- a/code/Model/SiteTree.php +++ b/code/Model/SiteTree.php @@ -2083,7 +2083,7 @@ class SiteTree extends DataObject implements PermissionProvider, i18nEntityProvi ->setRightTitle( _t( 'SilverStripe\\CMS\\Model\\SiteTree.METAEXTRAHELP', - "HTML tags for additional meta information. For example " + "HTML tags for additional meta information. For example " ) ) ->addExtraClass('help'); diff --git a/lang/en.yml b/lang/en.yml index c17dc178..d21fb9a7 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -215,7 +215,7 @@ en: METADESC: 'Meta Description' METADESCHELP: 'Search engines use this content for displaying search results (although it will not influence their ranking).' METAEXTRA: 'Custom Meta Tags' - METAEXTRAHELP: 'HTML tags for additional meta information. For example ' + METAEXTRAHELP: 'HTML tags for additional meta information. For example ' MODIFIEDONDRAFTHELP: 'Page has unpublished changes' MODIFIEDONDRAFTSHORT: Modified MetadataToggle: Metadata From f9c26cefa36ac4a78353c910831c120f6fa5a96e Mon Sep 17 00:00:00 2001 From: Maxime Rainville Date: Thu, 22 Oct 2020 11:52:02 +1300 Subject: [PATCH 4/4] BUG Fix parsing error on CMSSiteTreeFilter --- code/Controllers/CMSSiteTreeFilter.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/Controllers/CMSSiteTreeFilter.php b/code/Controllers/CMSSiteTreeFilter.php index 9ea46e16..92e73c2a 100644 --- a/code/Controllers/CMSSiteTreeFilter.php +++ b/code/Controllers/CMSSiteTreeFilter.php @@ -203,7 +203,7 @@ abstract class CMSSiteTreeFilter implements LeftAndMain_SearchFilter switch ($name) { case 'Term': - $query = $query->filterAny(array( + $query = $query->filterAny([ 'URLSegment:PartialMatch' => Convert::raw2url($val), 'Title:PartialMatch' => $val, 'MenuTitle:PartialMatch' => $val,