MDL-51576 navigation: stop course nav duplication
authorRyan Wyllie <ryan@moodle.com>
Tue, 13 Oct 2015 01:46:25 +0000 (01:46 +0000)
committerRyan Wyllie <ryan@moodle.com>
Tue, 13 Oct 2015 01:46:25 +0000 (01:46 +0000)
The course navigation was getting duplicate nodes because
it was loading the nav tree plugin functions twice. Once
specifically for the reports and then a second time more generally.

The code will now explicitly skip loading the report plugin
functions on the second load.

lib/navigationlib.php

index cf1596d..d1c4b70 100644 (file)
@@ -3928,6 +3928,10 @@ class settings_navigation extends navigation_node {
         // Let plugins hook into course navigation.
         $pluginsfunction = get_plugins_with_function('extend_navigation_course', 'lib.php');
         foreach ($pluginsfunction as $plugintype => $plugins) {
+            // Ignore the report plugin as it was already loaded above.
+            if ($plugintype == 'report') {
+                continue;
+            }
             foreach ($plugins as $pluginfunction) {
                 $pluginfunction($coursenode, $course, $coursecontext);
             }