diff --git a/grade/lib.php b/grade/lib.php index b03820624f9..491d92e2a5c 100644 --- a/grade/lib.php +++ b/grade/lib.php @@ -887,6 +887,15 @@ function grade_get_plugin_info($courseid, $active_type, $active_plugin) { $plugin_info['export'] = $exports; } + // Let other plugins add plugins here so that we get extra tabs + // in the gradebook. + $callbacks = get_plugins_with_function('extend_gradebook_plugininfo', 'lib.php'); + foreach ($callbacks as $plugins) { + foreach ($plugins as $pluginfunction) { + $plugin_info = $pluginfunction($plugin_info, $courseid); + } + } + foreach ($plugin_info as $plugin_type => $plugins) { if (!empty($plugins->id) && $active_plugin == $plugins->id) { $plugin_info['strings']['active_plugin_str'] = $plugins->string; diff --git a/grade/upgrade.txt b/grade/upgrade.txt index cc49aa9967a..a6559d0eda6 100644 --- a/grade/upgrade.txt +++ b/grade/upgrade.txt @@ -1,6 +1,11 @@ This file describes API changes in /grade/* ; Information provided here is intended especially for developers. +=== 4.0 === + +* There is a new callback inside of grade_get_plugin_info called extend_gradebook_plugininfo + which allows for new tabs to be added to the gradebook. + === 3.7 === * The grade_cron() function has been removed. Please use grade_history_cleanup_task and grade_cron_task scheduled tasks instead.