summaryrefslogtreecommitdiff
path: root/inc/pluginutils.php
diff options
context:
space:
mode:
authorGerrit Uitslag <klapinklapin@gmail.com>2013-11-19 21:26:50 +0100
committerGerrit Uitslag <klapinklapin@gmail.com>2013-11-19 21:26:50 +0100
commit703aeaef1a43b07dc5497dba72c98151466396cc (patch)
tree1e18a6b3fc3c28156c2e56f8a3d515b8dd6a9cf9 /inc/pluginutils.php
parent33c3b3817b00aa9384760813643fac0e33daaaff (diff)
parent14b3007921f7b66fc9e3621b861a3c83e7e9093c (diff)
downloadrpg-703aeaef1a43b07dc5497dba72c98151466396cc.tar.gz
rpg-703aeaef1a43b07dc5497dba72c98151466396cc.tar.bz2
Merge remote-tracking branch 'origin/master' into diff_navigation
Diffstat (limited to 'inc/pluginutils.php')
-rw-r--r--inc/pluginutils.php61
1 files changed, 61 insertions, 0 deletions
diff --git a/inc/pluginutils.php b/inc/pluginutils.php
index 7c37d4f7f..894bbefb6 100644
--- a/inc/pluginutils.php
+++ b/inc/pluginutils.php
@@ -14,31 +14,92 @@ if(!defined('DOKU_PLUGIN_NAME_REGEX')) define('DOKU_PLUGIN_NAME_REGEX', '[a-zA-Z
/**
* Original plugin functions, remain for backwards compatibility
*/
+
+/**
+ * Return list of available plugins
+ *
+ * @param string $type type of plugins; empty string for all
+ * @param bool $all; true to retrieve all, false to retrieve only enabled plugins
+ * @return array with plugin names or plugin component names
+ */
function plugin_list($type='',$all=false) {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
return $plugin_controller->getList($type,$all);
}
+
+/**
+ * Returns plugin object
+ * Returns only new instances of a plugin when $new is true or if plugin is not Singleton,
+ * otherwise an already loaded instance.
+ *
+ * @param $type string type of plugin to load
+ * @param $name string name of the plugin to load
+ * @param $new bool true to return a new instance of the plugin, false to use an already loaded instance
+ * @param $disabled bool true to load even disabled plugins
+ * @return DokuWiki_Plugin|DokuWiki_Syntax_Plugin|null the plugin object or null on failure
+ */
function plugin_load($type,$name,$new=false,$disabled=false) {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
return $plugin_controller->load($type,$name,$new,$disabled);
}
+
+/**
+ * Whether plugin is disabled
+ *
+ * @param string $plugin name of plugin
+ * @return bool; true disabled, false enabled
+ */
function plugin_isdisabled($plugin) {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
return $plugin_controller->isdisabled($plugin);
}
+
+/**
+ * Enable the plugin
+ *
+ * @param string $plugin name of plugin
+ * @return bool; true saving succeed, false saving failed
+ */
function plugin_enable($plugin) {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
return $plugin_controller->enable($plugin);
}
+
+/**
+ * Disable the plugin
+ *
+ * @param string $plugin name of plugin
+ * @return bool; true saving succeed, false saving failed
+ */
function plugin_disable($plugin) {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
return $plugin_controller->disable($plugin);
}
+
+/**
+ * Returns directory name of plugin
+ *
+ * @param string $plugin name of plugin
+ * @return string name of directory
+ */
function plugin_directory($plugin) {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
return $plugin_controller->get_directory($plugin);
}
+
+/**
+ * Returns cascade of the config files
+ *
+ * @return array with arrays of plugin configs
+ */
function plugin_getcascade() {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
return $plugin_controller->getCascade();
}