From 6eb3da841dfa77b2b53c145749cdba23ced2fa6c Mon Sep 17 00:00:00 2001 From: Tim Price Date: Tue, 16 Dec 2014 11:45:10 +1100 Subject: [PATCH] MDL-48421 navigation: accounting for potential regression --- lib/navigationlib.php | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/navigationlib.php b/lib/navigationlib.php index 5adc4ff7ad9..6ba84f9869b 100644 --- a/lib/navigationlib.php +++ b/lib/navigationlib.php @@ -1632,13 +1632,15 @@ class global_navigation extends navigation_node { // have been loaded $addedcategories = $this->addedcategories; unset($addedcategories[$categoryid]); - list($sql, $params) = $DB->get_in_or_equal(array_keys($addedcategories), SQL_PARAMS_NAMED, 'parent', false); - if ($showbasecategories) { - // We need to include categories with parent = 0 as well - $sqlwhere .= " AND (cc.parent = :categoryid OR cc.parent = 0) AND cc.parent {$sql}"; - } else { - // All we need is categories that match the parent - $sqlwhere .= " AND cc.parent = :categoryid AND cc.parent {$sql}"; + if (count($addedcategories) > 0) { + list($sql, $params) = $DB->get_in_or_equal(array_keys($addedcategories), SQL_PARAMS_NAMED, 'parent', false); + if ($showbasecategories) { + // We need to include categories with parent = 0 as well + $sqlwhere .= " AND (cc.parent = :categoryid OR cc.parent = 0) AND cc.parent {$sql}"; + } else { + // All we need is categories that match the parent + $sqlwhere .= " AND cc.parent = :categoryid AND cc.parent {$sql}"; + } } $params['categoryid'] = $categoryid; } else {