From f843dd56dc4a09bf961244b05957c49cd5757391 Mon Sep 17 00:00:00 2001 From: Andrew O'Neil Date: Tue, 4 Sep 2012 14:51:14 +1200 Subject: [PATCH] BUGFIX: Fix site tree filter not showing parents of results more than a level deep in the hierachy --- code/controllers/CMSSiteTreeFilter.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/controllers/CMSSiteTreeFilter.php b/code/controllers/CMSSiteTreeFilter.php index 3b311a2a..25067baa 100644 --- a/code/controllers/CMSSiteTreeFilter.php +++ b/code/controllers/CMSSiteTreeFilter.php @@ -71,13 +71,15 @@ abstract class CMSSiteTreeFilter extends Object { $parents[$pageArr['ParentID']] = true; $this->_cache_ids[$pageArr['ID']] = true; } - - if(!empty($parents)) { + + while(!empty($parents)) { $q = new SQLQuery(); $q->setSelect(array('"ID"','"ParentID"')) ->setFrom('"SiteTree"') ->setWhere('"ID" in ('.implode(',',array_keys($parents)).')'); + $parents = array(); + foreach($q->execute() as $row) { if ($row['ParentID']) $parents[$row['ParentID']] = true; $this->_cache_ids[$row['ID']] = true;