diff --git a/phpBB/config/default/container/services.yml b/phpBB/config/default/container/services.yml index 2f5a4bd5a6..950b8ae295 100644 --- a/phpBB/config/default/container/services.yml +++ b/phpBB/config/default/container/services.yml @@ -25,6 +25,7 @@ imports: - { resource: services_profilefield.yml } - { resource: services_report.yml } - { resource: services_routing.yml } + - { resource: services_storage.yml } - { resource: services_text_formatter.yml } - { resource: services_text_reparser.yml } - { resource: services_twig.yml } diff --git a/phpBB/config/default/container/services_files.yml b/phpBB/config/default/container/services_files.yml index ba1fdb4c9a..44da208d8e 100644 --- a/phpBB/config/default/container/services_files.yml +++ b/phpBB/config/default/container/services_files.yml @@ -16,6 +16,17 @@ services: - '@mimetype.guesser' - '@plupload' + files.filespec_storage: + class: phpbb\files\filespec_storage + shared: false + arguments: + - '@language' + - '@php_ini' + - '@upload_imagesize' + - '%core.root_path%' + - '@mimetype.guesser' + - '@plupload' + files.upload: class: phpbb\files\upload shared: false @@ -36,6 +47,16 @@ services: - '@plupload' - '@request' + files.types.form_storage: + class: phpbb\files\types\form_storage + shared: false + arguments: + - '@files.factory' + - '@language' + - '@php_ini' + - '@plupload' + - '@request' + files.types.local: class: phpbb\files\types\local shared: false @@ -55,3 +76,14 @@ services: - '@php_ini' - '@request' - '%core.root_path%' + + files.types.remote_storage: + class: phpbb\files\types\remote_storage + shared: false + arguments: + - '@config' + - '@files.factory' + - '@language' + - '@php_ini' + - '@request' + - '%core.root_path%' diff --git a/phpBB/config/default/container/services_storage.yml b/phpBB/config/default/container/services_storage.yml new file mode 100644 index 0000000000..4a14f00962 --- /dev/null +++ b/phpBB/config/default/container/services_storage.yml @@ -0,0 +1,41 @@ +services: +# Factory + storage.adapter.factory: + class: phpbb\storage\adapter_factory + arguments: + - '@config' + - '@service_container' + - '@storage.adapter_collection' + - '@storage.provider_collection' + +# Collections + storage.adapter_collection: + class: phpbb\di\service_collection + arguments: + - '@service_container' + tags: + - { name: service_collection, tag: storage.adapter, class_name_aware: true } + + storage.provider_collection: + class: phpbb\di\service_collection + arguments: + - '@service_container' + tags: + - { name: service_collection, tag: storage.provider, class_name_aware: true } + +# Adapters + storage.adapter.local: + class: phpbb\storage\adapter\local + shared: false + arguments: + - '@filesystem' + - '%core.root_path%' + tags: + - { name: storage.adapter } + +# Providers + storage.provider.local: + class: phpbb\storage\provider\local + arguments: + tags: + - { name: storage.provider }