From 5c1f0d1ff66df7ea4837f11da5c9561ad97dda20 Mon Sep 17 00:00:00 2001 From: Sam Hemelryk Date: Fri, 8 Jun 2012 09:52:51 +1200 Subject: [PATCH] MDL-33592 navigation: Added support for local_ prefix on navigation callback --- lib/navigationlib.php | 13 +++++++------ local/readme.txt | 5 +++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/navigationlib.php b/lib/navigationlib.php index 54ab6ccb4a7..58629dd4a1d 100644 --- a/lib/navigationlib.php +++ b/lib/navigationlib.php @@ -1423,14 +1423,15 @@ class global_navigation extends navigation_node { } // Give the local plugins a chance to include some navigation if they want. - foreach (get_list_of_plugins('local') as $plugin) { - if (!file_exists($CFG->dirroot.'/local/'.$plugin.'/lib.php')) { - continue; - } - require_once($CFG->dirroot.'/local/'.$plugin.'/lib.php'); - $function = $plugin.'_extends_navigation'; + foreach (get_plugin_list_with_file('local', 'lib.php', true) as $plugin => $file) { + $function = "local_{$plugin}_extends_navigation"; + $oldfunction = "{$plugin}_extends_navigation"; if (function_exists($function)) { + // This is the preferred function name as there is less chance of conflicts $function($this); + } else if (function_exists($oldfunction)) { + // We continue to support the old function name to ensure backwards compatability + $oldfunction($this); } } diff --git a/local/readme.txt b/local/readme.txt index b7ec6e3f788..f7c5f96d2c4 100644 --- a/local/readme.txt +++ b/local/readme.txt @@ -213,10 +213,11 @@ These two functions both need to be defined within /local/nicehack/lib.php. sample code