diff options
Diffstat (limited to 'phpBB/config/default/container/services_notification.yml')
-rw-r--r-- | phpBB/config/default/container/services_notification.yml | 224 |
1 files changed, 224 insertions, 0 deletions
diff --git a/phpBB/config/default/container/services_notification.yml b/phpBB/config/default/container/services_notification.yml new file mode 100644 index 0000000000..0cf64f7f24 --- /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 ----- +# Scope MUST be prototype 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 + scope: prototype + 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 + scope: prototype + parent: notification.type.post + tags: + - { name: notification.type } + + notification.type.approve_topic: + class: phpbb\notification\type\approve_topic + scope: prototype + parent: notification.type.topic + tags: + - { name: notification.type } + + notification.type.bookmark: + class: phpbb\notification\type\bookmark + scope: prototype + parent: notification.type.post + tags: + - { name: notification.type } + + notification.type.disapprove_post: + class: phpbb\notification\type\disapprove_post + scope: prototype + parent: notification.type.post + tags: + - { name: notification.type } + + notification.type.disapprove_topic: + class: phpbb\notification\type\disapprove_topic + scope: prototype + parent: notification.type.topic + tags: + - { name: notification.type } + + notification.type.group_request: + class: phpbb\notification\type\group_request + scope: prototype + 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 + scope: prototype + parent: notification.type.base + tags: + - { name: notification.type } + + notification.type.pm: + class: phpbb\notification\type\pm + scope: prototype + 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 + scope: prototype + 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 + scope: prototype + parent: notification.type.post + tags: + - { name: notification.type } + + notification.type.quote: + class: phpbb\notification\type\quote + scope: prototype + parent: notification.type.post + calls: + - [set_utils, ['@text_formatter.utils']] + tags: + - { name: notification.type } + + notification.type.report_pm: + class: phpbb\notification\type\report_pm + scope: prototype + parent: notification.type.pm + tags: + - { name: notification.type } + + notification.type.report_pm_closed: + class: phpbb\notification\type\report_pm_closed + scope: prototype + parent: notification.type.pm + tags: + - { name: notification.type } + + notification.type.report_post: + class: phpbb\notification\type\report_post + scope: prototype + parent: notification.type.post + tags: + - { name: notification.type } + + notification.type.report_post_closed: + class: phpbb\notification\type\report_post_closed + scope: prototype + parent: notification.type.post + tags: + - { name: notification.type } + + notification.type.topic: + class: phpbb\notification\type\topic + scope: prototype + 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 + scope: prototype + parent: notification.type.topic + tags: + - { name: notification.type } + +# ----- Notification's methods ----- +# Scope MUST be prototype 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 + scope: prototype # scope MUST be prototype for this to work! + 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 + scope: prototype + arguments: + - '@user_loader' + - '@user' + - '@config' + - '%core.root_path%' + - '%core.php_ext%' + tags: + - { name: notification.method } + + notification.method.jabber: + class: phpbb\notification\method\jabber + scope: prototype + arguments: + - '@user_loader' + - '@user' + - '@config' + - '%core.root_path%' + - '%core.php_ext%' + tags: + - { name: notification.method } |