diff options
author | Chris Smith <chris.eureka@jalakai.co.uk> | 2009-02-11 15:35:20 +0100 |
---|---|---|
committer | Chris Smith <chris.eureka@jalakai.co.uk> | 2009-02-11 15:35:20 +0100 |
commit | e842bd07d5bcb07c236b970d1c91c8b101753b0e (patch) | |
tree | 6ffc968fdc606f5a00f7e288e65ed4e93febf9d8 /inc/plugincontroller.class.php | |
parent | 0e115661192c6534b69888fbf70096f5ec6d7fa9 (diff) | |
download | rpg-e842bd07d5bcb07c236b970d1c91c8b101753b0e.tar.gz rpg-e842bd07d5bcb07c236b970d1c91c8b101753b0e.tar.bz2 |
Fix for FS#1598 - allow a plugin to be a singleton if it so desires
DokuWiki typically instantiates a plugin once and reuses
that instance whenever the plugin is required. However on
some occasions DokuWiki will request a new instantiation of
a plugin. This particularly applies to render plugins. This
patch allows a plugin to force DokuWiki to reuse the existing
instance.
If a plugin wishes to only be instantiated once then it
should implement an "isSingleton()" method and that
method should return boolean true.
darcs-hash:20090211143520-f07c6-5c1a33dbed55f0b196a204745fe3139f3c7c0aa9.gz
Diffstat (limited to 'inc/plugincontroller.class.php')
-rw-r--r-- | inc/plugincontroller.class.php | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/inc/plugincontroller.class.php b/inc/plugincontroller.class.php index 670dcff5d..924a475e0 100644 --- a/inc/plugincontroller.class.php +++ b/inc/plugincontroller.class.php @@ -66,7 +66,7 @@ class Doku_Plugin_Controller { //plugin already loaded? if(!empty($DOKU_PLUGINS[$type][$name])){ - if ($new) { + if ($new && !$DOKU_PLUGINS[$type][$name]->isSingleton()) { $class = $type.'_plugin_'.$name; return class_exists($class) ? new $class : null; } else { |