MDL-47434 format_topics: section 0 navigation tweak
authorSam Hemelryk <sam@moodle.com>
Mon, 10 Nov 2014 22:07:37 +0000 (11:07 +1300)
committerSam Hemelryk <sam@moodle.com>
Thu, 13 Nov 2014 22:40:17 +0000 (11:40 +1300)
Section 0 is now only shown in the navigation block if it contains
activities.
If there are no activities then the section is removed.
This mimicks the display on the course page.

course/format/topics/lib.php

index aa04378..f7e91bb 100644 (file)
@@ -143,6 +143,19 @@ class format_topics extends format_base {
 
         // check if there are callbacks to extend course navigation
         parent::extend_course_navigation($navigation, $node);
+
+        // We want to remove the general section if it is empty.
+        $modinfo = get_fast_modinfo($this->get_course());
+        $sections = $modinfo->get_sections();
+        if (!isset($sections[0])) {
+            // The general section is empty to find the navigation node for it we need to get its ID.
+            $section = $modinfo->get_section_info(0);
+            $generalsection = $node->get($section->id, navigation_node::TYPE_SECTION);
+            if ($generalsection) {
+                // We found the node - now remove it.
+                $generalsection->remove();
+            }
+        }
     }
 
     /**