mirror of
https://github.com/phpbb/phpbb.git
synced 2025-01-29 12:43:15 +01:00
Merge branch 'ticket/14957' into ticket/14957-rhea
This commit is contained in:
commit
072bf470fc
@ -5,9 +5,7 @@ services:
|
||||
- '@service_container'
|
||||
|
||||
dbal.conn.driver:
|
||||
class: '%dbal.driver.class%'
|
||||
calls:
|
||||
- [sql_connect, ['%dbal.dbhost%', '%dbal.dbuser%', '%dbal.dbpasswd%', '%dbal.dbname%', '%dbal.dbport%', false, '%dbal.new_link%']]
|
||||
synthetic: true
|
||||
|
||||
# ----- DB Tools -----
|
||||
dbal.tools.factory:
|
||||
|
@ -50,6 +50,11 @@ class container_builder
|
||||
*/
|
||||
protected $container;
|
||||
|
||||
/**
|
||||
* @var \phpbb\db\driver\driver_interface
|
||||
*/
|
||||
protected $dbal_connection = null;
|
||||
|
||||
/**
|
||||
* Indicates whether extensions should be used (default to true).
|
||||
*
|
||||
@ -197,6 +202,8 @@ class container_builder
|
||||
$this->container->set('config.php', $this->config_php_file);
|
||||
}
|
||||
|
||||
$this->inject_dbal_driver();
|
||||
|
||||
return $this->container;
|
||||
}
|
||||
catch (\Exception $e)
|
||||
@ -511,7 +518,32 @@ class container_builder
|
||||
{
|
||||
$this->container->setParameter($key, $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Inject the dbal connection driver into container
|
||||
*/
|
||||
protected function inject_dbal_driver()
|
||||
{
|
||||
if (!empty($this->config_php_file) && !empty($this->config_php_file->get_all()))
|
||||
{
|
||||
if ($this->dbal_connection === null)
|
||||
{
|
||||
$dbal_driver_class = $this->config_php_file->convert_30_dbms_to_31($this->config_php_file->get('dbms'));
|
||||
/** @var \phpbb\db\driver\driver_interface $dbal_connection */
|
||||
$this->dbal_connection = new $dbal_driver_class();
|
||||
$this->dbal_connection->sql_connect(
|
||||
$this->config_php_file->get('dbhost'),
|
||||
$this->config_php_file->get('dbuser'),
|
||||
$this->config_php_file->get('dbpasswd'),
|
||||
$this->config_php_file->get('dbname'),
|
||||
$this->config_php_file->get('dbport'),
|
||||
false,
|
||||
defined('PHPBB_DB_NEW_LINK') && PHPBB_DB_NEW_LINK
|
||||
);
|
||||
}
|
||||
$this->container->set('dbal.conn.driver', $this->dbal_connection);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -43,12 +43,6 @@ class config extends Extension
|
||||
'core.adm_relative_path' => $this->config_php->get('phpbb_adm_relative_path') ? $this->config_php->get('phpbb_adm_relative_path') : 'adm/',
|
||||
'core.table_prefix' => $this->config_php->get('table_prefix'),
|
||||
'cache.driver.class' => $this->convert_30_acm_type($this->config_php->get('acm_type')),
|
||||
'dbal.driver.class' => $this->config_php->convert_30_dbms_to_31($this->config_php->get('dbms')),
|
||||
'dbal.dbhost' => $this->config_php->get('dbhost'),
|
||||
'dbal.dbuser' => $this->config_php->get('dbuser'),
|
||||
'dbal.dbpasswd' => $this->config_php->get('dbpasswd'),
|
||||
'dbal.dbname' => $this->config_php->get('dbname'),
|
||||
'dbal.dbport' => $this->config_php->get('dbport'),
|
||||
'dbal.new_link' => defined('PHPBB_DB_NEW_LINK') && PHPBB_DB_NEW_LINK,
|
||||
);
|
||||
$parameter_bag = $container->getParameterBag();
|
||||
|
@ -46,6 +46,7 @@ namespace
|
||||
{
|
||||
$container = $this->builder->get_container();
|
||||
$this->assertInstanceOf('Symfony\Component\DependencyInjection\ContainerBuilder', $container);
|
||||
$this->assertFalse($container->hasParameter('container_exception'));
|
||||
|
||||
// Checks the core services
|
||||
$this->assertTrue($container->hasParameter('core'));
|
||||
@ -54,7 +55,7 @@ namespace
|
||||
$this->assertTrue($container->isFrozen());
|
||||
|
||||
// Checks inject_config
|
||||
$this->assertTrue($container->hasParameter('dbal.dbhost'));
|
||||
$this->assertTrue($container->hasParameter('core.table_prefix'));
|
||||
|
||||
// Checks use_extensions
|
||||
$this->assertTrue($container->hasParameter('enabled'));
|
||||
|
@ -10,6 +10,9 @@ services:
|
||||
arguments:
|
||||
- '@service_container'
|
||||
|
||||
dbal.conn.driver:
|
||||
synthetic: true
|
||||
|
||||
dispatcher:
|
||||
class: phpbb\db\driver\container_mock
|
||||
|
||||
|
@ -10,6 +10,9 @@ services:
|
||||
arguments:
|
||||
- '@service_container'
|
||||
|
||||
dbal.conn.driver:
|
||||
synthetic: true
|
||||
|
||||
dispatcher:
|
||||
class: phpbb\db\driver\container_mock
|
||||
|
||||
|
@ -10,6 +10,9 @@ services:
|
||||
arguments:
|
||||
- '@service_container'
|
||||
|
||||
dbal.conn.driver:
|
||||
synthetic: true
|
||||
|
||||
dispatcher:
|
||||
class: phpbb\db\driver\container_mock
|
||||
|
||||
|
@ -10,6 +10,9 @@ services:
|
||||
arguments:
|
||||
- '@service_container'
|
||||
|
||||
dbal.conn.driver:
|
||||
synthetic: true
|
||||
|
||||
dispatcher:
|
||||
class: phpbb\db\driver\container_mock
|
||||
|
||||
|
@ -27,4 +27,12 @@ class phpbb_mock_phpbb_di_container_builder extends \phpbb\di\container_builder
|
||||
{
|
||||
return $this->phpbb_root_path . '../../tmp/autoload.' . $this->php_ext;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function inject_dbal_driver()
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user