aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/di/extension/tables.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/phpbb/di/extension/tables.php')
-rw-r--r--phpBB/phpbb/di/extension/tables.php29
1 files changed, 15 insertions, 14 deletions
diff --git a/phpBB/phpbb/di/extension/tables.php b/phpBB/phpbb/di/extension/tables.php
index ff545750b7..40684b6038 100644
--- a/phpBB/phpbb/di/extension/tables.php
+++ b/phpBB/phpbb/di/extension/tables.php
@@ -22,26 +22,27 @@ use Symfony\Component\HttpKernel\DependencyInjection\Extension;
class tables extends Extension
{
/**
- * Loads a specific configuration.
- *
- * @param array $configs An array of configuration values
- * @param ContainerBuilder $container A ContainerBuilder instance
- *
- * @throws \InvalidArgumentException When provided tag is not defined in this extension
+ * {@inheritDoc}
*/
public function load(array $configs, ContainerBuilder $container)
{
- if (!$container->hasParameter('tables'))
- {
- return;
- }
+ // Tables is a reserved parameter and will be overwritten at all times
+ $tables = [];
- $tables = $container->getParameter('tables');
-
- foreach ($tables as $table_name => $table_value)
+ // Add access via 'tables' parameter to acquire array with all tables
+ $parameterBag = $container->getParameterBag();
+ $parameters = $parameterBag->all();
+ foreach ($parameters as $parameter_name => $parameter_value)
{
- $container->setParameter('tables.' . $table_name, $table_value);
+ if (!preg_match('/tables\.(.+)/', $parameter_name, $matches))
+ {
+ continue;
+ }
+
+ $tables[$matches[1]] = $parameter_value;
}
+
+ $container->setParameter('tables', $tables);
}
/**