MDL-35442 Add settings and uninstall link for local plugins
authorRuslan Kabalin <r.kabalin@lancaster.ac.uk>
Fri, 14 Sep 2012 08:33:02 +0000 (09:33 +0100)
committerRuslan Kabalin <r.kabalin@lancaster.ac.uk>
Tue, 18 Sep 2012 08:41:26 +0000 (09:41 +0100)
lib/pluginlib.php

index b1139eb..0b58179 100644 (file)
@@ -2519,3 +2519,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();
+        }
+    }
+}