mirror of
https://github.com/moodle/moodle.git
synced 2025-01-19 14:27:22 +01:00
68 lines
3.2 KiB
PHP
68 lines
3.2 KiB
PHP
<?php // $Id$
|
|
|
|
// This is the first file read by the lib/adminlib.php script
|
|
// We use it to create the categories in correct order,
|
|
// since they need to exist *before* settingpages and externalpages
|
|
// are added to them.
|
|
|
|
$systemcontext = get_context_instance(CONTEXT_SYSTEM);
|
|
if (get_site()) {
|
|
$hassiteconfig = has_capability('moodle/site:config', $systemcontext);
|
|
} else {
|
|
// installation starts - no permission checks
|
|
$hassiteconfig = true;
|
|
}
|
|
|
|
$ADMIN->add('root', new admin_externalpage('adminnotifications', get_string('notifications'), "$CFG->wwwroot/$CFG->admin/index.php"));
|
|
|
|
// hidden upgrade script
|
|
$ADMIN->add('root', new admin_externalpage('upgradesettings', get_string('upgradesettings', 'admin'), "$CFG->wwwroot/$CFG->admin/upgradesettings.php", 'moodle/site:config', true));
|
|
|
|
if ($hassiteconfig) {
|
|
$optionalsubsystems = new admin_settingpage('optionalsubsystems', get_string('optionalsubsystems', 'admin'));
|
|
$ADMIN->add('root', $optionalsubsystems);
|
|
}
|
|
|
|
$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')));
|
|
$ADMIN->add('root', new admin_category('modules', get_string('plugins', 'admin')));
|
|
$ADMIN->add('root', new admin_category('security', get_string('security','admin')));
|
|
$ADMIN->add('root', new admin_category('appearance', get_string('appearance','admin')));
|
|
$ADMIN->add('root', new admin_category('frontpage', get_string('frontpage','admin')));
|
|
$ADMIN->add('root', new admin_category('server', get_string('server','admin')));
|
|
|
|
$ADMIN->add('root', new admin_category('mnet', get_string('net','mnet'), (isset($CFG->mnet_dispatcher_mode) and $CFG->mnet_dispatcher_mode === 'off')));
|
|
|
|
$ADMIN->add('root', new admin_category('reports', get_string('reports')));
|
|
foreach (get_list_of_plugins($CFG->admin.'/report') as $plugin) {
|
|
$settingsfile = "$CFG->dirroot/$CFG->admin/report/$plugin/settings.php";
|
|
if (file_exists($settingsfile)) {
|
|
include($settingsfile);
|
|
} else {
|
|
$reportname = get_string($plugin, 'report_' . $plugin);
|
|
if ($reportname[1] == '[') {
|
|
$reportname = get_string($plugin, 'admin');
|
|
}
|
|
// ugly hack for special access control in reports
|
|
switch($plugin) {
|
|
case 'backups': $cap = 'moodle/site:backup'; break;
|
|
case 'stats': if (empty($CFG->enablestats)) {continue 2;};
|
|
default: $cap = 'moodle/site:viewreports';
|
|
}
|
|
$ADMIN->add('reports', new admin_externalpage('report'.$plugin, $reportname, "$CFG->wwwroot/$CFG->admin/report/$plugin/index.php",$cap));
|
|
}
|
|
}
|
|
|
|
$ADMIN->add('root', new admin_category('misc', get_string('miscellaneous')));
|
|
|
|
// hidden unsupported category
|
|
$ADMIN->add('root', new admin_category('unsupported', get_string('unsupported', 'admin'), true));
|
|
|
|
// hidden search script
|
|
$ADMIN->add('root', new admin_externalpage('search', get_string('searchresults'), "$CFG->wwwroot/$CFG->admin/search.php", 'moodle/site:config', true));
|
|
|
|
?>
|