[ticket/12775] Use the config.php handler in \phpbb\config_php

PHPBB3-12775
This commit is contained in:
Tristan Darricau 2014-06-27 20:08:26 +02:00
parent b9995405cf
commit 01c25d3d6b
2 changed files with 19 additions and 30 deletions

View file

@ -42,13 +42,6 @@ class container_factory
*/ */
protected $installed_exts = null; protected $installed_exts = null;
/**
* The content of the php config file
*
* @var array
*/
protected $config_data = array();
/** /**
* Indicates if the php config file should be injecting into the container (default to true). * Indicates if the php config file should be injecting into the container (default to true).
* *
@ -142,8 +135,7 @@ class container_factory
if ($this->inject_config) if ($this->inject_config)
{ {
$this->config_data = $this->config_php_handler->load_config_file(); $container_extensions[] = new \phpbb\di\extension\config($this->config_php_handler);
$container_extensions[] = new \phpbb\di\extension\config($this->config_data);
} }
$this->container = $this->create_container($container_extensions); $this->container = $this->create_container($container_extensions);
@ -271,15 +263,14 @@ class container_factory
{ {
if ($this->dbal_connection === null) if ($this->dbal_connection === null)
{ {
$this->config_data = $this->config_php_handler->load_config_file(); $dbal_driver_class = phpbb_convert_30_dbms_to_31($this->config_php_handler->get('dbms'));
$dbal_driver_class = phpbb_convert_30_dbms_to_31($this->config_data['dbms']);
$this->dbal_connection = new $dbal_driver_class(); $this->dbal_connection = new $dbal_driver_class();
$this->dbal_connection->sql_connect( $this->dbal_connection->sql_connect(
$this->config_data['dbhost'], $this->config_php_handler->get('dbhost'),
$this->config_data['dbuser'], $this->config_php_handler->get('dbuser'),
$this->config_data['dbpasswd'], $this->config_php_handler->get('dbpasswd'),
$this->config_data['dbname'], $this->config_php_handler->get('dbname'),
$this->config_data['dbport'], $this->config_php_handler->get('dbport'),
defined('PHPBB_DB_NEW_LINK') && PHPBB_DB_NEW_LINK defined('PHPBB_DB_NEW_LINK') && PHPBB_DB_NEW_LINK
); );
} }
@ -295,7 +286,7 @@ class container_factory
protected function get_installed_extensions() protected function get_installed_extensions()
{ {
$db = $this->get_dbal_connection(); $db = $this->get_dbal_connection();
$extension_table = $this->config_data['table_prefix'] . 'ext'; $extension_table = $this->config_php_handler->get('table_prefix') . 'ext';
$sql = 'SELECT * $sql = 'SELECT *
FROM ' . $extension_table . ' FROM ' . $extension_table . '

View file

@ -22,11 +22,11 @@ use Symfony\Component\HttpKernel\DependencyInjection\Extension;
class config extends Extension class config extends Extension
{ {
/** @var array */ /** @var array */
protected $config_file_data; protected $config_php;
public function __construct($config_file_data) public function __construct(\phpbb\config_php $config_php)
{ {
$this->config_file_data = $config_file_data; $this->config_php = $config_php;
} }
/** /**
@ -39,17 +39,15 @@ class config extends Extension
*/ */
public function load(array $config, ContainerBuilder $container) public function load(array $config, ContainerBuilder $container)
{ {
extract($this->config_file_data);
$container->setParameter('core.adm_relative_path', (isset($phpbb_adm_relative_path) ? $phpbb_adm_relative_path : 'adm/')); $container->setParameter('core.adm_relative_path', (isset($phpbb_adm_relative_path) ? $phpbb_adm_relative_path : 'adm/'));
$container->setParameter('core.table_prefix', $table_prefix); $container->setParameter('core.table_prefix', $this->config_php->get('table_prefix'));
$container->setParameter('cache.driver.class', $this->convert_30_acm_type($acm_type)); $container->setParameter('cache.driver.class', $this->convert_30_acm_type($this->config_php->get('acm_type')));
$container->setParameter('dbal.driver.class', phpbb_convert_30_dbms_to_31($dbms)); $container->setParameter('dbal.driver.class', phpbb_convert_30_dbms_to_31($this->config_php->get('dbms')));
$container->setParameter('dbal.dbhost', $dbhost); $container->setParameter('dbal.dbhost', $this->config_php->get('dbhost'));
$container->setParameter('dbal.dbuser', $dbuser); $container->setParameter('dbal.dbuser', $this->config_php->get('dbuser'));
$container->setParameter('dbal.dbpasswd', $dbpasswd); $container->setParameter('dbal.dbpasswd', $this->config_php->get('dbpasswd'));
$container->setParameter('dbal.dbname', $dbname); $container->setParameter('dbal.dbname', $this->config_php->get('dbname'));
$container->setParameter('dbal.dbport', $dbport); $container->setParameter('dbal.dbport', $this->config_php->get('dbport'));
$container->setParameter('dbal.new_link', defined('PHPBB_DB_NEW_LINK') && PHPBB_DB_NEW_LINK); $container->setParameter('dbal.new_link', defined('PHPBB_DB_NEW_LINK') && PHPBB_DB_NEW_LINK);
} }