xref: /dokuwiki/inc/pluginutils.php (revision b080c3ddd9671fcd5a67865fe970ae0f8b5bdeed)
1<?php
2/**
3 * Utilities for handling plugins
4 *
5 * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
6 * @author     Andreas Gohr <andi@splitbrain.org>
7 */
8
9// plugin related constants
10if(!defined('DOKU_PLUGIN'))  define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
11
12$plugin_types = array('admin','syntax','action','renderer', 'helper');
13
14global $plugin_controller_class, $plugin_controller;
15if (empty($plugin_controller_class)) $plugin_controller_class = 'Doku_Plugin_Controller';
16
17$plugin_controller = new $plugin_controller_class();
18
19/**
20 * Original plugin functions, remain for backwards compatibility
21 */
22function plugin_list($type='',$all=false) {
23    global $plugin_controller;
24    return $plugin_controller->getList($type,$all);
25}
26function &plugin_load($type,$name,$new=false) {
27    global $plugin_controller;
28    return $plugin_controller->load($type,$name,$new);
29}
30function plugin_isdisabled($plugin) {
31    global $plugin_controller;
32    return $plugin_controller->isdisabled($plugin);
33}
34function plugin_enable($plugin) {
35    global $plugin_controller;
36    return $plugin_controller->enable($plugin);
37}
38function plugin_disable($plugin) {
39    global $plugin_controller;
40    return $plugin_controller->disable($plugin);
41}
42function plugin_directory($plugin) {
43    global $plugin_controller;
44    return $plugin_controller->get_directory($plugin);
45}
46
47