diff options
author | mattpiwik <matthieu.aubry@gmail.com> | 2012-06-01 03:26:11 +0400 |
---|---|---|
committer | mattpiwik <matthieu.aubry@gmail.com> | 2012-06-01 03:26:11 +0400 |
commit | 5c488f12ad0681827271b35ba7dd2b041c4c4390 (patch) | |
tree | ef873d9a6f51ee089370b0b011014ed26283760e /core/PluginsManager.php | |
parent | 1a3941949f70911a70f9786635a935eb5ef44244 (diff) |
Fixes #3164 - Adding 2 new functios to allow piwik plugins to hook on enable / disable
it only takes to define the 2 functions in the plugin class activate() and/or deactivate()
git-svn-id: http://dev.piwik.org/svn/trunk@6427 59fd770c-687e-43c8-a1e3-f5a4ff64c105
Diffstat (limited to 'core/PluginsManager.php')
-rw-r--r-- | core/PluginsManager.php | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/core/PluginsManager.php b/core/PluginsManager.php index da1f555ea0..272e2b5481 100644 --- a/core/PluginsManager.php +++ b/core/PluginsManager.php @@ -133,6 +133,10 @@ class Piwik_PluginsManager { $plugins = $this->pluginsToLoad; $key = array_search($pluginName, $plugins); + + $plugin = $this->loadPlugin($pluginName); + $plugin->deactivate(); + if($key !== false) { unset($plugins[$key]); @@ -194,6 +198,8 @@ class Piwik_PluginsManager $this->installPluginIfNecessary($plugin); + $plugin->activate(); + // we add the plugin to the list of activated plugins if(!in_array($pluginName, $plugins)) { @@ -453,7 +459,8 @@ class Piwik_PluginsManager try{ $plugin->install(); } catch(Exception $e) { - throw new Piwik_PluginsManager_PluginException($plugin->getPluginName(), $e->getMessage()); } + throw new Piwik_PluginsManager_PluginException($plugin->getPluginName(), $e->getMessage()); + } } |