From 28e2c55641ecdde0c32571707372b0eebc648509 Mon Sep 17 00:00:00 2001 From: moodler Date: Wed, 4 Jul 2007 09:34:17 +0000 Subject: [PATCH] Added a Grades section to the Admin menu. It dynamically checks the plugins for settings.php files to define global settings. MDL-10210 --- admin/settings/courses.php | 4 -- admin/settings/grades.php | 73 ++++++++++++++++++++++++++++++++ admin/settings/top.php | 1 + grade/report/grader/settings.php | 7 +++ 4 files changed, 81 insertions(+), 4 deletions(-) create mode 100644 admin/settings/grades.php create mode 100644 grade/report/grader/settings.php diff --git a/admin/settings/courses.php b/admin/settings/courses.php index 7b75c29aad..c08e9eb171 100644 --- a/admin/settings/courses.php +++ b/admin/settings/courses.php @@ -47,9 +47,5 @@ $temp->add(new admin_setting_special_backuptime()); $temp->add(new admin_setting_special_backupsaveto()); $ADMIN->add('courses', $temp); -// new CFG variable for coursemanager (what roles to display) -$temp = new admin_settingpage('grades', get_string('grades')); -$temp->add(new admin_setting_special_gradeexport()); -$ADMIN->add('courses', $temp); ?> diff --git a/admin/settings/grades.php b/admin/settings/grades.php new file mode 100644 index 0000000000..e7b382600e --- /dev/null +++ b/admin/settings/grades.php @@ -0,0 +1,73 @@ +add(new admin_setting_special_gradeexport()); +$ADMIN->add('grades', $temp); + + +// The plugins must implement a settings.php file that adds their admin settings to the $settings object + +// Reports + +$first = true; +foreach (get_list_of_plugins('grade/report') as $plugin) { + // Include all the settings commands for this plugin if there are any + if (file_exists($CFG->dirroot.'/grade/report/'.$plugin.'/settings.php')) { + if ($first) { + $ADMIN->add('grades', new admin_category('gradereports', get_string('reports'))); + $first = false; + } + + $settings = new admin_settingpage('gradereport'.$plugin, get_string('modulename', 'gradereport_'.$plugin)); + + include_once($CFG->dirroot.'/grade/report/'.$plugin.'/settings.php'); + + $ADMIN->add('gradereports', $settings); + } +} + + +// Imports + +$first = true; +foreach (get_list_of_plugins('grade/import') as $plugin) { + // Include all the settings commands for this plugin if there are any + if (file_exists($CFG->dirroot.'/grade/import/'.$plugin.'/settings.php')) { + if ($first) { + $ADMIN->add('grades', new admin_category('gradeimports', get_string('imports'))); + $first = false; + } + + $settings = new admin_settingpage('gradeimport'.$plugin, get_string('modulename', 'gradeimport_'.$plugin)); + + include_once($CFG->dirroot.'/grade/import/'.$plugin.'/settings.php'); + + $ADMIN->add('gradeimports', $settings); + } +} + + +// Exports + +$first = true; +foreach (get_list_of_plugins('grade/export') as $plugin) { + // Include all the settings commands for this plugin if there are any + if (file_exists($CFG->dirroot.'/grade/export/'.$plugin.'/settings.php')) { + if ($first) { + $ADMIN->add('grades', new admin_category('gradeexports', get_string('exports'))); + $first = false; + } + + $settings = new admin_settingpage('gradeexport'.$plugin, get_string('modulename', 'gradeexport_'.$plugin)); + + include_once($CFG->dirroot.'/grade/export/'.$plugin.'/settings.php'); + + $ADMIN->add('gradeexports', $settings); + } +} + +?> diff --git a/admin/settings/top.php b/admin/settings/top.php index e538b68c31..315b79afb5 100644 --- a/admin/settings/top.php +++ b/admin/settings/top.php @@ -15,6 +15,7 @@ $ADMIN->add('root', new admin_externalpage('search', get_string('search', 'admin $ADMIN->add('root', new admin_category('users', get_string('users','admin'))); $ADMIN->add('root', new admin_category('courses', get_string('courses','admin'))); +$ADMIN->add('root', new admin_category('grades', get_string('grades'))); $ADMIN->add('root', new admin_category('location', get_string('location','admin'))); $ADMIN->add('root', new admin_category('language', get_string('language'))); diff --git a/grade/report/grader/settings.php b/grade/report/grader/settings.php new file mode 100644 index 0000000000..3563220749 --- /dev/null +++ b/grade/report/grader/settings.php @@ -0,0 +1,7 @@ +add(new admin_setting_configcheckbox('gradereport_grader_enableajax', 'Enable AJAX in gradebook', 'This setting will enable the AJAX interface in the gradebooks, depending on the site setting and the individual user profile choice.', 1)); + +?> -- 2.39.5