diff options
Diffstat (limited to 'wiki/inc/pluginutils.php')
-rw-r--r-- | wiki/inc/pluginutils.php | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/wiki/inc/pluginutils.php b/wiki/inc/pluginutils.php deleted file mode 100644 index a395be4..0000000 --- a/wiki/inc/pluginutils.php +++ /dev/null @@ -1,136 +0,0 @@ -<?php -/** - * Utilities for handling plugins - * - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * @author Andreas Gohr <andi@splitbrain.org> - */ - -// plugin related constants -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -// note that only [a-z0-9]+ is officially supported, this is only to support plugins that don't follow these conventions, too -if(!defined('DOKU_PLUGIN_NAME_REGEX')) define('DOKU_PLUGIN_NAME_REGEX', '[a-zA-Z0-9\x7f-\xff]+'); - -/** - * 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_PluginInterface|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(); -} - - -/** - * Return the currently operating admin plugin or null - * if not on an admin plugin page - * - * @return Doku_Plugin_Admin - */ -function plugin_getRequestAdminPlugin(){ - static $admin_plugin = false; - global $ACT,$INPUT,$INFO; - - if ($admin_plugin === false) { - if (($ACT == 'admin') && ($page = $INPUT->str('page', '', true)) != '') { - $pluginlist = plugin_list('admin'); - if (in_array($page, $pluginlist)) { - // attempt to load the plugin - /** @var $admin_plugin DokuWiki_Admin_Plugin */ - $admin_plugin = plugin_load('admin', $page); - // verify - if ($admin_plugin && $admin_plugin->forAdminOnly() && !$INFO['isadmin']) { - $admin_plugin = null; - $INPUT->remove('page'); - msg('For admins only',-1); - } - } - } - } - - return $admin_plugin; -} |