aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/config/default/container/services_notification.yml
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/config/default/container/services_notification.yml')
-rw-r--r--phpBB/config/default/container/services_notification.yml224
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 }