Skip to content
Extraits de code Groupes Projets
Valider aff138ab rédigé par diosmosis's avatar diosmosis
Parcourir les fichiers

Allow only a single EnvironmentManipulator instance to be specified in Environment.php.

parent cc9ee9f6
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -41,9 +41,9 @@ class Environment ...@@ -41,9 +41,9 @@ class Environment
{ {
/** /**
* @internal * @internal
* @var EnvironmentManipulator[] * @var EnvironmentManipulator
*/ */
private static $globalEnvironmentManipulators = array(); private static $globalEnvironmentManipulator = null;
/** /**
* @var string * @var string
...@@ -175,43 +175,40 @@ class Environment ...@@ -175,43 +175,40 @@ class Environment
* @param EnvironmentManipulator $manipulator * @param EnvironmentManipulator $manipulator
* @internal * @internal
*/ */
public static function addEnvironmentManipulator(EnvironmentManipulator $manipulator) public static function setGlobalEnvironmentManipulator(EnvironmentManipulator $manipulator)
{ {
self::$globalEnvironmentManipulators[] = $manipulator; self::$globalEnvironmentManipulator = $manipulator;
} }
private function getGlobalSettingsProviderOverride() private function getGlobalSettingsProviderOverride()
{ {
foreach (self::$globalEnvironmentManipulators as $manipulator) { if (self::$globalEnvironmentManipulator) {
$result = $manipulator->makeGlobalSettingsProvider(); return self::$globalEnvironmentManipulator->makeGlobalSettingsProvider();
if (!empty($result)) { } else {
return $result; return null;
}
} }
return null;
} }
private function invokeBeforeContainerCreatedHook() private function invokeBeforeContainerCreatedHook()
{ {
foreach (self::$globalEnvironmentManipulators as $manipulator) { if (self::$globalEnvironmentManipulator) {
$manipulator->beforeContainerCreated(); return self::$globalEnvironmentManipulator->beforeContainerCreated();
} }
} }
private function getExtraDefinitionsFromManipulators() private function getExtraDefinitionsFromManipulators()
{ {
$result = array(); if (self::$globalEnvironmentManipulator) {
foreach (self::$globalEnvironmentManipulators as $manipulator) { return self::$globalEnvironmentManipulator->getExtraDefinitions();
$result = array_merge($result, $manipulator->getExtraDefinitions()); } else {
return array();
} }
return $result;
} }
private function invokeEnvironmentBootstrappedHook() private function invokeEnvironmentBootstrappedHook()
{ {
foreach (self::$globalEnvironmentManipulators as $manipulator) { if (self::$globalEnvironmentManipulator) {
$manipulator->onEnvironmentBootstrapped(); self::$globalEnvironmentManipulator->onEnvironmentBootstrapped();
} }
} }
} }
...@@ -37,7 +37,7 @@ $testmode = in_array('--testmode', $_SERVER['argv']); ...@@ -37,7 +37,7 @@ $testmode = in_array('--testmode', $_SERVER['argv']);
if ($testmode) { if ($testmode) {
define('PIWIK_TEST_MODE', true); define('PIWIK_TEST_MODE', true);
Environment::addEnvironmentManipulator(new TestingEnvironmentManipulator(new TestingEnvironmentVariables())); Environment::setGlobalEnvironmentManipulator(new TestingEnvironmentManipulator(new TestingEnvironmentVariables()));
} }
function getPiwikDomain() function getPiwikDomain()
......
...@@ -7,7 +7,7 @@ define('PIWIK_ARCHIVE_NO_TRUNCATE', true); ...@@ -7,7 +7,7 @@ define('PIWIK_ARCHIVE_NO_TRUNCATE', true);
require realpath(dirname(__FILE__)) . "/includes.php"; require realpath(dirname(__FILE__)) . "/includes.php";
Environment::addEnvironmentManipulator(new TestingEnvironmentManipulator(new TestingEnvironmentVariables())); Environment::setGlobalEnvironmentManipulator(new TestingEnvironmentManipulator(new TestingEnvironmentVariables()));
// include archive.php, and let 'er rip // include archive.php, and let 'er rip
require_once PIWIK_INCLUDE_PATH . "/misc/cron/archive.php"; require_once PIWIK_INCLUDE_PATH . "/misc/cron/archive.php";
...@@ -6,6 +6,6 @@ use Piwik\Tests\Framework\TestingEnvironmentVariables; ...@@ -6,6 +6,6 @@ use Piwik\Tests\Framework\TestingEnvironmentVariables;
require realpath(dirname(__FILE__)) . "/includes.php"; require realpath(dirname(__FILE__)) . "/includes.php";
Environment::addEnvironmentManipulator(new TestingEnvironmentManipulator(new TestingEnvironmentVariables())); Environment::setGlobalEnvironmentManipulator(new TestingEnvironmentManipulator(new TestingEnvironmentVariables()));
require_once PIWIK_INCLUDE_PATH . "/console"; require_once PIWIK_INCLUDE_PATH . "/console";
...@@ -10,6 +10,6 @@ use Piwik\Tests\Framework\TestingEnvironmentVariables; ...@@ -10,6 +10,6 @@ use Piwik\Tests\Framework\TestingEnvironmentVariables;
require realpath(dirname(__FILE__)) . "/includes.php"; require realpath(dirname(__FILE__)) . "/includes.php";
Environment::addEnvironmentManipulator(new TestingEnvironmentManipulator(new TestingEnvironmentVariables())); Environment::setGlobalEnvironmentManipulator(new TestingEnvironmentManipulator(new TestingEnvironmentVariables()));
include PIWIK_INCLUDE_PATH . '/index.php'; include PIWIK_INCLUDE_PATH . '/index.php';
\ No newline at end of file
...@@ -32,7 +32,7 @@ try { ...@@ -32,7 +32,7 @@ try {
}) })
); );
Environment::addEnvironmentManipulator(new TestingEnvironmentManipulator(new TestingEnvironmentVariables(), $globalObservers)); Environment::setGlobalEnvironmentManipulator(new TestingEnvironmentManipulator(new TestingEnvironmentVariables(), $globalObservers));
GeoIp::$geoIPDatabaseDir = 'tests/lib/geoip-files'; GeoIp::$geoIPDatabaseDir = 'tests/lib/geoip-files';
......
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