[ 'secret' => 'secret', 'locale' => 'en', 'database_host' => '', 'database_port' => null, 'database_name' => '', 'database_user' => '', 'database_password' => '', 'database_prefix' => 'ps_', 'api_private_key' => null, 'api_public_key' => null, 'cookie_key' => '', 'new_cookie_key' => null, 'ps_cache_enable' => null, 'ps_caching' => null, ], ]; } if (!array_key_exists('parameters', $parameters)) { throw new Exception('Missing "parameters" key in "parameters.php" configuration file'); } if (!defined('_PS_IN_TEST_') && isset($_SERVER['argv'])) { $input = new Symfony\Component\Console\Input\ArgvInput(); $env = $input->getParameterOption(['--env', '-e'], getenv('SYMFONY_ENV') ?: 'dev'); if ($env === 'test') { define('_PS_IN_TEST_', 1); } } if (isset($container) && $container instanceof Symfony\Component\DependencyInjection\Container) { foreach ($parameters['parameters'] as $key => $value) { $container->setParameter($key, $value); } $driver = 'array'; $cacheType = [ 'CacheMemcached' => ['memcached'], 'CacheApc' => ['apcu'], ]; $adapters = [ 'array' => 'cache.adapter.array', 'memcached' => 'cache.adapter.memcached', 'apcu' => 'cache.adapter.apcu', ]; if (isset( $parameters['parameters']['ps_cache_enable'], $parameters['parameters']['ps_caching'], $cacheType[$parameters['parameters']['ps_caching']] ) && true === $parameters['parameters']['ps_cache_enable'] ) { foreach ($cacheType[$parameters['parameters']['ps_caching']] as $type) { if (extension_loaded($type)) { $driver = $type; break; } } } $container->setParameter('cache.driver', $driver); $container->setParameter('cache.adapter', $adapters[$driver]); // Parameter used only in dev and test env $envParameter = getenv('DISABLE_DEBUG_TOOLBAR'); if (!isset($parameters['parameters']['use_debug_toolbar']) || false !== $envParameter) { $container->setParameter('use_debug_toolbar', !$envParameter); } }