|
This patch completely reworks pluginutils to:
- reduce the number of file accesses to enumerate and load plugins
- change the way disabled plugins are recorded.
a disabled plugin will now have ".disabled" added to its directory name
(this halves the number of file accesses required to enumerate installed plugins)
- place the guts of pluginutils code inside a class, Doku_Plugin_Controller,
the existing access routines are preserved and no changes are required.
- add two globals, $plugin_controller_class & $plugin_controller
this allows preload.php to define its own plugin controller class
- update config plugin to support new plugin structure
config plugin now issues a PLUGIN_CONFIG_PLUGINLIST event before it
finalizes the list of plugins it will be working with. Handlers of this
event can remove plugins from the list.
- update plugin manager plugin to support new plugin structure
plugin manager now issues a PLUGIN_PLUGINMANAGER_PLUGINLIST event similarly
to config plugin.
- plugin manager updated to redirect after changes to plugins and to use msg()
Finally, this patch contains a one-shot action plugin which will automatically
convert a plugins directory from the old style disabled file to the new style.
Note for darcs users, the new disabled format will mean a couple of old oneshot
plugins, importoldchangelog and importoldindex, will have their directory names
changed, which could lead to darcs wanting to record the change.
darcs-hash:20090118190143-f07c6-d2e79af546a49a4af5817dd0c5cc27066e67c4d0.gz
|