aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/includes/di/extension/config.php28
1 files changed, 22 insertions, 6 deletions
diff --git a/phpBB/includes/di/extension/config.php b/phpBB/includes/di/extension/config.php
index 5b2df93ff2..85ab7ab28d 100644
--- a/phpBB/includes/di/extension/config.php
+++ b/phpBB/includes/di/extension/config.php
@@ -43,8 +43,8 @@ class phpbb_di_extension_config extends Extension
require($this->config_file);
$container->setParameter('core.table_prefix', $table_prefix);
- $container->setParameter('cache.driver.class', $this->fix_acm_type($acm_type));
- $container->setParameter('dbal.driver.class', 'phpbb_db_driver_'.$dbms);
+ $container->setParameter('cache.driver.class', $this->convert_30_acm_type($acm_type));
+ $container->setParameter('dbal.driver.class', $this->convert_30_dbms($dbms));
$container->setParameter('dbal.dbhost', $dbhost);
$container->setParameter('dbal.dbuser', $dbuser);
$container->setParameter('dbal.dbpasswd', $dbpasswd);
@@ -66,12 +66,12 @@ class phpbb_di_extension_config extends Extension
}
/**
- * Convert old (3.0) values to 3.1 class names
+ * Convert 3.0 ACM type to 3.1 cache driver class name
*
- * @param style $acm_type ACM type
- * @return ACM type class
+ * @param string $acm_type ACM type
+ * @return cache driver class
*/
- protected function fix_acm_type($acm_type)
+ protected function convert_30_acm_type($acm_type)
{
if (preg_match('#^[a-z]+$#', $acm_type))
{
@@ -80,4 +80,20 @@ class phpbb_di_extension_config extends Extension
return $acm_type;
}
+
+ /**
+ * Convert 3.0 dbms to 3.1 db driver class name
+ *
+ * @param string $dbms dbms parameter
+ * @return db driver class
+ */
+ protected function convert_30_dbms($dbms)
+ {
+ if (!preg_match('#^phpbb_db_driver_#', $dbms))
+ {
+ return 'phpbb_db_driver_'.$dbms;
+ }
+
+ return $dbms;
+ }
}