diff --git a/admin/settings/plugins.php b/admin/settings/plugins.php index f5ea9e3fab2..9ed5af80aca 100644 --- a/admin/settings/plugins.php +++ b/admin/settings/plugins.php @@ -489,10 +489,9 @@ if ($hassiteconfig) { // Add Calendar type settings. if ($hassiteconfig) { $ADMIN->add('modules', new admin_category('calendartype', new lang_string('calendartypes', 'calendar'))); - foreach (core_component::get_plugin_list_with_file('calendartype', 'settings.php') as $plugin => $settingspath) { - $settings = new admin_settingpage('calendartype_' . $plugin . '_settings', new lang_string('pluginname', 'calendartype_' . $plugin), 'moodle/site:config'); - include($settingspath); - $ADMIN->add('calendartype', $settings); + foreach (core_plugin_manager::instance()->get_plugins_of_type('calendartype') as $plugin) { + /** @var \core\plugininfo\calendartype $plugin */ + $plugin->load_settings($ADMIN, 'calendartype', $hassiteconfig); } } diff --git a/lib/classes/plugininfo/calendartype.php b/lib/classes/plugininfo/calendartype.php index 5e81a570c07..9e999c2db04 100644 --- a/lib/classes/plugininfo/calendartype.php +++ b/lib/classes/plugininfo/calendartype.php @@ -23,6 +23,8 @@ */ namespace core\plugininfo; +use part_of_admin_tree, admin_settingpage; + defined('MOODLE_INTERNAL') || die(); /**