From c08e277ba0df3b3fb54249b4806a254c9f0d3d20 Mon Sep 17 00:00:00 2001 From: Sam Minnee Date: Wed, 13 Oct 2010 00:56:27 +0000 Subject: [PATCH] BUGFIX #5245 Sometimes page records will have a NULL ParentID value, it should be a number even if it's 0 (thanks wrossiter!) (from r101657) git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112014 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- core/model/SiteTree.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/model/SiteTree.php b/core/model/SiteTree.php index 118fb0ce5..e96761757 100755 --- a/core/model/SiteTree.php +++ b/core/model/SiteTree.php @@ -1339,10 +1339,11 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid protected function onBeforeWrite() { parent::onBeforeWrite(); - + // If Sort hasn't been set, make this page come after it's siblings - if(!$this->Sort && $this->ParentID) { - $this->Sort = DB::query("SELECT MAX(\"Sort\") + 1 FROM \"SiteTree\" WHERE \"ParentID\" = $this->ParentID")->value(); + if(!$this->Sort) { + $parentID = ($this->ParentID) ? $this->ParentID : 0; + $this->Sort = DB::query("SELECT MAX(\"Sort\") + 1 FROM \"SiteTree\" WHERE \"ParentID\" = $parentID")->value(); } // If there is no URLSegment set, generate one from Title