Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

MDL-33013 navigation: fixed expansion limit issue hiding nodes

  • Loading branch information...
commit 5defa8f05e8dbca8e5fbf9e6d334f3adafc590d6 1 parent 19075a2
Sam Hemelryk samhemelryk authored
Showing with 17 additions and 3 deletions.
  1. +17 −3 lib/navigationlib.php
20 lib/navigationlib.php
View
@@ -672,6 +672,20 @@ public function set_parent(navigation_node $parent) {
$this->parent->make_inactive();
}
}
+
+ /**
+ * Hides the node and any children it has.
+ *
+ * @since 2.4.2
+ */
+ public function hide() {
+ $this->display = false;
+ if ($this->has_children()) {
+ foreach ($this->children as $child) {
+ $child->hide();
+ }
+ }
+ }
}
/**
@@ -2561,18 +2575,18 @@ public function clear_cache() {
public function set_expansion_limit($type) {
global $SITE;
$nodes = $this->find_all_of_type($type);
- foreach ($nodes as &$node) {
+ foreach ($nodes as $node) {
// We need to generate the full site node
if ($type == self::TYPE_COURSE && $node->key == $SITE->id) {
continue;
}
- foreach ($node->children as &$child) {
+ foreach ($node->children as $child) {
// We still want to show course reports and participants containers
// or there will be navigation missing.
if ($type == self::TYPE_COURSE && $child->type === self::TYPE_CONTAINER) {
continue;
}
- $child->display = false;
+ $child->hide();
}
}
return true;
Please sign in to comment.
Something went wrong with that request. Please try again.