Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge branch 'wip-MDL-28040-m21' of git://github.com/samhemelryk/mood…

…le into MOODLE_21_STABLE
  • Loading branch information...
commit 8fa38242d06d24645e38d1c000266e39f5acb18b 2 parents aa3097d + 3274dc1
@skodak skodak authored
Showing with 8 additions and 4 deletions.
  1. +8 −4 lib/navigationlib.php
View
12 lib/navigationlib.php
@@ -1406,7 +1406,7 @@ protected function load_all_categories($categoryid = null, $showbasecategories =
$coursestoload = array();
if (empty($categoryid)) { // can be 0
// We are going to load all of the first level categories (categories without parents)
- $categories = $DB->get_records('course_categories', array('parent'=>'0'), 'sortorder');
+ $categories = $DB->get_records('course_categories', array('parent'=>'0'), 'sortorder ASC, id ASC');
} else if (array_key_exists($categoryid, $this->addedcategories)) {
// The category itself has been loaded already so we just need to ensure its subcategories
// have been loaded
@@ -1417,13 +1417,13 @@ protected function load_all_categories($categoryid = null, $showbasecategories =
FROM {course_categories} cc
WHERE (parent = :categoryid OR parent = 0) AND
parent {$sql}
- ORDER BY sortorder";
+ ORDER BY depth DESC, sortorder ASC, id ASC";
} else {
$sql = "SELECT *
FROM {course_categories} cc
WHERE parent = :categoryid AND
parent {$sql}
- ORDER BY sortorder";
+ ORDER BY depth DESC, sortorder ASC, id ASC";
}
$params['categoryid'] = $categoryid;
$categories = $DB->get_records_sql($sql, $params);
@@ -1462,7 +1462,11 @@ protected function load_all_categories($categoryid = null, $showbasecategories =
if (!array_key_exists($catid, $this->addedcategories)) {
// This category isn't in the navigation yet so add it.
$subcategory = $categories[$catid];
- if (array_key_exists($subcategory->parent, $this->addedcategories)) {
+ if ($subcategory->parent == '0') {
+ // Yay we have a root category - this likely means we will now be able
+ // to add categories without problems.
+ $this->add_category($subcategory, $this->rootnodes['courses']);
+ } else if (array_key_exists($subcategory->parent, $this->addedcategories)) {
// The parent is in the category (as we'd expect) so add it now.
$this->add_category($subcategory, $this->addedcategories[$subcategory->parent]);
// Remove the category from the categories array.
Please sign in to comment.
Something went wrong with that request. Please try again.