Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Steur <thomas.steur@gmail.com>2013-10-22 23:36:00 +0400
committerThomas Steur <thomas.steur@gmail.com>2013-10-22 23:36:00 +0400
commit599ff6f0980eabcabec6cbece067bd3697e33264 (patch)
tree28d1363acf4c191956a0678d0462e4c8325835ed /core/Settings
parentf70afa24a0c619d93598c308325fc8c3b38a16b8 (diff)
refs #4126 plugins just have to create a settings.php, there is no longer a need to use a hook
Diffstat (limited to 'core/Settings')
-rw-r--r--core/Settings/Manager.php14
1 files changed, 8 insertions, 6 deletions
diff --git a/core/Settings/Manager.php b/core/Settings/Manager.php
index a79c672a38..7c9767edc6 100644
--- a/core/Settings/Manager.php
+++ b/core/Settings/Manager.php
@@ -30,14 +30,15 @@ class Manager
{
if (empty(static::$settings)) {
- $pluginSettings = array();
- // TODO: document hook and think about better name
+ $settings = array();
- Piwik::postEvent('Plugin.addSettings', array(&$pluginSettings));
+ $pluginNames = \Piwik\Plugin\Manager::getInstance()->getLoadedPluginsName();
+ foreach ($pluginNames as $pluginName) {
+ $klassName = 'Piwik\\Plugins\\' . $pluginName . '\\Settings';
- $settings = array();
- foreach ($pluginSettings as $pluginName => $pluginSetting) {
- $settings[$pluginName] = new $pluginSetting($pluginName);
+ if (class_exists($klassName) && is_subclass_of($klassName, 'Piwik\\Plugin\\Settings')) {
+ $settings[$pluginName] = new $klassName($pluginName);
+ }
}
static::$settings = $settings;
@@ -62,4 +63,5 @@ class Manager
return false;
}
+
}