diff options
author | Luke Shumaker <LukeShu@sbcglobal.net> | 2010-11-20 22:02:31 -0500 |
---|---|---|
committer | Luke Shumaker <LukeShu@sbcglobal.net> | 2010-11-20 22:02:31 -0500 |
commit | 3a336843e1cdd340dd3630747b3e6265b6effa39 (patch) | |
tree | 77643c2438808bae2ac5f6f6742f548108044c5c /actions/pluginenable.php | |
parent | 0d4588e4b62ecd3ec22d2928dce5e036e3322b77 (diff) |
Add more robust (but backward-compatible) plugin config system.
util.php: add common_config_section($main), as a companion to common_config($main,sub)
statusnet.php:
* add public static getPlugins(), which returns array_merge(common_config('plugins','default'),common_config_section('plugin-list'))
* use self::getPlugins(), instead of common_config('plugins,'default')
* handle plugins that have a type other than "array" or "null" for parameters
pluginenable:
* use StatusNet::getPlugins() instead of common_config('plugins,'default')
* set $config['plugin-list'][$plugin_name] = 1
pluginsadminpanel: use StatusNet::getPlugins() instead of common_config('plugins,'default')
Diffstat (limited to 'actions/pluginenable.php')
-rw-r--r-- | actions/pluginenable.php | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/actions/pluginenable.php b/actions/pluginenable.php index 2dbb3e395..826874ae5 100644 --- a/actions/pluginenable.php +++ b/actions/pluginenable.php @@ -104,8 +104,8 @@ class PluginEnableAction extends Action } $this->plugin = $this->arg('plugin'); - $defaultPlugins = common_config('plugins', 'default'); - if (!array_key_exists($this->plugin, $defaultPlugins)) { + $pluginList = StatusNet::getPlugins(); + if (!array_key_exists($this->plugin, $pluginList)) { $this->clientError(_('No such plugin.')); return false; } @@ -127,6 +127,7 @@ class PluginEnableAction extends Action { $key = 'disable-' . $this->plugin; Config::save('plugins', $key, $this->overrideValue()); + Config::save('plugin-list', $this->plugin, 1); // @fixme this is a pretty common pattern and should be refactored down if ($this->boolean('ajax')) { |