diff --git a/lib/pluginlib.php b/lib/pluginlib.php index 0d412230a71..c3a5456297b 100644 --- a/lib/pluginlib.php +++ b/lib/pluginlib.php @@ -2525,3 +2525,22 @@ class plugininfo_report extends plugininfo_base { return new moodle_url('/admin/reports.php', array('delete' => $this->name, 'sesskey' => sesskey())); } } + + +/** + * Class for local plugins + */ +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(); + } + } +}