Skip to content
Extraits de code Groupes Projets
Valider 53a62982 rédigé par mattab's avatar mattab
Parcourir les fichiers

During tests, we shall load plugins that are in the .gitmodule file (official...

During tests, we shall load plugins that are in the .gitmodule file (official plugins found in marketplace),
as well as loading those that are in the global.ini.php (official plugins bundled in piwik).
parent 9742718f
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -25,8 +25,8 @@ ...@@ -25,8 +25,8 @@
[submodule "plugins/TasksTimetable"] [submodule "plugins/TasksTimetable"]
path = plugins/TasksTimetable path = plugins/TasksTimetable
url = https://github.com/piwik/plugin-TasksTimetable.git url = https://github.com/piwik/plugin-TasksTimetable.git
branch = master branch = master
[submodule "plugins/LoginHttpAuth"] [submodule "plugins/LoginHttpAuth"]
path = plugins/LoginHttpAuth path = plugins/LoginHttpAuth
url = https://github.com/piwik/plugin-LoginHttpAuth.git url = https://github.com/piwik/plugin-LoginHttpAuth.git
branch = master branch = master
...@@ -16,9 +16,9 @@ use Piwik\Filesystem; ...@@ -16,9 +16,9 @@ use Piwik\Filesystem;
use Piwik\Option; use Piwik\Option;
use Piwik\Plugin; use Piwik\Plugin;
use Piwik\Singleton; use Piwik\Singleton;
use Piwik\Theme;
use Piwik\Translate; use Piwik\Translate;
use Piwik\Updater; use Piwik\Updater;
use Piwik\Theme;
require_once PIWIK_INCLUDE_PATH . '/core/EventDispatcher.php'; require_once PIWIK_INCLUDE_PATH . '/core/EventDispatcher.php';
...@@ -72,12 +72,17 @@ class Manager extends Singleton ...@@ -72,12 +72,17 @@ class Manager extends Singleton
'LeftMenu' 'LeftMenu'
); );
public static function getPluginsToLoadDuringTests() public function getPluginsToLoadDuringTests()
{ {
$manager = \Piwik\Plugin\Manager::getInstance();
$toLoad = array(); $toLoad = array();
foreach($manager->readPluginsDirectory() as $plugin) { foreach($this->readPluginsDirectory() as $plugin) {
if($manager->isPluginBundledWithCore($plugin)) { $isPluginBundledWithCore = $this->isPluginBundledWithCore($plugin);
$isPluginOfficiallySupported = $this->isPluginOfficialAndNotBundledWithCore($plugin);
// Do not enable other Login plugins
$isPluginOfficiallySupported = $isPluginOfficiallySupported && strpos($plugin, 'Login') === false;
if($isPluginBundledWithCore || $isPluginOfficiallySupported) {
$toLoad[] = $plugin; $toLoad[] = $plugin;
} }
} }
...@@ -92,6 +97,19 @@ class Manager extends Singleton ...@@ -92,6 +97,19 @@ class Manager extends Singleton
// If a plugin hooks onto at least an event starting with "Tracker.", we load the plugin during tracker // If a plugin hooks onto at least an event starting with "Tracker.", we load the plugin during tracker
const TRACKER_EVENT_PREFIX = 'Tracker.'; const TRACKER_EVENT_PREFIX = 'Tracker.';
/**
* @param $pluginName
* @return bool
*/
public function isPluginOfficialAndNotBundledWithCore($pluginName)
{
static $gitModules;
if(empty($gitModules)) {
$gitModules = file_get_contents(PIWIK_INCLUDE_PATH . '/.gitmodules');
}
return false !== strpos($gitModules, "plugins/" . $pluginName);
}
/** /**
* Update Plugins config * Update Plugins config
* *
......
...@@ -39,7 +39,8 @@ class Session extends Zend_Session ...@@ -39,7 +39,8 @@ class Session extends Zend_Session
*/ */
public static function start($options = false) public static function start($options = false)
{ {
if (self::$sessionStarted if (headers_sent()
|| self::$sessionStarted
|| (defined('PIWIK_ENABLE_SESSION_START') && !PIWIK_ENABLE_SESSION_START) || (defined('PIWIK_ENABLE_SESSION_START') && !PIWIK_ENABLE_SESSION_START)
) { ) {
return; return;
......
<?php <?php
use Piwik\Filesystem; use Piwik\Filesystem;
use Piwik\Plugin\Manager;
use Piwik\SettingsServer; use Piwik\SettingsServer;
/** /**
...@@ -192,7 +193,7 @@ class ReleaseCheckListTest extends PHPUnit_Framework_TestCase ...@@ -192,7 +193,7 @@ class ReleaseCheckListTest extends PHPUnit_Framework_TestCase
$manager = \Piwik\Plugin\Manager::getInstance(); $manager = \Piwik\Plugin\Manager::getInstance();
$disabled = in_array($pluginName, $manager->getCorePluginsDisabledByDefault()); $disabled = in_array($pluginName, $manager->getCorePluginsDisabledByDefault());
$isGitSubmodule = false !== strpos( file_get_contents(PIWIK_INCLUDE_PATH . '/.gitmodules'), "plugins/" . $pluginName); $isGitSubmodule = Manager::getInstance()->isPluginOfficialAndNotBundledWithCore($pluginName);
$enabled = in_array($pluginName, $pluginsBundledWithPiwik) || $isGitSubmodule || $pluginName == $manager::DEFAULT_THEME; $enabled = in_array($pluginName, $pluginsBundledWithPiwik) || $isGitSubmodule || $pluginName == $manager::DEFAULT_THEME;
$this->assertTrue( $enabled + $disabled === 1, $this->assertTrue( $enabled + $disabled === 1,
...@@ -302,4 +303,6 @@ class ReleaseCheckListTest extends PHPUnit_Framework_TestCase ...@@ -302,4 +303,6 @@ class ReleaseCheckListTest extends PHPUnit_Framework_TestCase
$this->fail("$format format failed for following icons $icons \n"); $this->fail("$format format failed for following icons $icons \n");
} }
} }
} }
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter