services: notification_manager: class: phpbb\notification\manager arguments: - @notification.type_collection - @notification.method_collection - @service_container - @user_loader - @config - @dbal.conn - @cache - @user - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %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.approve_post: class: phpbb\notification\type\approve_post scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% tags: - { name: notification.type } notification.type.approve_topic: class: phpbb\notification\type\approve_topic scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% tags: - { name: notification.type } notification.type.bookmark: class: phpbb\notification\type\bookmark scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% tags: - { name: notification.type } notification.type.disapprove_post: class: phpbb\notification\type\disapprove_post scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% tags: - { name: notification.type } notification.type.disapprove_topic: class: phpbb\notification\type\disapprove_topic scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% tags: - { name: notification.type } notification.type.group_request: class: phpbb\notification\type\group_request scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% tags: - { name: notification.type } notification.type.group_request_approved: class: phpbb\notification\type\group_request_approved scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% tags: - { name: notification.type } notification.type.pm: class: phpbb\notification\type\pm scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% tags: - { name: notification.type } notification.type.post: class: phpbb\notification\type\post scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% tags: - { name: notification.type } notification.type.post_in_queue: class: phpbb\notification\type\post_in_queue scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% tags: - { name: notification.type } notification.type.quote: class: phpbb\notification\type\quote scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% tags: - { name: notification.type } notification.type.report_pm: class: phpbb\notification\type\report_pm scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% tags: - { name: notification.type } notification.type.report_pm_closed: class: phpbb\notification\type\report_pm_closed scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% tags: - { name: notification.type } notification.type.report_post: class: phpbb\notification\type\report_post scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% tags: - { name: notification.type } notification.type.report_post_closed: class: phpbb\notification\type\report_post_closed scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% tags: - { name: notification.type } notification.type.topic: class: phpbb\notification\type\topic scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% tags: - { name: notification.type } notification.type.topic_in_queue: class: phpbb\notification\type\topic_in_queue scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% tags: - { name: notification.type } notification.type.admin_activate_user: class: phpbb\notification\type\admin_activate_user scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% - %tables.notification_types% - %tables.notifications% - %tables.user_notifications% 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.email: class: phpbb\notification\method\email scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% tags: - { name: notification.method } notification.method.jabber: class: phpbb\notification\method\jabber scope: prototype arguments: - @user_loader - @dbal.conn - @cache.driver - @user - @auth - @config - %core.root_path% - %core.php_ext% tags: - { name: notification.method }