diff options
Diffstat (limited to 'phpBB/config/default')
37 files changed, 2524 insertions, 0 deletions
diff --git a/phpBB/config/default/config.yml b/phpBB/config/default/config.yml new file mode 100644 index 0000000000..e8d0536287 --- /dev/null +++ b/phpBB/config/default/config.yml @@ -0,0 +1 @@ +# phpBB's config file (This line is needed because of the packager) diff --git a/phpBB/config/default/container/parameters.yml b/phpBB/config/default/container/parameters.yml new file mode 100644 index 0000000000..8ecc1428f4 --- /dev/null +++ b/phpBB/config/default/container/parameters.yml @@ -0,0 +1,20 @@ +parameters: + # Disable the usage of the super globals (_GET, _POST, _SERVER...) + core.disable_super_globals: true + + # Datetime class to use + datetime.class: \phpbb\datetime + + # Mimetype guesser priorities + mimetype.guesser.priority.lowest: -2 + mimetype.guesser.priority.low: -1 + mimetype.guesser.priority.default: 0 + mimetype.guesser.priority.high: 1 + mimetype.guesser.priority.highest: 2 + + # List of default password driver types + passwords.algorithms: + - passwords.driver.bcrypt_2y + - passwords.driver.bcrypt + - passwords.driver.salted_md5 + - passwords.driver.phpass diff --git a/phpBB/config/default/container/services.yml b/phpBB/config/default/container/services.yml new file mode 100644 index 0000000000..9bb1d673f4 --- /dev/null +++ b/phpBB/config/default/container/services.yml @@ -0,0 +1,169 @@ +imports: + - { resource: services_attachment.yml } + - { resource: services_auth.yml } + - { resource: services_avatar.yml } + - { resource: services_captcha.yml } + - { resource: services_console.yml } + - { resource: services_content.yml } + - { resource: services_cron.yml } + - { resource: services_db.yml } + - { resource: services_event.yml } + - { resource: services_feed.yml } + - { resource: services_files.yml } + - { resource: services_filesystem.yml } + - { resource: services_help.yml } + - { resource: services_hook.yml } + - { resource: services_http.yml } + - { resource: services_language.yml } + - { resource: services_migrator.yml } + - { resource: services_mimetype_guesser.yml } + - { resource: services_module.yml } + - { resource: services_notification.yml } + - { resource: services_password.yml } + - { resource: services_php.yml } + - { resource: services_profilefield.yml } + - { resource: services_report.yml } + - { resource: services_routing.yml } + - { resource: services_text_formatter.yml } + - { resource: services_text_reparser.yml } + - { resource: services_twig.yml } + - { resource: services_user.yml } + + - { resource: tables.yml } + - { resource: parameters.yml } + +services: + cache: + class: phpbb\cache\service + arguments: + - '@cache.driver' + - '@config' + - '@dbal.conn' + - '%core.root_path%' + - '%core.php_ext%' + + cache.driver: + class: '%cache.driver.class%' + + class_loader: + class: phpbb\class_loader + arguments: + - phpbb\ + - '%core.root_path%includes/' + - '%core.php_ext%' + calls: + - [register, []] + - [set_cache, ['@cache.driver']] + + class_loader.ext: + class: phpbb\class_loader + arguments: + - \ + - '%core.root_path%ext/' + - '%core.php_ext%' + calls: + - [register, []] + - [set_cache, ['@cache.driver']] + + config: + class: phpbb\config\db + arguments: + - '@dbal.conn' + - '@cache.driver' + - '%tables.config%' + + config.php: + synthetic: true + + config_text: + class: phpbb\config\db_text + arguments: + - '@dbal.conn' + - '%tables.config_text%' + + controller.helper: + class: phpbb\controller\helper + arguments: + - '@template' + - '@user' + - '@config' + - '@symfony_request' + - '@request' + - '@routing.helper' + + controller.resolver: + class: phpbb\controller\resolver + arguments: + - '@service_container' + - '%core.root_path%' + - '@template' + + ext.manager: + class: phpbb\extension\manager + arguments: + - '@service_container' + - '@dbal.conn' + - '@config' + - '@filesystem' + - '%tables.ext%' + - '%core.root_path%' + - '%core.php_ext%' + - '@cache' + + file_downloader: + class: phpbb\file_downloader + + file_locator: + class: phpbb\routing\file_locator + arguments: + - '@filesystem' + - '%core.root_path%' + + group_helper: + class: phpbb\group\helper + arguments: + - '@language' + + log: + class: phpbb\log\log + arguments: + - '@dbal.conn' + - '@user' + - '@auth' + - '@dispatcher' + - '%core.root_path%' + - '%core.adm_relative_path%' + - '%core.php_ext%' + - '%tables.log%' + + path_helper: + class: phpbb\path_helper + arguments: + - '@symfony_request' + - '@filesystem' + - '@request' + - '%core.root_path%' + - '%core.php_ext%' + - '%core.adm_relative_path%' + + plupload: + class: phpbb\plupload\plupload + arguments: + - '%core.root_path%' + - '@config' + - '@request' + - '@user' + - '@php_ini' + - '@mimetype.guesser' + + upload_imagesize: + class: FastImageSize\FastImageSize + + version_helper: + class: phpbb\version_helper + shared: false + arguments: + - '@cache' + - '@config' + - '@file_downloader' + - '@user' diff --git a/phpBB/config/default/container/services_attachment.yml b/phpBB/config/default/container/services_attachment.yml new file mode 100644 index 0000000000..c56ced21f4 --- /dev/null +++ b/phpBB/config/default/container/services_attachment.yml @@ -0,0 +1,40 @@ +services: + attachment.delete: + class: phpbb\attachment\delete + shared: false + arguments: + - '@config' + - '@dbal.conn' + - '@dispatcher' + - '@filesystem' + - '@attachment.resync' + - '%core.root_path%' + + attachment.manager: + class: phpbb\attachment\manager + shared: false + arguments: + - '@attachment.delete' + - '@attachment.resync' + - '@attachment.upload' + + attachment.resync: + class: phpbb\attachment\resync + shared: false + arguments: + - '@dbal.conn' + + attachment.upload: + class: phpbb\attachment\upload + shared: false + arguments: + - '@auth' + - '@cache' + - '@config' + - '@files.upload' + - '@language' + - '@mimetype.guesser' + - '@dispatcher' + - '@plupload' + - '@user' + - '%core.root_path%' diff --git a/phpBB/config/default/container/services_auth.yml b/phpBB/config/default/container/services_auth.yml new file mode 100644 index 0000000000..ed8dc90a74 --- /dev/null +++ b/phpBB/config/default/container/services_auth.yml @@ -0,0 +1,110 @@ +services: +# ----- Auth management ----- + auth: + class: phpbb\auth\auth + +# ----- Auth providers ----- + auth.provider_collection: + class: phpbb\auth\provider_collection + arguments: + - '@service_container' + - '@config' + tags: + - { name: service_collection, tag: auth.provider } + + auth.provider.db: + class: phpbb\auth\provider\db + arguments: + - '@dbal.conn' + - '@config' + - '@passwords.manager' + - '@request' + - '@user' + - '@service_container' + - '%core.root_path%' + - '%core.php_ext%' + tags: + - { name: auth.provider } + + auth.provider.apache: + class: phpbb\auth\provider\apache + arguments: + - '@dbal.conn' + - '@config' + - '@passwords.manager' + - '@request' + - '@user' + - '%core.root_path%' + - '%core.php_ext%' + tags: + - { name: auth.provider } + + auth.provider.ldap: + class: phpbb\auth\provider\ldap + arguments: + - '@dbal.conn' + - '@config' + - '@passwords.manager' + - '@user' + tags: + - { name: auth.provider } + + auth.provider.oauth: + class: phpbb\auth\provider\oauth\oauth + arguments: + - '@dbal.conn' + - '@config' + - '@passwords.manager' + - '@request' + - '@user' + - '%tables.auth_provider_oauth_token_storage%' + - '%tables.auth_provider_oauth_states%' + - '%tables.auth_provider_oauth_account_assoc%' + - '@auth.provider.oauth.service_collection' + - '%tables.users%' + - '@service_container' + - '@dispatcher' + - '%core.root_path%' + - '%core.php_ext%' + tags: + - { name: auth.provider } + +# ----- OAuth services providers ----- + auth.provider.oauth.service_collection: + class: phpbb\di\service_collection + arguments: + - '@service_container' + tags: + - { name: service_collection, tag: auth.provider.oauth.service } + + auth.provider.oauth.service.bitly: + class: phpbb\auth\provider\oauth\service\bitly + arguments: + - '@config' + - '@request' + tags: + - { name: auth.provider.oauth.service } + + auth.provider.oauth.service.facebook: + class: phpbb\auth\provider\oauth\service\facebook + arguments: + - '@config' + - '@request' + tags: + - { name: auth.provider.oauth.service } + + auth.provider.oauth.service.google: + class: phpbb\auth\provider\oauth\service\google + arguments: + - '@config' + - '@request' + tags: + - { name: auth.provider.oauth.service } + + auth.provider.oauth.service.twitter: + class: phpbb\auth\provider\oauth\service\twitter + arguments: + - '@config' + - '@request' + tags: + - { name: auth.provider.oauth.service } diff --git a/phpBB/config/default/container/services_avatar.yml b/phpBB/config/default/container/services_avatar.yml new file mode 100644 index 0000000000..6cc38516ae --- /dev/null +++ b/phpBB/config/default/container/services_avatar.yml @@ -0,0 +1,72 @@ +services: + avatar.manager: + class: phpbb\avatar\manager + arguments: + - '@config' + - '@avatar.driver_collection' + +# ----- Avatar drivers ----- + avatar.driver_collection: + class: phpbb\di\service_collection + arguments: + - '@service_container' + tags: + - { name: service_collection, tag: avatar.driver } + + avatar.driver.gravatar: + class: phpbb\avatar\driver\gravatar + arguments: + - '@config' + - '@upload_imagesize' + - '%core.root_path%' + - '%core.php_ext%' + - '@path_helper' + - '@cache.driver' + calls: + - [set_name, [avatar.driver.gravatar]] + tags: + - { name: avatar.driver } + + avatar.driver.local: + class: phpbb\avatar\driver\local + arguments: + - '@config' + - '@upload_imagesize' + - '%core.root_path%' + - '%core.php_ext%' + - '@path_helper' + - '@cache.driver' + calls: + - [set_name, [avatar.driver.local]] + tags: + - { name: avatar.driver } + + avatar.driver.remote: + class: phpbb\avatar\driver\remote + arguments: + - '@config' + - '@upload_imagesize' + - '%core.root_path%' + - '%core.php_ext%' + - '@path_helper' + - '@cache.driver' + calls: + - [set_name, [avatar.driver.remote]] + tags: + - { name: avatar.driver } + + avatar.driver.upload: + class: phpbb\avatar\driver\upload + arguments: + - '@config' + - '%core.root_path%' + - '%core.php_ext%' + - '@filesystem' + - '@path_helper' + - '@dispatcher' + - '@files.factory' + - '@cache.driver' + calls: + - [set_name, [avatar.driver.upload]] + tags: + - { name: avatar.driver } diff --git a/phpBB/config/default/container/services_captcha.yml b/phpBB/config/default/container/services_captcha.yml new file mode 100644 index 0000000000..e462c43bb8 --- /dev/null +++ b/phpBB/config/default/container/services_captcha.yml @@ -0,0 +1,59 @@ +services: + captcha.factory: + class: phpbb\captcha\factory + arguments: + - '@service_container' + - '@captcha.plugins.service_collection' + +# ----- Captcha plugins ----- +# Service MUST NOT be shared for all the plugins to work. + captcha.plugins.service_collection: + class: phpbb\di\service_collection + arguments: + - '@service_container' + tags: + - { name: service_collection, tag: captcha.plugins } + + core.captcha.plugins.gd: + class: phpbb\captcha\plugins\gd + shared: false + calls: + - [set_name, [core.captcha.plugins.gd]] + tags: + - { name: captcha.plugins } + + core.captcha.plugins.gd_wave: + class: phpbb\captcha\plugins\gd_wave + shared: false + calls: + - [set_name, [core.captcha.plugins.gd_wave]] + tags: + - { name: captcha.plugins } + + core.captcha.plugins.nogd: + class: phpbb\captcha\plugins\nogd + shared: false + calls: + - [set_name, [core.captcha.plugins.nogd]] + tags: + - { name: captcha.plugins } + + core.captcha.plugins.qa: + class: phpbb\captcha\plugins\qa + shared: false + arguments: + - '%tables.captcha_qa_questions%' + - '%tables.captcha_qa_answers%' + - '%tables.captcha_qa_confirm%' + calls: + - [set_name, [core.captcha.plugins.qa]] + tags: + - { name: captcha.plugins } + + core.captcha.plugins.recaptcha: + class: phpbb\captcha\plugins\recaptcha + shared: false + calls: + - [set_name, [core.captcha.plugins.recaptcha]] + tags: + - { name: captcha.plugins } diff --git a/phpBB/config/default/container/services_console.yml b/phpBB/config/default/container/services_console.yml new file mode 100644 index 0000000000..e25ab4f03f --- /dev/null +++ b/phpBB/config/default/container/services_console.yml @@ -0,0 +1,273 @@ +services: + console.exception_subscriber: + class: phpbb\console\exception_subscriber + arguments: + - '@language' + - '%debug.exceptions%' + tags: + - { name: kernel.event_subscriber } + + console.command_collection: + class: phpbb\di\service_collection + arguments: + - '@service_container' + tags: + - { name: service_collection, tag: console.command } + + console.command.cache.purge: + class: phpbb\console\command\cache\purge + arguments: + - '@user' + - '@cache.driver' + - '@dbal.conn' + - '@auth' + - '@log' + - '@config' + tags: + - { name: console.command } + + console.command.config.delete: + class: phpbb\console\command\config\delete + arguments: + - '@user' + - '@config' + tags: + - { name: console.command } + + console.command.config.increment: + class: phpbb\console\command\config\increment + arguments: + - '@user' + - '@config' + tags: + - { name: console.command } + + console.command.config.get: + class: phpbb\console\command\config\get + arguments: + - '@user' + - '@config' + tags: + - { name: console.command } + + console.command.config.set: + class: phpbb\console\command\config\set + arguments: + - '@user' + - '@config' + tags: + - { name: console.command } + + console.command.config.set_atomic: + class: phpbb\console\command\config\set_atomic + arguments: + - '@user' + - '@config' + tags: + - { name: console.command } + + console.command.cron.list: + class: phpbb\console\command\cron\cron_list + arguments: + - '@user' + - '@cron.manager' + tags: + - { name: console.command } + + console.command.cron.run: + class: phpbb\console\command\cron\run + arguments: + - '@user' + - '@cron.manager' + - '@cron.lock_db' + tags: + - { name: console.command } + + console.command.db.list: + class: phpbb\console\command\db\list_command + arguments: + - '@user' + - '@migrator' + - '@ext.manager' + - '@config' + - '@cache' + tags: + - { name: console.command } + + console.command.db.migrate: + class: phpbb\console\command\db\migrate + arguments: + - '@user' + - '@language' + - '@migrator' + - '@ext.manager' + - '@config' + - '@cache' + - '@log' + - '@filesystem' + - '%core.root_path%' + tags: + - { name: console.command } + + console.command.db.revert: + class: phpbb\console\command\db\revert + parent: console.command.db.migrate + tags: + - { name: console.command } + + console.command.dev.migration_tips: + class: phpbb\console\command\dev\migration_tips + arguments: + - '@user' + - '@ext.manager' + tags: + - { name: console.command } + + console.command.extension.disable: + class: phpbb\console\command\extension\disable + arguments: + - '@user' + - '@ext.manager' + - '@log' + tags: + - { name: console.command } + + console.command.extension.enable: + class: phpbb\console\command\extension\enable + arguments: + - '@user' + - '@ext.manager' + - '@log' + tags: + - { name: console.command } + + console.command.extension.purge: + class: phpbb\console\command\extension\purge + arguments: + - '@user' + - '@ext.manager' + - '@log' + tags: + - { name: console.command } + + console.command.extension.show: + class: phpbb\console\command\extension\show + arguments: + - '@user' + - '@ext.manager' + - '@log' + tags: + - { name: console.command } + + console.command.fixup.recalculate_email_hash: + class: phpbb\console\command\fixup\recalculate_email_hash + arguments: + - '@user' + - '@dbal.conn' + tags: + - { name: console.command } + + console.command.reparser.list: + class: phpbb\console\command\reparser\list_all + arguments: + - '@user' + - '@text_reparser_collection' + tags: + - { name: console.command } + + console.command.reparser.reparse: + class: phpbb\console\command\reparser\reparse + arguments: + - '@user' + - '@text_reparser.lock' + - '@text_reparser.manager' + - '@text_reparser_collection' + tags: + - { name: console.command } + + console.command.thumbnail.delete: + class: phpbb\console\command\thumbnail\delete + arguments: + - '@user' + - '@dbal.conn' + - '%core.root_path%' + tags: + - { name: console.command } + + console.command.thumbnail.generate: + class: phpbb\console\command\thumbnail\generate + arguments: + - '@user' + - '@dbal.conn' + - '@cache' + - '%core.root_path%' + - '%core.php_ext%' + tags: + - { name: console.command } + + console.command.thumbnail.recreate: + class: phpbb\console\command\thumbnail\recreate + arguments: + - '@user' + tags: + - { name: console.command } + + console.command.update.check: + class: phpbb\console\command\update\check + arguments: + - '@user' + - '@config' + - '@service_container' + - '@language' + tags: + - { name: console.command } + + console.command.user.activate: + class: phpbb\console\command\user\activate + arguments: + - '@user' + - '@dbal.conn' + - '@config' + - '@language' + - '@log' + - '@notification_manager' + - '@user_loader' + - '%core.root_path%' + - '%core.php_ext%' + tags: + - { name: console.command } + + console.command.user.add: + class: phpbb\console\command\user\add + arguments: + - '@user' + - '@dbal.conn' + - '@config' + - '@language' + - '@passwords.manager' + - '%core.root_path%' + - '%core.php_ext%' + tags: + - { name: console.command } + + console.command.user.delete: + class: phpbb\console\command\user\delete + arguments: + - '@user' + - '@dbal.conn' + - '@language' + - '@log' + - '@user_loader' + - '%core.root_path%' + - '%core.php_ext%' + tags: + - { name: console.command } + + console.command.user.reclean: + class: phpbb\console\command\user\reclean + arguments: + - '@user' + - '@dbal.conn' + - '@language' + tags: + - { name: console.command } diff --git a/phpBB/config/default/container/services_content.yml b/phpBB/config/default/container/services_content.yml new file mode 100644 index 0000000000..602fd25f4e --- /dev/null +++ b/phpBB/config/default/container/services_content.yml @@ -0,0 +1,72 @@ +services: + content.visibility: + class: phpbb\content_visibility + arguments: + - '@auth' + - '@config' + - '@dispatcher' + - '@dbal.conn' + - '@user' + - '%core.root_path%' + - '%core.php_ext%' + - '%tables.forums%' + - '%tables.posts%' + - '%tables.topics%' + - '%tables.users%' + + groupposition.legend: + class: phpbb\groupposition\legend + arguments: + - '@dbal.conn' + - '@user' + + groupposition.teampage: + class: phpbb\groupposition\teampage + arguments: + - '@dbal.conn' + - '@user' + - '@cache.driver' + + message.form.admin: + class: phpbb\message\admin_form + arguments: + - '@auth' + - '@config' + - '@config_text' + - '@dbal.conn' + - '@user' + - '%core.root_path%' + - '%core.php_ext%' + + message.form.topic: + class: phpbb\message\topic_form + arguments: + - '@auth' + - '@config' + - '@dbal.conn' + - '@user' + - '%core.root_path%' + - '%core.php_ext%' + + message.form.user: + class: phpbb\message\user_form + arguments: + - '@auth' + - '@config' + - '@dbal.conn' + - '@user' + - '%core.root_path%' + - '%core.php_ext%' + + pagination: + class: phpbb\pagination + arguments: + - '@template' + - '@user' + - '@controller.helper' + - '@dispatcher' + + viewonline_helper: + class: phpbb\viewonline_helper + arguments: + - '@filesystem' diff --git a/phpBB/config/default/container/services_cron.yml b/phpBB/config/default/container/services_cron.yml new file mode 100644 index 0000000000..0b95a96190 --- /dev/null +++ b/phpBB/config/default/container/services_cron.yml @@ -0,0 +1,221 @@ +services: + cron.manager: + class: phpbb\cron\manager + arguments: + - '@cron.task_collection' + - '%core.root_path%' + - '%core.php_ext%' + + cron.lock_db: + class: phpbb\lock\db + arguments: + - cron_lock + - '@config' + - '@dbal.conn' + +# ----- Cron tasks ----- + cron.task_collection: + class: phpbb\di\service_collection + arguments: + - '@service_container' + tags: + - { name: service_collection, tag: cron.task } + + cron.task.core.prune_all_forums: + class: phpbb\cron\task\core\prune_all_forums + arguments: + - '%core.root_path%' + - '%core.php_ext%' + - '@config' + - '@dbal.conn' + calls: + - [set_name, [cron.task.core.prune_all_forums]] + tags: + - { name: cron.task } + + cron.task.core.prune_forum: + class: phpbb\cron\task\core\prune_forum + arguments: + - '%core.root_path%' + - '%core.php_ext%' + - '@config' + - '@dbal.conn' + calls: + - [set_name, [cron.task.core.prune_forum]] + tags: + - { name: cron.task } + + cron.task.core.prune_shadow_topics: + class: phpbb\cron\task\core\prune_shadow_topics + arguments: + - '%core.root_path%' + - '%core.php_ext%' + - '@config' + - '@dbal.conn' + - '@log' + - '@user' + calls: + - [set_name, [cron.task.core.prune_shadow_topics]] + tags: + - { name: cron.task } + + cron.task.core.prune_notifications: + class: phpbb\cron\task\core\prune_notifications + arguments: + - '@config' + - '@notification_manager' + calls: + - [set_name, [cron.task.core.prune_notifications]] + tags: + - { name: cron.task } + + cron.task.core.queue: + class: phpbb\cron\task\core\queue + arguments: + - '%core.root_path%' + - '%core.php_ext%' + - '@config' + - '%core.cache_dir%' + calls: + - [set_name, [cron.task.core.queue]] + tags: + - { name: cron.task } + + cron.task.core.tidy_cache: + class: phpbb\cron\task\core\tidy_cache + arguments: + - '@config' + - '@cache.driver' + calls: + - [set_name, [cron.task.core.tidy_cache]] + tags: + - { name: cron.task } + + cron.task.core.tidy_database: + class: phpbb\cron\task\core\tidy_database + arguments: + - '%core.root_path%' + - '%core.php_ext%' + - '@config' + calls: + - [set_name, [cron.task.core.tidy_database]] + tags: + - { name: cron.task } + + cron.task.core.tidy_plupload: + class: phpbb\cron\task\core\tidy_plupload + arguments: + - '%core.root_path%' + - '@config' + - '@log' + - '@user' + calls: + - [set_name, [cron.task.core.tidy_plupload]] + tags: + - { name: cron.task } + + cron.task.core.tidy_search: + class: phpbb\cron\task\core\tidy_search + arguments: + - '%core.root_path%' + - '%core.php_ext%' + - '@auth' + - '@config' + - '@dbal.conn' + - '@user' + - '@dispatcher' + calls: + - [set_name, [cron.task.core.tidy_search]] + tags: + - { name: cron.task } + + cron.task.core.tidy_sessions: + class: phpbb\cron\task\core\tidy_sessions + arguments: + - '@config' + - '@user' + calls: + - [set_name, [cron.task.core.tidy_sessions]] + tags: + - { name: cron.task } + + cron.task.core.tidy_warnings: + class: phpbb\cron\task\core\tidy_warnings + arguments: + - '%core.root_path%' + - '%core.php_ext%' + - '@config' + calls: + - [set_name, [cron.task.core.tidy_warnings]] + tags: + - { name: cron.task } + + cron.task.text_reparser.pm_text: + class: phpbb\cron\task\text_reparser\reparser + arguments: + - '@config' + - '@config_text' + - '@text_reparser.lock' + - '@text_reparser.manager' + - '@text_reparser_collection' + calls: + - [set_name, [cron.task.text_reparser.pm_text]] + - [set_reparser, [text_reparser.pm_text]] + tags: + - { name: cron.task } + + cron.task.text_reparser.poll_option: + class: phpbb\cron\task\text_reparser\reparser + arguments: + - '@config' + - '@config_text' + - '@text_reparser.lock' + - '@text_reparser.manager' + - '@text_reparser_collection' + calls: + - [set_name, [cron.task.text_reparser.poll_option]] + - [set_reparser, [text_reparser.poll_option]] + tags: + - { name: cron.task } + + cron.task.text_reparser.poll_title: + class: phpbb\cron\task\text_reparser\reparser + arguments: + - '@config' + - '@config_text' + - '@text_reparser.lock' + - '@text_reparser.manager' + - '@text_reparser_collection' + calls: + - [set_name, [cron.task.text_reparser.poll_title]] + - [set_reparser, [text_reparser.poll_title]] + tags: + - { name: cron.task } + + cron.task.text_reparser.post_text: + class: phpbb\cron\task\text_reparser\reparser + arguments: + - '@config' + - '@config_text' + - '@text_reparser.lock' + - '@text_reparser.manager' + - '@text_reparser_collection' + calls: + - [set_name, [cron.task.text_reparser.post_text]] + - [set_reparser, [text_reparser.post_text]] + tags: + - { name: cron.task } + + cron.task.text_reparser.user_signature: + class: phpbb\cron\task\text_reparser\reparser + arguments: + - '@config' + - '@config_text' + - '@text_reparser.lock' + - '@text_reparser.manager' + - '@text_reparser_collection' + calls: + - [set_name, [cron.task.text_reparser.user_signature]] + - [set_reparser, [text_reparser.user_signature]] + tags: + - { name: cron.task } diff --git a/phpBB/config/default/container/services_db.yml b/phpBB/config/default/container/services_db.yml new file mode 100644 index 0000000000..d538177603 --- /dev/null +++ b/phpBB/config/default/container/services_db.yml @@ -0,0 +1,71 @@ +services: + dbal.conn: + class: phpbb\db\driver\factory + arguments: + - '@service_container' + + dbal.conn.driver: + synthetic: true + +# ----- DB Tools ----- + dbal.tools.factory: + class: phpbb\db\tools\factory + + dbal.tools: + class: phpbb\db\tools\tools_interface + factory: ['@dbal.tools.factory', get] + arguments: + - '@dbal.conn.driver' + +# ----- DB Extractor ----- + dbal.extractor.factory: + class: phpbb\db\extractor\factory + arguments: + - '@dbal.conn.driver' + - '@service_container' + + dbal.extractor: + class: phpbb\db\extractor\extractor_interface + factory: ['@dbal.extractor.factory', get] + +# ----- DB Extractors for different drivers ----- +# Service MUST NOT be shared for all the handlers to work correctly. + dbal.extractor.extractors.mssql_extractor: + class: phpbb\db\extractor\mssql_extractor + shared: false + arguments: + - '%core.root_path%' + - '@request' + - '@dbal.conn.driver' + + dbal.extractor.extractors.mysql_extractor: + class: phpbb\db\extractor\mysql_extractor + shared: false + arguments: + - '%core.root_path%' + - '@request' + - '@dbal.conn.driver' + + dbal.extractor.extractors.oracle_extractor: + class: phpbb\db\extractor\oracle_extractor + shared: false + arguments: + - '%core.root_path%' + - '@request' + - '@dbal.conn.driver' + + dbal.extractor.extractors.postgres_extractor: + class: phpbb\db\extractor\postgres_extractor + shared: false + arguments: + - '%core.root_path%' + - '@request' + - '@dbal.conn.driver' + + dbal.extractor.extractors.sqlite3_extractor: + class: phpbb\db\extractor\sqlite3_extractor + shared: false + arguments: + - '%core.root_path%' + - '@request' + - '@dbal.conn.driver' diff --git a/phpBB/config/default/container/services_event.yml b/phpBB/config/default/container/services_event.yml new file mode 100644 index 0000000000..8a55b933ac --- /dev/null +++ b/phpBB/config/default/container/services_event.yml @@ -0,0 +1,25 @@ +services: + dispatcher: + class: phpbb\event\dispatcher + arguments: + - '@service_container' + + kernel_exception_subscriber: + class: phpbb\event\kernel_exception_subscriber + arguments: + - '@template' + - '@language' + tags: + - { name: kernel.event_subscriber } + + kernel_terminate_subscriber: + class: phpbb\event\kernel_terminate_subscriber + tags: + - { name: kernel.event_subscriber } + + symfony_response_listener: + class: Symfony\Component\HttpKernel\EventListener\ResponseListener + arguments: + - UTF-8 + tags: + - { name: kernel.event_subscriber } diff --git a/phpBB/config/default/container/services_feed.yml b/phpBB/config/default/container/services_feed.yml new file mode 100644 index 0000000000..d3e7924f2f --- /dev/null +++ b/phpBB/config/default/container/services_feed.yml @@ -0,0 +1,121 @@ +services: + phpbb.feed.controller: + class: phpbb\feed\controller\feed + arguments: + - '@template.twig.environment' + - '@symfony_request' + - '@controller.helper' + - '@config' + - '@dbal.conn' + - '@service_container' + - '@feed.helper' + - '@user' + - '@auth' + - '@dispatcher' + - '%core.php_ext%' + + feed.helper: + class: phpbb\feed\helper + arguments: + - '@config' + - '@user' + - '%core.root_path%' + - '%core.php_ext%' + + feed.forum: + class: phpbb\feed\forum + shared: false + arguments: + - '@feed.helper' + - '@config' + - '@dbal.conn' + - '@cache.driver' + - '@user' + - '@auth' + - '@content.visibility' + - '@dispatcher' + - '%core.php_ext%' + + feed.forums: + class: phpbb\feed\forums + shared: false + arguments: + - '@feed.helper' + - '@config' + - '@dbal.conn' + - '@cache.driver' + - '@user' + - '@auth' + - '@content.visibility' + - '@dispatcher' + - '%core.php_ext%' + + feed.news: + class: phpbb\feed\news + shared: false + arguments: + - '@feed.helper' + - '@config' + - '@dbal.conn' + - '@cache.driver' + - '@user' + - '@auth' + - '@content.visibility' + - '@dispatcher' + - '%core.php_ext%' + + feed.overall: + class: phpbb\feed\overall + shared: false + arguments: + - '@feed.helper' + - '@config' + - '@dbal.conn' + - '@cache.driver' + - '@user' + - '@auth' + - '@content.visibility' + - '@dispatcher' + - '%core.php_ext%' + + feed.topic: + class: phpbb\feed\topic + shared: false + arguments: + - '@feed.helper' + - '@config' + - '@dbal.conn' + - '@cache.driver' + - '@user' + - '@auth' + - '@content.visibility' + - '@dispatcher' + - '%core.php_ext%' + + feed.topics: + class: phpbb\feed\topics + shared: false + arguments: + - '@feed.helper' + - '@config' + - '@dbal.conn' + - '@cache.driver' + - '@user' + - '@auth' + - '@content.visibility' + - '@dispatcher' + - '%core.php_ext%' + + feed.topics_active: + class: phpbb\feed\topics_active + shared: false + arguments: + - '@feed.helper' + - '@config' + - '@dbal.conn' + - '@cache.driver' + - '@user' + - '@auth' + - '@content.visibility' + - '@dispatcher' + - '%core.php_ext%' diff --git a/phpBB/config/default/container/services_files.yml b/phpBB/config/default/container/services_files.yml new file mode 100644 index 0000000000..ba1fdb4c9a --- /dev/null +++ b/phpBB/config/default/container/services_files.yml @@ -0,0 +1,57 @@ +services: + files.factory: + class: phpbb\files\factory + arguments: + - '@service_container' + + files.filespec: + class: phpbb\files\filespec + shared: false + arguments: + - '@filesystem' + - '@language' + - '@php_ini' + - '@upload_imagesize' + - '%core.root_path%' + - '@mimetype.guesser' + - '@plupload' + + files.upload: + class: phpbb\files\upload + shared: false + arguments: + - '@filesystem' + - '@files.factory' + - '@language' + - '@php_ini' + - '@request' + + files.types.form: + class: phpbb\files\types\form + shared: false + arguments: + - '@files.factory' + - '@language' + - '@php_ini' + - '@plupload' + - '@request' + + files.types.local: + class: phpbb\files\types\local + shared: false + arguments: + - '@files.factory' + - '@language' + - '@php_ini' + - '@request' + + files.types.remote: + class: phpbb\files\types\remote + shared: false + arguments: + - '@config' + - '@files.factory' + - '@language' + - '@php_ini' + - '@request' + - '%core.root_path%' diff --git a/phpBB/config/default/container/services_filesystem.yml b/phpBB/config/default/container/services_filesystem.yml new file mode 100644 index 0000000000..828f9076dd --- /dev/null +++ b/phpBB/config/default/container/services_filesystem.yml @@ -0,0 +1,3 @@ +services: + filesystem: + class: phpbb\filesystem\filesystem diff --git a/phpBB/config/default/container/services_help.yml b/phpBB/config/default/container/services_help.yml new file mode 100644 index 0000000000..1bff001523 --- /dev/null +++ b/phpBB/config/default/container/services_help.yml @@ -0,0 +1,27 @@ +services: + phpbb.help.manager: + class: phpbb\help\manager + arguments: + - '@dispatcher' + - '@language' + - '@template' + + phpbb.help.controller.bbcode: + class: phpbb\help\controller\bbcode + arguments: + - '@controller.helper' + - '@phpbb.help.manager' + - '@template' + - '@language' + - '%core.root_path%' + - '%core.php_ext%' + + phpbb.help.controller.faq: + class: phpbb\help\controller\faq + arguments: + - '@controller.helper' + - '@phpbb.help.manager' + - '@template' + - '@language' + - '%core.root_path%' + - '%core.php_ext%' diff --git a/phpBB/config/default/container/services_hook.yml b/phpBB/config/default/container/services_hook.yml new file mode 100644 index 0000000000..10a84184a0 --- /dev/null +++ b/phpBB/config/default/container/services_hook.yml @@ -0,0 +1,7 @@ +services: + hook_finder: + class: phpbb\hook\finder + arguments: + - '%core.root_path%' + - '%core.php_ext%' + - '@cache.driver' diff --git a/phpBB/config/default/container/services_http.yml b/phpBB/config/default/container/services_http.yml new file mode 100644 index 0000000000..49cfbf5b84 --- /dev/null +++ b/phpBB/config/default/container/services_http.yml @@ -0,0 +1,23 @@ +services: + http_kernel: + class: Symfony\Component\HttpKernel\HttpKernel + arguments: + - '@dispatcher' + - '@controller.resolver' + - '@request_stack' + + # WARNING: The Symfony request does not escape the input and should be used very carefully + # prefer the phpbb request (service @request) as possible + symfony_request: + class: phpbb\symfony_request + arguments: + - '@request' + + request_stack: + class: Symfony\Component\HttpFoundation\RequestStack + + request: + class: phpbb\request\request + arguments: + - null + - '%core.disable_super_globals%' diff --git a/phpBB/config/default/container/services_language.yml b/phpBB/config/default/container/services_language.yml new file mode 100644 index 0000000000..8201fbf9b6 --- /dev/null +++ b/phpBB/config/default/container/services_language.yml @@ -0,0 +1,22 @@ +services: + language.helper.language_file: + class: phpbb\language\language_file_helper + arguments: + - '%core.root_path%' + + language: + class: phpbb\language\language + arguments: + - '@language.loader' + + language.loader_abstract: + abstract: true + class: phpbb\language\language_file_loader + arguments: + - '%core.root_path%' + - '%core.php_ext%' + + language.loader: + parent: language.loader_abstract + calls: + - [set_extension_manager, ['@ext.manager']] diff --git a/phpBB/config/default/container/services_migrator.yml b/phpBB/config/default/container/services_migrator.yml new file mode 100644 index 0000000000..c63b087adb --- /dev/null +++ b/phpBB/config/default/container/services_migrator.yml @@ -0,0 +1,64 @@ +services: +# ----- Migrator ----- + migrator: + class: phpbb\db\migrator + arguments: + - '@service_container' + - '@config' + - '@dbal.conn' + - '@dbal.tools' + - '%tables.migrations%' + - '%core.root_path%' + - '%core.php_ext%' + - '%core.table_prefix%' + - '@migrator.tool_collection' + - '@migrator.helper' + + migrator.helper: + class: phpbb\db\migration\helper + +# ----- Migrator's tools ----- + migrator.tool_collection: + class: phpbb\di\service_collection + arguments: + - '@service_container' + tags: + - { name: service_collection, tag: migrator.tool } + + migrator.tool.config: + class: phpbb\db\migration\tool\config + arguments: + - '@config' + tags: + - { name: migrator.tool } + + migrator.tool.config_text: + class: phpbb\db\migration\tool\config_text + arguments: + - '@config_text' + tags: + - { name: migrator.tool } + + migrator.tool.module: + class: phpbb\db\migration\tool\module + arguments: + - '@dbal.conn' + - '@cache' + - '@user' + - '@module.manager' + - '%core.root_path%' + - '%core.php_ext%' + - '%tables.modules%' + tags: + - { name: migrator.tool } + + migrator.tool.permission: + class: phpbb\db\migration\tool\permission + arguments: + - '@dbal.conn' + - '@cache' + - '@auth' + - '%core.root_path%' + - '%core.php_ext%' + tags: + - { name: migrator.tool } diff --git a/phpBB/config/default/container/services_mimetype_guesser.yml b/phpBB/config/default/container/services_mimetype_guesser.yml new file mode 100644 index 0000000000..432470d40c --- /dev/null +++ b/phpBB/config/default/container/services_mimetype_guesser.yml @@ -0,0 +1,36 @@ +services: + mimetype.guesser_collection: + class: phpbb\di\service_collection + arguments: + - '@service_container' + tags: + - { name: service_collection, tag: mimetype.guessers } + + mimetype.fileinfo_mimetype_guesser: + class: Symfony\Component\HttpFoundation\File\MimeType\FileinfoMimeTypeGuesser + tags: + - { name: mimetype.guessers } + + mimetype.filebinary_mimetype_guesser: + class: Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser + tags: + - { name: mimetype.guessers } + + mimetype.content_guesser: + class: phpbb\mimetype\content_guesser + calls: + - [set_priority, ['%mimetype.guesser.priority.low%']] + tags: + - { name: mimetype.guessers } + + mimetype.extension_guesser: + class: phpbb\mimetype\extension_guesser + calls: + - [set_priority, ['%mimetype.guesser.priority.lowest%']] + tags: + - { name: mimetype.guessers } + + mimetype.guesser: + class: phpbb\mimetype\guesser + arguments: + - '@mimetype.guesser_collection' diff --git a/phpBB/config/default/container/services_module.yml b/phpBB/config/default/container/services_module.yml new file mode 100644 index 0000000000..a057e55239 --- /dev/null +++ b/phpBB/config/default/container/services_module.yml @@ -0,0 +1,10 @@ +services: + module.manager: + class: phpbb\module\module_manager + arguments: + - '@cache.driver' + - '@dbal.conn' + - '@ext.manager' + - '%tables.modules%' + - '%core.root_path%' + - '%core.php_ext%' diff --git a/phpBB/config/default/container/services_notification.yml b/phpBB/config/default/container/services_notification.yml new file mode 100644 index 0000000000..6c3cea3dbc --- /dev/null +++ b/phpBB/config/default/container/services_notification.yml @@ -0,0 +1,224 @@ +services: + notification_manager: + class: phpbb\notification\manager + arguments: + - '@notification.type_collection' + - '@notification.method_collection' + - '@service_container' + - '@user_loader' + - '@dispatcher' + - '@dbal.conn' + - '@cache' + - '@language' + - '@user' + - '%tables.notification_types%' + - '%tables.user_notifications%' + +# ----- Notification's types ----- +# Service MUST NOT be shared for all the plugins to work. + notification.type_collection: + class: phpbb\di\service_collection + arguments: + - '@service_container' + tags: + - { name: service_collection, tag: notification.type } + + notification.type.base: + abstract: true + arguments: + - '@dbal.conn' + - '@language' + - '@user' + - '@auth' + - '%core.root_path%' + - '%core.php_ext%' + - '%tables.user_notifications%' + + notification.type.admin_activate_user: + class: phpbb\notification\type\admin_activate_user + shared: false + parent: notification.type.base + calls: + - [set_user_loader, ['@user_loader']] + - [set_config, ['@config']] + tags: + - { name: notification.type } + + notification.type.approve_post: + class: phpbb\notification\type\approve_post + shared: false + parent: notification.type.post + tags: + - { name: notification.type } + + notification.type.approve_topic: + class: phpbb\notification\type\approve_topic + shared: false + parent: notification.type.topic + tags: + - { name: notification.type } + + notification.type.bookmark: + class: phpbb\notification\type\bookmark + shared: false + parent: notification.type.post + tags: + - { name: notification.type } + + notification.type.disapprove_post: + class: phpbb\notification\type\disapprove_post + shared: false + parent: notification.type.post + tags: + - { name: notification.type } + + notification.type.disapprove_topic: + class: phpbb\notification\type\disapprove_topic + shared: false + parent: notification.type.topic + tags: + - { name: notification.type } + + notification.type.group_request: + class: phpbb\notification\type\group_request + shared: false + parent: notification.type.base + calls: + - [set_user_loader, ['@user_loader']] + tags: + - { name: notification.type } + + notification.type.group_request_approved: + class: phpbb\notification\type\group_request_approved + shared: false + parent: notification.type.base + tags: + - { name: notification.type } + + notification.type.pm: + class: phpbb\notification\type\pm + shared: false + parent: notification.type.base + calls: + - [set_user_loader, ['@user_loader']] + - [set_config, ['@config']] + tags: + - { name: notification.type } + + notification.type.post: + class: phpbb\notification\type\post + shared: false + parent: notification.type.base + calls: + - [set_user_loader, ['@user_loader']] + - [set_config, ['@config']] + tags: + - { name: notification.type } + + notification.type.post_in_queue: + class: phpbb\notification\type\post_in_queue + shared: false + parent: notification.type.post + tags: + - { name: notification.type } + + notification.type.quote: + class: phpbb\notification\type\quote + shared: false + parent: notification.type.post + calls: + - [set_utils, ['@text_formatter.utils']] + tags: + - { name: notification.type } + + notification.type.report_pm: + class: phpbb\notification\type\report_pm + shared: false + parent: notification.type.pm + tags: + - { name: notification.type } + + notification.type.report_pm_closed: + class: phpbb\notification\type\report_pm_closed + shared: false + parent: notification.type.pm + tags: + - { name: notification.type } + + notification.type.report_post: + class: phpbb\notification\type\report_post + shared: false + parent: notification.type.post + tags: + - { name: notification.type } + + notification.type.report_post_closed: + class: phpbb\notification\type\report_post_closed + shared: false + parent: notification.type.post + tags: + - { name: notification.type } + + notification.type.topic: + class: phpbb\notification\type\topic + shared: false + parent: notification.type.base + calls: + - [set_user_loader, ['@user_loader']] + - [set_config, ['@config']] + tags: + - { name: notification.type } + + notification.type.topic_in_queue: + class: phpbb\notification\type\topic_in_queue + shared: false + parent: notification.type.topic + tags: + - { name: notification.type } + +# ----- Notification's methods ----- +# Service MUST NOT be shared for all the plugins to work. + notification.method_collection: + class: phpbb\di\service_collection + arguments: + - '@service_container' + tags: + - { name: service_collection, tag: notification.method } + + notification.method.board: + class: phpbb\notification\method\board + shared: false + arguments: + - '@user_loader' + - '@dbal.conn' + - '@cache.driver' + - '@user' + - '@config' + - '%tables.notification_types%' + - '%tables.notifications%' + tags: + - { name: notification.method } + + notification.method.email: + class: phpbb\notification\method\email + shared: false + arguments: + - '@user_loader' + - '@user' + - '@config' + - '%core.root_path%' + - '%core.php_ext%' + tags: + - { name: notification.method } + + notification.method.jabber: + class: phpbb\notification\method\jabber + shared: false + arguments: + - '@user_loader' + - '@user' + - '@config' + - '%core.root_path%' + - '%core.php_ext%' + tags: + - { name: notification.method } diff --git a/phpBB/config/default/container/services_password.yml b/phpBB/config/default/container/services_password.yml new file mode 100644 index 0000000000..c276365c56 --- /dev/null +++ b/phpBB/config/default/container/services_password.yml @@ -0,0 +1,129 @@ +parameters: + passwords.driver.bcrypt_cost: 10 + +services: +# ----- Password management ----- + passwords.manager: + class: phpbb\passwords\manager + arguments: + - '@config' + - '@passwords.driver_collection' + - '@passwords.helper' + - '%passwords.algorithms%' + + passwords.helper: + class: phpbb\passwords\helper + + passwords.driver_helper: + class: phpbb\passwords\driver\helper + arguments: + - '@config' + +# ----- Password's drivers ----- + passwords.driver_collection: + class: phpbb\di\service_collection + arguments: + - '@service_container' + tags: + - { name: service_collection, tag: passwords.driver } + + passwords.driver.bcrypt: + class: phpbb\passwords\driver\bcrypt + arguments: + - '@config' + - '@passwords.driver_helper' + - '%passwords.driver.bcrypt_cost%' + tags: + - { name: passwords.driver } + + passwords.driver.bcrypt_2y: + class: phpbb\passwords\driver\bcrypt_2y + arguments: + - '@config' + - '@passwords.driver_helper' + - '%passwords.driver.bcrypt_cost%' + tags: + - { name: passwords.driver } + + passwords.driver.bcrypt_wcf2: + class: phpbb\passwords\driver\bcrypt_wcf2 + arguments: + - '@passwords.driver.bcrypt' + - '@passwords.driver_helper' + tags: + - { name: passwords.driver } + + passwords.driver.salted_md5: + class: phpbb\passwords\driver\salted_md5 + arguments: + - '@config' + - '@passwords.driver_helper' + tags: + - { name: passwords.driver } + + passwords.driver.phpass: + class: phpbb\passwords\driver\phpass + arguments: + - '@config' + - '@passwords.driver_helper' + tags: + - { name: passwords.driver } + + passwords.driver.convert_password: + class: phpbb\passwords\driver\convert_password + arguments: + - '@config' + - '@passwords.driver_helper' + tags: + - { name: passwords.driver } + + passwords.driver.sha1_smf: + class: phpbb\passwords\driver\sha1_smf + arguments: + - '@config' + - '@passwords.driver_helper' + tags: + - { name: passwords.driver } + + passwords.driver.sha1_wcf1: + class: phpbb\passwords\driver\sha1_wcf1 + arguments: + - '@config' + - '@passwords.driver_helper' + tags: + - { name: passwords.driver } + + passwords.driver.sha1: + class: phpbb\passwords\driver\sha1 + arguments: + - '@config' + - '@passwords.driver_helper' + tags: + - { name: passwords.driver } + + passwords.driver.md5_phpbb2: + class: phpbb\passwords\driver\md5_phpbb2 + arguments: + - '@request' + - '@passwords.driver.salted_md5' + - '@passwords.driver_helper' + - '%core.root_path%' + - '%core.php_ext%' + tags: + - { name: passwords.driver } + + passwords.driver.md5_mybb: + class: phpbb\passwords\driver\md5_mybb + arguments: + - '@config' + - '@passwords.driver_helper' + tags: + - { name: passwords.driver } + + passwords.driver.md5_vb: + class: phpbb\passwords\driver\md5_vb + arguments: + - '@config' + - '@passwords.driver_helper' + tags: + - { name: passwords.driver } diff --git a/phpBB/config/default/container/services_php.yml b/phpBB/config/default/container/services_php.yml new file mode 100644 index 0000000000..29349960f3 --- /dev/null +++ b/phpBB/config/default/container/services_php.yml @@ -0,0 +1,3 @@ +services: + php_ini: + class: bantu\IniGetWrapper\IniGetWrapper diff --git a/phpBB/config/default/container/services_profilefield.yml b/phpBB/config/default/container/services_profilefield.yml new file mode 100644 index 0000000000..90b22836e5 --- /dev/null +++ b/phpBB/config/default/container/services_profilefield.yml @@ -0,0 +1,102 @@ +services: + profilefields.manager: + class: phpbb\profilefields\manager + arguments: + - '@auth' + - '@dbal.conn' + - '@dispatcher' + - '@request' + - '@template' + - '@profilefields.type_collection' + - '@user' + - '%tables.profile_fields%' + - '%tables.profile_fields_language%' + - '%tables.profile_fields_data%' + + profilefields.lang_helper: + class: phpbb\profilefields\lang_helper + arguments: + - '@dbal.conn' + - '%tables.profile_fields_options_language%' + +# ----- Profile fields types ----- + profilefields.type_collection: + class: phpbb\di\service_collection + arguments: + - '@service_container' + tags: + - { name: service_collection, tag: profilefield.type } + + profilefields.type.bool: + class: phpbb\profilefields\type\type_bool + arguments: + - '@profilefields.lang_helper' + - '@request' + - '@template' + - '@user' + tags: + - { name: profilefield.type } + + profilefields.type.date: + class: phpbb\profilefields\type\type_date + arguments: + - '@request' + - '@template' + - '@user' + tags: + - { name: profilefield.type } + + profilefields.type.dropdown: + class: phpbb\profilefields\type\type_dropdown + arguments: + - '@profilefields.lang_helper' + - '@request' + - '@template' + - '@user' + tags: + - { name: profilefield.type } + + profilefields.type.googleplus: + class: phpbb\profilefields\type\type_googleplus + arguments: + - '@request' + - '@template' + - '@user' + tags: + - { name: profilefield.type } + + profilefields.type.int: + class: phpbb\profilefields\type\type_int + arguments: + - '@request' + - '@template' + - '@user' + tags: + - { name: profilefield.type } + + profilefields.type.string: + class: phpbb\profilefields\type\type_string + arguments: + - '@request' + - '@template' + - '@user' + tags: + - { name: profilefield.type } + + profilefields.type.text: + class: phpbb\profilefields\type\type_text + arguments: + - '@request' + - '@template' + - '@user' + tags: + - { name: profilefield.type } + + profilefields.type.url: + class: phpbb\profilefields\type\type_url + arguments: + - '@request' + - '@template' + - '@user' + tags: + - { name: profilefield.type } diff --git a/phpBB/config/default/container/services_report.yml b/phpBB/config/default/container/services_report.yml new file mode 100644 index 0000000000..2c5b3bf3d5 --- /dev/null +++ b/phpBB/config/default/container/services_report.yml @@ -0,0 +1,53 @@ +services: +# ----- Report controller ----- + phpbb.report.controller: + class: phpbb\report\controller\report + arguments: + - '@config' + - '@user' + - '@template' + - '@controller.helper' + - '@request' + - '@captcha.factory' + - '@phpbb.report.handler_factory' + - '@phpbb.report.report_reason_list_provider' + - '%core.root_path%' + - '%core.php_ext%' + +# ----- Report handler factory ----- + phpbb.report.handler_factory: + class: phpbb\report\handler_factory + arguments: + - '@service_container' + +# ----- Report UI provider ----- + phpbb.report.report_reason_list_provider: + class: phpbb\report\report_reason_list_provider + arguments: + - '@dbal.conn.driver' + - '@template' + - '@user' + +# ----- Report handlers ----- +# Service MUST NOT be shared for all the handlers to work correctly. + phpbb.report.handlers.report_handler_pm: + class: phpbb\report\report_handler_pm + shared: false + arguments: + - '@dbal.conn.driver' + - '@dispatcher' + - '@config' + - '@auth' + - '@user' + - '@notification_manager' + + phpbb.report.handlers.report_handler_post: + class: phpbb\report\report_handler_post + shared: false + arguments: + - '@dbal.conn.driver' + - '@dispatcher' + - '@config' + - '@auth' + - '@user' + - '@notification_manager' diff --git a/phpBB/config/default/container/services_routing.yml b/phpBB/config/default/container/services_routing.yml new file mode 100644 index 0000000000..3048145a2f --- /dev/null +++ b/phpBB/config/default/container/services_routing.yml @@ -0,0 +1,79 @@ +services: + router: + class: phpbb\routing\router + arguments: + - '@service_container' + - '@routing.chained_resources_locator' + - '@routing.delegated_loader' + - '%core.php_ext%' + - '%core.cache_dir%' + + router.listener: + class: Symfony\Component\HttpKernel\EventListener\RouterListener + arguments: + - '@router' + - null + - null + - '@request_stack' + tags: + - { name: kernel.event_subscriber } + + routing.helper: + class: phpbb\routing\helper + arguments: + - '@config' + - '@router' + - '@symfony_request' + - '@request' + - '@filesystem' + - '%core.root_path%' + - '%core.php_ext%' + +# ---- Route loaders ---- + + routing.delegated_loader: + class: Symfony\Component\Config\Loader\DelegatingLoader + arguments: + - '@routing.resolver' + + routing.resolver: + class: phpbb\routing\loader_resolver + arguments: + - '@routing.loader.collection' + + routing.loader.collection: + class: phpbb\di\service_collection + arguments: + - '@service_container' + tags: + - { name: service_collection, tag: routing.loader } + + routing.loader.yaml: + class: Symfony\Component\Routing\Loader\YamlFileLoader + arguments: + - '@file_locator' + tags: + - { name: routing.loader } + +# ---- Resources Locators ---- + + routing.chained_resources_locator: + class: phpbb\routing\resources_locator\chained_resources_locator + arguments: + - '@routing.resources_locator.collection' + + routing.resources_locator.collection: + class: phpbb\di\service_collection + arguments: + - '@service_container' + tags: + - { name: service_collection, tag: routing.resources_locator } + + routing.resources_locator.default: + class: phpbb\routing\resources_locator\default_resources_locator + arguments: + - '%core.root_path%' + - '%core.environment%' + - '@ext.manager' + tags: + - { name: routing.resources_locator } diff --git a/phpBB/config/default/container/services_text_formatter.yml b/phpBB/config/default/container/services_text_formatter.yml new file mode 100644 index 0000000000..a9f2efdb16 --- /dev/null +++ b/phpBB/config/default/container/services_text_formatter.yml @@ -0,0 +1,73 @@ +parameters: + text_formatter.cache.dir: '%core.cache_dir%' + text_formatter.cache.parser.key: _text_formatter_parser + text_formatter.cache.renderer.key: _text_formatter_renderer + +services: + text_formatter.cache: + alias: text_formatter.s9e.factory + + text_formatter.data_access: + class: phpbb\textformatter\data_access + arguments: + - '@dbal.conn' + - '%tables.bbcodes%' + - '%tables.smilies%' + - '%tables.styles%' + - '%tables.words%' + - '%core.root_path%styles/' + + text_formatter.parser: + alias: text_formatter.s9e.parser + + text_formatter.renderer: + alias: text_formatter.s9e.renderer + + text_formatter.utils: + alias: text_formatter.s9e.utils + + text_formatter.s9e.factory: + class: phpbb\textformatter\s9e\factory + arguments: + - '@text_formatter.data_access' + - '@cache.driver' + - '@dispatcher' + - '@config' + - '@text_formatter.s9e.link_helper' + - '%text_formatter.cache.dir%' + - '%text_formatter.cache.parser.key%' + - '%text_formatter.cache.renderer.key%' + + text_formatter.s9e.link_helper: + class: phpbb\textformatter\s9e\link_helper + + text_formatter.s9e.parser: + class: phpbb\textformatter\s9e\parser + arguments: + - '@cache.driver' + - '%text_formatter.cache.parser.key%' + - '@text_formatter.s9e.factory' + - '@dispatcher' + + text_formatter.s9e.quote_helper: + class: phpbb\textformatter\s9e\quote_helper + arguments: + - '@user' + - '%core.root_path%' + - '%core.php_ext%' + + text_formatter.s9e.renderer: + class: phpbb\textformatter\s9e\renderer + arguments: + - '@cache.driver' + - '%text_formatter.cache.dir%' + - '%text_formatter.cache.renderer.key%' + - '@text_formatter.s9e.factory' + - '@dispatcher' + calls: + - [configure_quote_helper, ['@text_formatter.s9e.quote_helper']] + - [configure_smilies_path, ['@config', '@path_helper']] + - [configure_user, ['@user', '@config', '@auth']] + + text_formatter.s9e.utils: + class: phpbb\textformatter\s9e\utils diff --git a/phpBB/config/default/container/services_text_reparser.yml b/phpBB/config/default/container/services_text_reparser.yml new file mode 100644 index 0000000000..4bc49f5765 --- /dev/null +++ b/phpBB/config/default/container/services_text_reparser.yml @@ -0,0 +1,109 @@ +services: + text_reparser.manager: + class: phpbb\textreparser\manager + arguments: + - '@config' + - '@config_text' + - '@text_reparser_collection' + + text_reparser.lock: + class: phpbb\lock\db + arguments: + - reparse_lock + - '@config' + - '@dbal.conn' + + text_reparser_collection: + class: phpbb\di\service_collection + arguments: + - '@service_container' + tags: + - { name: service_collection, tag: text_reparser.plugin } + + text_reparser.contact_admin_info: + class: phpbb\textreparser\plugins\contact_admin_info + arguments: + - '@config_text' + calls: + - [set_name, [contact_admin_info]] + tags: + - { name: text_reparser.plugin } + + text_reparser.forum_description: + class: phpbb\textreparser\plugins\forum_description + arguments: + - '@dbal.conn' + - '%tables.forums%' + calls: + - [set_name, [forum_description]] + tags: + - { name: text_reparser.plugin } + + text_reparser.forum_rules: + class: phpbb\textreparser\plugins\forum_rules + arguments: + - '@dbal.conn' + - '%tables.forums%' + calls: + - [set_name, [forum_rules]] + tags: + - { name: text_reparser.plugin } + + text_reparser.group_description: + class: phpbb\textreparser\plugins\group_description + arguments: + - '@dbal.conn' + - '%tables.groups%' + calls: + - [set_name, [group_description]] + tags: + - { name: text_reparser.plugin } + + text_reparser.pm_text: + class: phpbb\textreparser\plugins\pm_text + arguments: + - '@dbal.conn' + - '%tables.privmsgs%' + calls: + - [set_name, [pm_text]] + tags: + - { name: text_reparser.plugin } + + text_reparser.poll_option: + class: phpbb\textreparser\plugins\poll_option + arguments: + - '@dbal.conn' + calls: + - [set_name, [poll_option]] + tags: + - { name: text_reparser.plugin } + + text_reparser.poll_title: + class: phpbb\textreparser\plugins\poll_title + arguments: + - '@dbal.conn' + - '%tables.topics%' + calls: + - [set_name, [poll_title]] + tags: + - { name: text_reparser.plugin } + + text_reparser.post_text: + class: phpbb\textreparser\plugins\post_text + arguments: + - '@dbal.conn' + - '%tables.posts%' + calls: + - [set_name, [post_text]] + tags: + - { name: text_reparser.plugin } + + text_reparser.user_signature: + class: phpbb\textreparser\plugins\user_signature + arguments: + - '@dbal.conn' + - '%tables.users%' + calls: + - [set_name, [user_signature]] + tags: + - { name: text_reparser.plugin } diff --git a/phpBB/config/default/container/services_twig.yml b/phpBB/config/default/container/services_twig.yml new file mode 100644 index 0000000000..a9b5b6d4cd --- /dev/null +++ b/phpBB/config/default/container/services_twig.yml @@ -0,0 +1,68 @@ +parameters: + core.template.cache_path: '%core.cache_dir%twig/' + +services: + template.twig.environment: + class: phpbb\template\twig\environment + arguments: + - '@config' + - '@filesystem' + - '@path_helper' + - '%core.template.cache_path%' + - '@ext.manager' + - '@template.twig.loader' + - '@dispatcher' + - [] + calls: + - [setLexer, ['@template.twig.lexer']] + + template.twig.lexer: + class: phpbb\template\twig\lexer + lazy: true + arguments: + - '@template.twig.environment' + + template.twig.loader: + class: phpbb\template\twig\loader + arguments: + - '@filesystem' + + template.twig.extensions.collection: + class: phpbb\di\service_collection + arguments: + - '@service_container' + tags: + - { name: service_collection, tag: twig.extension } + + template.twig.extensions.phpbb: + class: phpbb\template\twig\extension + arguments: + - '@template_context' + - '@language' + tags: + - { name: twig.extension } + + template.twig.extensions.routing: + class: phpbb\template\twig\extension\routing + arguments: + - '@routing.helper' + tags: + - { name: twig.extension } + + template.twig.extensions.debug: + class: Twig_Extension_Debug + + template: + class: phpbb\template\twig\twig + arguments: + - '@path_helper' + - '@config' + - '@template_context' + - '@template.twig.environment' + - '%core.template.cache_path%' + - '@user' + - '@template.twig.extensions.collection' + - '@ext.manager' + + template_context: + class: phpbb\template\context diff --git a/phpBB/config/default/container/services_user.yml b/phpBB/config/default/container/services_user.yml new file mode 100644 index 0000000000..7e634c60c3 --- /dev/null +++ b/phpBB/config/default/container/services_user.yml @@ -0,0 +1,20 @@ +services: + acl.permissions: + class: phpbb\permissions + arguments: + - '@dispatcher' + - '@user' + + user: + class: phpbb\user + arguments: + - '@language' + - '%datetime.class%' + + user_loader: + class: phpbb\user_loader + arguments: + - '@dbal.conn' + - '%core.root_path%' + - '%core.php_ext%' + - '%tables.users%' diff --git a/phpBB/config/default/container/tables.yml b/phpBB/config/default/container/tables.yml new file mode 100644 index 0000000000..4aed35710b --- /dev/null +++ b/phpBB/config/default/container/tables.yml @@ -0,0 +1,78 @@ +parameters: + 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/config/default/routing/feed.yml b/phpBB/config/default/routing/feed.yml new file mode 100644 index 0000000000..22c9ea5755 --- /dev/null +++ b/phpBB/config/default/routing/feed.yml @@ -0,0 +1,35 @@ +phpbb_feed_forums: + path: /forums + defaults: { _controller: phpbb.feed.controller:forums } + +phpbb_feed_news: + path: /news + defaults: { _controller: phpbb.feed.controller:news } + +phpbb_feed_topics: + path: /topics + defaults: { _controller: phpbb.feed.controller:topics } + +phpbb_feed_topics_active: + path: /topics_active + defaults: { _controller: phpbb.feed.controller:topics_active } + +phpbb_feed_topics_new: + path: /topics_new + defaults: { _controller: phpbb.feed.controller:topics_new } + +phpbb_feed_forum: + path: /forum/{forum_id} + defaults: { _controller: phpbb.feed.controller:forum } + requirements: + forum_id: \d+ + +phpbb_feed_topic: + path: /topic/{topic_id} + defaults: { _controller: phpbb.feed.controller:topic } + requirements: + topic_id: \d+ + +phpbb_feed_overall: + path: /{mode} + defaults: { _controller: phpbb.feed.controller:overall } diff --git a/phpBB/config/default/routing/help.yml b/phpBB/config/default/routing/help.yml new file mode 100644 index 0000000000..8d43839d1e --- /dev/null +++ b/phpBB/config/default/routing/help.yml @@ -0,0 +1,7 @@ +phpbb_help_bbcode_controller: + path: /bbcode + defaults: { _controller: phpbb.help.controller.bbcode:handle } + +phpbb_help_faq_controller: + path: /faq + defaults: { _controller: phpbb.help.controller.faq:handle } diff --git a/phpBB/config/default/routing/report.yml b/phpBB/config/default/routing/report.yml new file mode 100644 index 0000000000..c386770e42 --- /dev/null +++ b/phpBB/config/default/routing/report.yml @@ -0,0 +1,17 @@ +phpbb_report_pm_controller: + path: /pm/{id}/report + methods: [GET, POST] + defaults: + _controller: phpbb.report.controller:handle + mode: 'pm' + requirements: + id: \d+ + +phpbb_report_post_controller: + path: /post/{id}/report + methods: [GET, POST] + defaults: + _controller: phpbb.report.controller:handle + mode: 'post' + requirements: + id: \d+ diff --git a/phpBB/config/default/routing/routing.yml b/phpBB/config/default/routing/routing.yml new file mode 100644 index 0000000000..f381f024ad --- /dev/null +++ b/phpBB/config/default/routing/routing.yml @@ -0,0 +1,24 @@ +# Structure: +# +# foo_controller: +# path: /foo +# defaults: { _controller: foo_sevice:method } +# +# The above will be accessed via app.php?controller=foo and it will +# instantiate the 'foo_service' service and call the 'method' method. +# + +phpbb_feed_routing: + resource: feed.yml + prefix: /feed + +phpbb_feed_index: + path: /feed + defaults: { _controller: phpbb.feed.controller:overall } + +phpbb_help_routing: + resource: help.yml + prefix: /help + +phpbb_report_routing: + resource: report.yml |