aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/config/default/container/tables.yml155
-rw-r--r--phpBB/phpbb/di/container_builder.php4
-rw-r--r--phpBB/phpbb/di/extension/tables.php29
3 files changed, 95 insertions, 93 deletions
diff --git a/phpBB/config/default/container/tables.yml b/phpBB/config/default/container/tables.yml
index eb1e3020a6..4aed35710b 100644
--- a/phpBB/config/default/container/tables.yml
+++ b/phpBB/config/default/container/tables.yml
@@ -1,79 +1,78 @@
parameters:
- tables:
- acl_groups: '%core.table_prefix%acl_groups'
- acl_options: '%core.table_prefix%acl_options'
- acl_roles: '%core.table_prefix%acl_roles'
- acl_roles_data: '%core.table_prefix%acl_roles_data'
- acl_users: '%core.table_prefix%acl_users'
- attachments: '%core.table_prefix%attachments'
- auth_provider_oauth_token_storage: '%core.table_prefix%oauth_tokens'
- auth_provider_oauth_states: '%core.table_prefix%oauth_states'
- auth_provider_oauth_account_assoc: '%core.table_prefix%oauth_accounts'
- banlist: '%core.table_prefix%banlist'
- bbcodes: '%core.table_prefix%bbcodes'
- bookmarks: '%core.table_prefix%bookmarks'
- bots: '%core.table_prefix%bots'
- captcha_qa_questions: '%core.table_prefix%captcha_questions'
- captcha_qa_answers: '%core.table_prefix%captcha_answers'
- captcha_qa_confirm: '%core.table_prefix%qa_confirm'
- config: '%core.table_prefix%config'
- config_text: '%core.table_prefix%config_text'
- confirm: '%core.table_prefix%confirm'
- disallow: '%core.table_prefix%disallow'
- drafts: '%core.table_prefix%drafts'
- ext: '%core.table_prefix%ext'
- extensions: '%core.table_prefix%extensions'
- extension_groups: '%core.table_prefix%extension_groups'
- forums: '%core.table_prefix%forums'
- forums_access: '%core.table_prefix%forums_access'
- forums_track: '%core.table_prefix%forums_track'
- forums_watch: '%core.table_prefix%forums_watch'
- groups: '%core.table_prefix%groups'
- icons: '%core.table_prefix%icons'
- lang: '%core.table_prefix%lang'
- log: '%core.table_prefix%log'
- login_attempts: '%core.table_prefix%login_attempts'
- migrations: '%core.table_prefix%migrations'
- moderator_cache: '%core.table_prefix%moderator_cache'
- modules: '%core.table_prefix%modules'
- notification_types: '%core.table_prefix%notification_types'
- notifications: '%core.table_prefix%notifications'
- poll_options: '%core.table_prefix%poll_options'
- poll_votes: '%core.table_prefix%poll_votes'
- posts: '%core.table_prefix%posts'
- privmsgs: '%core.table_prefix%privmsgs'
- privmsgs_folder: '%core.table_prefix%privmsgs_folder'
- privmsgs_rules: '%core.table_prefix%privmsgs_rules'
- privmsgs_to: '%core.table_prefix%privmsgs_to'
- profile_fields: '%core.table_prefix%profile_fields'
- profile_fields_data: '%core.table_prefix%profile_fields_data'
- profile_fields_options_language: '%core.table_prefix%profile_fields_lang'
- profile_fields_language: '%core.table_prefix%profile_lang'
- ranks: '%core.table_prefix%ranks'
- reports: '%core.table_prefix%reports'
- reports_reasons: '%core.table_prefix%reports_reasons'
- search_results: '%core.table_prefix%search_results'
- search_wordlist: '%core.table_prefix%search_wordlist'
- search_wordmatch: '%core.table_prefix%search_wordmatch'
- sessions: '%core.table_prefix%sessions'
- sessions_keys: '%core.table_prefix%sessions_keys'
- sitelist: '%core.table_prefix%sitelist'
- smilies: '%core.table_prefix%smilies'
- sphinx: '%core.table_prefix%sphinx'
- styles: '%core.table_prefix%styles'
- styles_template: '%core.table_prefix%styles_template'
- styles_template_data: '%core.table_prefix%styles_template_data'
- styles_theme: '%core.table_prefix%styles_theme'
- styles_imageset: '%core.table_prefix%styles_imageset'
- styles_imageset_data: '%core.table_prefix%styles_imageset_data'
- teampage: '%core.table_prefix%teampage'
- topics: '%core.table_prefix%topics'
- topics_posted: '%core.table_prefix%topics_posted'
- topics_track: '%core.table_prefix%topics_track'
- topics_watch: '%core.table_prefix%topics_watch'
- user_group: '%core.table_prefix%user_group'
- user_notifications: '%core.table_prefix%user_notifications'
- users: '%core.table_prefix%users'
- warnings: '%core.table_prefix%warnings'
- words: '%core.table_prefix%words'
- zebra: '%core.table_prefix%zebra'
+ tables.acl_groups: '%core.table_prefix%acl_groups'
+ tables.acl_options: '%core.table_prefix%acl_options'
+ tables.acl_roles: '%core.table_prefix%acl_roles'
+ tables.acl_roles_data: '%core.table_prefix%acl_roles_data'
+ tables.acl_users: '%core.table_prefix%acl_users'
+ tables.attachments: '%core.table_prefix%attachments'
+ tables.auth_provider_oauth_token_storage: '%core.table_prefix%oauth_tokens'
+ tables.auth_provider_oauth_states: '%core.table_prefix%oauth_states'
+ tables.auth_provider_oauth_account_assoc: '%core.table_prefix%oauth_accounts'
+ tables.banlist: '%core.table_prefix%banlist'
+ tables.bbcodes: '%core.table_prefix%bbcodes'
+ tables.bookmarks: '%core.table_prefix%bookmarks'
+ tables.bots: '%core.table_prefix%bots'
+ tables.captcha_qa_questions: '%core.table_prefix%captcha_questions'
+ tables.captcha_qa_answers: '%core.table_prefix%captcha_answers'
+ tables.captcha_qa_confirm: '%core.table_prefix%qa_confirm'
+ tables.config: '%core.table_prefix%config'
+ tables.config_text: '%core.table_prefix%config_text'
+ tables.confirm: '%core.table_prefix%confirm'
+ tables.disallow: '%core.table_prefix%disallow'
+ tables.drafts: '%core.table_prefix%drafts'
+ tables.ext: '%core.table_prefix%ext'
+ tables.extensions: '%core.table_prefix%extensions'
+ tables.extension_groups: '%core.table_prefix%extension_groups'
+ tables.forums: '%core.table_prefix%forums'
+ tables.forums_access: '%core.table_prefix%forums_access'
+ tables.forums_track: '%core.table_prefix%forums_track'
+ tables.forums_watch: '%core.table_prefix%forums_watch'
+ tables.groups: '%core.table_prefix%groups'
+ tables.icons: '%core.table_prefix%icons'
+ tables.lang: '%core.table_prefix%lang'
+ tables.log: '%core.table_prefix%log'
+ tables.login_attempts: '%core.table_prefix%login_attempts'
+ tables.migrations: '%core.table_prefix%migrations'
+ tables.moderator_cache: '%core.table_prefix%moderator_cache'
+ tables.modules: '%core.table_prefix%modules'
+ tables.notification_types: '%core.table_prefix%notification_types'
+ tables.notifications: '%core.table_prefix%notifications'
+ tables.poll_options: '%core.table_prefix%poll_options'
+ tables.poll_votes: '%core.table_prefix%poll_votes'
+ tables.posts: '%core.table_prefix%posts'
+ tables.privmsgs: '%core.table_prefix%privmsgs'
+ tables.privmsgs_folder: '%core.table_prefix%privmsgs_folder'
+ tables.privmsgs_rules: '%core.table_prefix%privmsgs_rules'
+ tables.privmsgs_to: '%core.table_prefix%privmsgs_to'
+ tables.profile_fields: '%core.table_prefix%profile_fields'
+ tables.profile_fields_data: '%core.table_prefix%profile_fields_data'
+ tables.profile_fields_options_language: '%core.table_prefix%profile_fields_lang'
+ tables.profile_fields_language: '%core.table_prefix%profile_lang'
+ tables.ranks: '%core.table_prefix%ranks'
+ tables.reports: '%core.table_prefix%reports'
+ tables.reports_reasons: '%core.table_prefix%reports_reasons'
+ tables.search_results: '%core.table_prefix%search_results'
+ tables.search_wordlist: '%core.table_prefix%search_wordlist'
+ tables.search_wordmatch: '%core.table_prefix%search_wordmatch'
+ tables.sessions: '%core.table_prefix%sessions'
+ tables.sessions_keys: '%core.table_prefix%sessions_keys'
+ tables.sitelist: '%core.table_prefix%sitelist'
+ tables.smilies: '%core.table_prefix%smilies'
+ tables.sphinx: '%core.table_prefix%sphinx'
+ tables.styles: '%core.table_prefix%styles'
+ tables.styles_template: '%core.table_prefix%styles_template'
+ tables.styles_template_data: '%core.table_prefix%styles_template_data'
+ tables.styles_theme: '%core.table_prefix%styles_theme'
+ tables.styles_imageset: '%core.table_prefix%styles_imageset'
+ tables.styles_imageset_data: '%core.table_prefix%styles_imageset_data'
+ tables.teampage: '%core.table_prefix%teampage'
+ tables.topics: '%core.table_prefix%topics'
+ tables.topics_posted: '%core.table_prefix%topics_posted'
+ tables.topics_track: '%core.table_prefix%topics_track'
+ tables.topics_watch: '%core.table_prefix%topics_watch'
+ tables.user_group: '%core.table_prefix%user_group'
+ tables.user_notifications: '%core.table_prefix%user_notifications'
+ tables.users: '%core.table_prefix%users'
+ tables.warnings: '%core.table_prefix%warnings'
+ tables.words: '%core.table_prefix%words'
+ tables.zebra: '%core.table_prefix%zebra'
diff --git a/phpBB/phpbb/di/container_builder.php b/phpBB/phpbb/di/container_builder.php
index 552b8c7a95..70ceb9b5e3 100644
--- a/phpBB/phpbb/di/container_builder.php
+++ b/phpBB/phpbb/di/container_builder.php
@@ -160,7 +160,6 @@ class container_builder
{
$this->container_extensions = [
new extension\core($this->get_config_path()),
- new extension\tables(),
];
if ($this->use_extensions)
@@ -168,6 +167,9 @@ class container_builder
$this->load_extensions();
}
+ // Add tables extension after all extensions
+ $this->container_extensions[] = new extension\tables();
+
// Inject the config
if ($this->config_php_file)
{
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);
}
/**