xref: /dokuwiki/inc/pluginutils.php (revision 062075650ff3aa2f63e63ee85f836f89438a1c28)
1ee20e7d1Sandi<?php
2ee20e7d1Sandi/**
3ee20e7d1Sandi * Utilities for handling plugins
4ee20e7d1Sandi *
5ee20e7d1Sandi * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
6ee20e7d1Sandi * @author     Andreas Gohr <andi@splitbrain.org>
7ee20e7d1Sandi */
8ee20e7d1Sandi
9087b3a7fSchris// plugin related constants
1003c4aec3Schrisif(!defined('DOKU_PLUGIN'))  define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
11*06207565SChris Smithrequire_once(DOKU_INC.'inc/plugincontroller.class.php');
1210e43949SChris Smith
137d992a19SEsther Brunner$plugin_types = array('admin','syntax','action','renderer', 'helper');
144b15e09dSAndreas Gohr
1510e43949SChris Smithglobal $plugin_controller_class, $plugin_controller;
1610e43949SChris Smithif (empty($plugin_controller_class)) $plugin_controller_class = 'Doku_Plugin_Controller';
1710e43949SChris Smith
1810e43949SChris Smith$plugin_controller = new $plugin_controller_class();
1910e43949SChris Smith
2010e43949SChris Smith/**
2110e43949SChris Smith * Original plugin functions, remain for backwards compatibility
2210e43949SChris Smith */
2310e43949SChris Smithfunction plugin_list($type='',$all=false) { global $plugin_controller; return $plugin_controller->getList($type,$all); }
2410e43949SChris Smithfunction &plugin_load($type,$name,$new=false) { global $plugin_controller; return $plugin_controller->load($type,$name,$new); }
2510e43949SChris Smithfunction plugin_isdisabled($plugin) { global $plugin_controller; return $plugin_controller->isdisabled($plugin); }
2610e43949SChris Smithfunction plugin_enable($plugin) { global $plugin_controller; return $plugin_controller->enable($plugin); }
2710e43949SChris Smithfunction plugin_disable($plugin) { global $plugin_controller; return $plugin_controller->disable($plugin); }
2810e43949SChris Smithfunction plugin_directory($plugin) { global $plugin_controller; return $plugin_controller->get_directory($plugin); }
2910e43949SChris Smith
30