diff --git a/core/Plugin/Manager.php b/core/Plugin/Manager.php index 2e5e0c63f6cc89723266cdcec555fa02f09697e3..3ee9352941471e955c8d48e956a06b1a8afc8f5c 100644 --- a/core/Plugin/Manager.php +++ b/core/Plugin/Manager.php @@ -68,30 +68,45 @@ class Manager extends Singleton 'ExampleUI', 'ExampleVisualization', 'ExamplePluginTemplate', + ); + + protected $coreThemesDisabledByDefault = array( 'ExampleTheme', - 'LeftMenu' + 'LeftMenu', + 'Zeitgeist', ); public function getPluginsToLoadDuringTests() { $toLoad = array(); foreach($this->readPluginsDirectory() as $plugin) { + + // Load all default plugins $isPluginBundledWithCore = $this->isPluginBundledWithCore($plugin); + + // Load plugins from submodules $isPluginOfficiallySupported = $this->isPluginOfficialAndNotBundledWithCore($plugin); // Do not enable other Login plugins $isPluginOfficiallySupported = $isPluginOfficiallySupported && strpos($plugin, 'Login') === false; - if($isPluginBundledWithCore || $isPluginOfficiallySupported) { + $loadPlugin = $isPluginBundledWithCore || $isPluginOfficiallySupported; + + // Do not enable other Themes + $isThemeDisabled = in_array($plugin, $this->coreThemesDisabledByDefault); + $loadPlugin = $loadPlugin && !$isThemeDisabled; + + if($loadPlugin) { $toLoad[] = $plugin; } } return $toLoad; } + public function getCorePluginsDisabledByDefault() { - return $this->corePluginsDisabledByDefault; + return array_merge( $this->corePluginsDisabledByDefault, $this->coreThemesDisabledByDefault); } // If a plugin hooks onto at least an event starting with "Tracker.", we load the plugin during tracker @@ -384,10 +399,11 @@ class Manager extends Singleton { $plugins = $this->getLoadedPlugins(); - foreach ($plugins as $plugin) - if ($plugin->isTheme() && $plugin->getPluginName() == $themeName) + foreach ($plugins as $plugin) { + if ($plugin->isTheme() && $plugin->getPluginName() == $themeName) { return new Theme($plugin); - + } + } throw new \Exception('Theme not found : ' . $themeName); } diff --git a/plugins/MultiSites/MultiSites.php b/plugins/MultiSites/MultiSites.php index a1e4e027a0dbca056b185e6bdf9ec864478a2a63..17d876a25a15c01c18f1b8adc18a0b1f6d9f05a9 100644 --- a/plugins/MultiSites/MultiSites.php +++ b/plugins/MultiSites/MultiSites.php @@ -55,7 +55,7 @@ class MultiSites extends \Piwik\Plugin 'metrics' => $metadataMetrics, 'processedMetrics' => false, 'constantRowsCount' => false, - 'order' => 5 + 'order' => 4 ); $reports[] = array( diff --git a/tests/PHPUnit/Core/ReleaseCheckListTest.php b/tests/PHPUnit/Core/ReleaseCheckListTest.php index 85ffbef354a7681dc9e7c7e52d7e5d04d56ddcbf..9f756a0a6c7fa8e1eb349977bb9a5d81e8ec6749 100644 --- a/tests/PHPUnit/Core/ReleaseCheckListTest.php +++ b/tests/PHPUnit/Core/ReleaseCheckListTest.php @@ -194,7 +194,7 @@ class ReleaseCheckListTest extends PHPUnit_Framework_TestCase $disabled = in_array($pluginName, $manager->getCorePluginsDisabledByDefault()); $isGitSubmodule = Manager::getInstance()->isPluginOfficialAndNotBundledWithCore($pluginName); - $enabled = in_array($pluginName, $pluginsBundledWithPiwik) || $isGitSubmodule || $pluginName == $manager::DEFAULT_THEME; + $enabled = in_array($pluginName, $pluginsBundledWithPiwik) || $isGitSubmodule; $this->assertTrue( $enabled + $disabled === 1, "Plugin $pluginName should be either enabled (in global.ini.php) or disabled (in Piwik\\Plugin\\Manager)." diff --git a/tests/PHPUnit/Fixtures/OmniFixture.php b/tests/PHPUnit/Fixtures/OmniFixture.php index 0de85898310f28532ae56b4e50aff8d566b52e1c..36860e226e57cf23fccfbe6a32d3f77de5ffb31c 100644 --- a/tests/PHPUnit/Fixtures/OmniFixture.php +++ b/tests/PHPUnit/Fixtures/OmniFixture.php @@ -41,7 +41,7 @@ class Test_Piwik_Fixture_OmniFixture extends Fixture $fixture = new $className(); if (!property_exists($fixture, 'dateTime')) { continue; - } + } $fixture->dateTime = $this->adjustDateTime($fixture->dateTime, $date);