diff --git a/lib/navigationlib.php b/lib/navigationlib.php index ebc3d7b613e..13feb3bbc0d 100644 --- a/lib/navigationlib.php +++ b/lib/navigationlib.php @@ -1483,9 +1483,7 @@ class global_navigation extends navigation_node { } // Give the local plugins a chance to include some navigation if they want. - foreach (get_plugin_list_with_function('local', 'extend_navigation') as $function) { - $function($this); - } + $this->load_local_plugin_navigation(); // Remove any empty root nodes foreach ($this->rootnodes as $node) { @@ -1517,6 +1515,15 @@ class global_navigation extends navigation_node { return true; } + /** + * This function gives local plugins an opportunity to modify navigation. + */ + protected function load_local_plugin_navigation() { + foreach (get_plugin_list_with_function('local', 'extend_navigation') as $function) { + $function($this); + } + } + /** * Returns true if the current user is a parent of the user being currently viewed. * @@ -3261,6 +3268,9 @@ class global_navigation_for_ajax extends global_navigation { $this->load_for_user(null, true); } + // Give the local plugins a chance to include some navigation if they want. + $this->load_local_plugin_navigation(); + $this->find_expandable($this->expandable); return $this->expandable; }