MDL-29029 add new "Admin tool" plugin type
authorPetr Skoda <commits@skodak.org>
Sat, 17 Sep 2011 06:43:58 +0000 (08:43 +0200)
committerPetr Skoda <commits@skodak.org>
Sat, 17 Sep 2011 06:49:24 +0000 (08:49 +0200)
admin/settings/plugins.php
lang/en/plugin.php
lib/moodlelib.php
lib/pluginlib.php

index 0e86f80..d1016e3 100644 (file)
@@ -474,6 +474,13 @@ foreach (get_plugin_list('report') as $plugin => $plugindir) {
     $ADMIN->add('reports', new admin_externalpage('report'.$plugin, $reportname, $www_path, 'moodle/site:viewreports'));
 }
 
+// Now add various admin tools
+foreach (get_plugin_list('tool') as $plugin => $plugindir) {
+    $settings_path = "$plugindir/settings.php";
+    if (file_exists($settings_path)) {
+        include($settings_path);
+    }
+}
 
 /// Add all local plugins - must be always last!
 if ($hassiteconfig) {
index b9c0a16..2c82c4e 100644 (file)
@@ -98,6 +98,8 @@ $string['type_repository'] = 'Repository';
 $string['type_repository_plural'] = 'Repositories';
 $string['type_theme'] = 'Theme';
 $string['type_theme_plural'] = 'Themes';
+$string['type_tool'] = 'Admin tool';
+$string['type_tool_plural'] = 'Admin tools';
 $string['type_webservice'] = 'Webservice protocol';
 $string['type_webservice_plural'] = 'Webservice protocols';
 $string['uninstall'] = 'Uninstall';
index 52064ad..619f97a 100644 (file)
@@ -7294,7 +7294,9 @@ function get_plugin_types($fullpaths=true) {
                       'qbehaviour'    => 'question/behaviour',
                       'qformat'       => 'question/format',
                       'plagiarism'    => 'plagiarism',
-                      'theme'         => 'theme'); // this is a bit hacky, themes may be in $CFG->themedir too
+                      'tool'          => $CFG->admin.'/tool',
+                      'theme'         => 'theme',  // this is a bit hacky, themes may be in $CFG->themedir too
+        );
 
         $mods = get_plugin_list('mod');
         foreach ($mods as $mod => $moddir) {
index 80d6088..1d88d2f 100644 (file)
@@ -366,6 +366,9 @@ class plugin_manager {
                 'standardold'
             ),
 
+            'tool' => array(
+            ),
+
             'webservice' => array(
                 'amf', 'rest', 'soap', 'xmlrpc'
             ),