diff --git a/admin/settings/plugins.php b/admin/settings/plugins.php index 42ab58d29c9..596176f12ad 100644 --- a/admin/settings/plugins.php +++ b/admin/settings/plugins.php @@ -402,6 +402,8 @@ if ($hassiteconfig) { $CFG->wwwroot . '/' . $CFG->admin . '/localplugins.php')); } +// extend settings for each local plugin. Note that their settings may be in any part of the +// settings tree and may be visible not only for administrators. We can not use $allplugins here foreach (get_plugin_list('local') as $plugin => $plugindir) { $settings_path = "$plugindir/settings.php"; if (file_exists($settings_path)) { diff --git a/lib/pluginlib.php b/lib/pluginlib.php index 910686c915c..6d120b4a1db 100644 --- a/lib/pluginlib.php +++ b/lib/pluginlib.php @@ -2709,14 +2709,6 @@ class plugininfo_local extends plugininfo_base { public function get_uninstall_url() { return new moodle_url('/admin/localplugins.php', array('delete' => $this->name, 'sesskey' => sesskey())); } - - public function get_settings_url() { - if (file_exists($this->full_path('settings.php'))) { - return new moodle_url('/admin/settings.php', array('section' => 'local_' . $this->name)); - } else { - return parent::get_settings_url(); - } - } } /**