class board extends base

In Board notification method class This class handles in board notifications. This method is enabled by default.

Properties

protected manager $notification_manager from  base
protected array $queue

Queue of messages to be sent

from  base
protected user_loader $user_loader
protected driver_interface $db
protected driver_interface $cache
protected user $user
protected config $config
protected string $notification_types_table
protected string $notifications_table

Methods

set_notification_manager(manager $notification_manager)

Set notification manager (required)

from  base
bool
is_enabled_by_default()

Is the method enable by default?

array
get_notified_users(int $notification_type_id, array $options)

Return the list of the users already notified

array
load_notifications(array $options = array())

Load the user's notifications

add_to_queue(type_interface $notification)

Add a notification to the queue

update_notification(type_interface $notification, array $data, array $options)

Update a notification

mark_notifications(bool|string $notification_type_id, bool|int|array $item_id, bool|int|array $user_id, bool|int $time = false, bool $mark_read = true)

{@inheritdoc

mark_notifications_by_parent(string $notification_type_id, bool|int|array $item_parent_id, bool|int|array $user_id, bool|int $time = false, bool $mark_read = true)

Mark notifications read or unread from a parent identifier

mark_notifications_by_id(int $notification_id, bool|int $time = false, bool $mark_read = true)

Mark notifications read or unread

delete_notifications(string $notification_type_id, int|array $item_id, mixed $parent_id = false, mixed $user_id = false)

Delete a notification

prune_notifications(int $timestamp, bool $only_read = true)

Delete all notifications older than a certain time

purge_notifications(string $notification_type_id)

Purge all notifications of a certain type

empty_queue()

Empty the queue

from  base
__construct(user_loader $user_loader, driver_interface $db, driver_interface $cache, user $user, config $config, string $notification_types_table, string $notifications_table)

Notification Method Board Constructor

string
get_type()

Get notification method name

is_available()

Is this method available for the user? This is checked on the notifications options

notify()

Parse the queue and notify the users

Details

in base at line 36
set_notification_manager(manager $notification_manager)

Set notification manager (required)

Parameters

manager $notification_manager

at line 95
bool is_enabled_by_default()

Is the method enable by default?

Return Value

bool

at line 103
array get_notified_users(int $notification_type_id, array $options)

Return the list of the users already notified

Parameters

int $notification_type_id

ID of the notification type

array $options

Return Value

array

User

at line 128
array load_notifications(array $options = array())

Load the user's notifications

Parameters

array $options

Optional options to control what notifications are loaded notification_id Notification id to load (or array of notification ids) user_id User id to load notifications for (Default: $user->data['user_id']) order_by Order by (Default: notification_time) order_dir Order direction (Default: DESC) limit Number of notifications to load (Default: 5) start Notifications offset (Default: 0) all_unread Load all unread notifications? If set to true, count_unread is set to true (Default: false) count_unread Count all unread notifications? (Default: false) count_total Count all notifications? (Default: false)

Return Value

array

Array of information based on the request with keys: 'notifications' array of notification type objects 'unread_count' number of unread notifications the user has if count_unread is true in the options 'total_count' number of notifications the user has if count_total is true in the options

at line 71
add_to_queue(type_interface $notification)

Add a notification to the queue

Parameters

type_interface $notification

at line 285
update_notification(type_interface $notification, array $data, array $options)

Update a notification

Parameters

type_interface $notification

Notification to update

array $data

Data specific for this type that will be updated

array $options

at line 313
mark_notifications(bool|string $notification_type_id, bool|int|array $item_id, bool|int|array $user_id, bool|int $time = false, bool $mark_read = true)

{@inheritdoc

Parameters

bool|string $notification_type_id

Type identifier of item types. False to mark read for all item types

bool|int|array $item_id

Item id or array of item ids. False to mark read for all item ids

bool|int|array $user_id

User id or array of user ids. False to mark read for all user ids

bool|int $time

Time at which to mark all notifications prior to as read. False to mark all as read. (Default: False)

bool $mark_read

Define if the notification as to be set to True or False. (Default: True)

at line 330
mark_notifications_by_parent(string $notification_type_id, bool|int|array $item_parent_id, bool|int|array $user_id, bool|int $time = false, bool $mark_read = true)

Mark notifications read or unread from a parent identifier

Parameters

string $notification_type_id

Type identifier of item types

bool|int|array $item_parent_id

Item parent id or array of item parent ids. False to mark read for all item parent ids

bool|int|array $user_id

User id or array of user ids. False to mark read for all user ids

bool|int $time

Time at which to mark all notifications prior to as read. False to mark all as read. (Default: False)

bool $mark_read

Define if the notification as to be set to True or False. (Default: True)

at line 347
mark_notifications_by_id(int $notification_id, bool|int $time = false, bool $mark_read = true)

Mark notifications read or unread

Parameters

int $notification_id

Notification id of notification ids.

bool|int $time

Time at which to mark all notifications prior to as read. False to mark all as read. (Default: False)

bool $mark_read

Define if the notification as to be set to True or False. (Default: True)

at line 361
delete_notifications(string $notification_type_id, int|array $item_id, mixed $parent_id = false, mixed $user_id = false)

Delete a notification

Parameters

string $notification_type_id

Type identifier of item types

int|array $item_id

Identifier within the type (or array of ids)

mixed $parent_id

Parent identifier within the type (or array of ids), used in combination with item_id if specified (Default: false; not checked)

mixed $user_id

User id (Default: false; not checked)

at line 374
prune_notifications(int $timestamp, bool $only_read = true)

Delete all notifications older than a certain time

Parameters

int $timestamp

Unix timestamp to delete all notifications that were created before

bool $only_read

True (default) to only prune read notifications

at line 387
purge_notifications(string $notification_type_id)

Purge all notifications of a certain type

This should be called when an extension which has notification types is purged so that all those notifications are removed

Parameters

string $notification_type_id

Type identifier of the subscription

in base at line 133
protected empty_queue()

Empty the queue

at line 56
__construct(user_loader $user_loader, driver_interface $db, driver_interface $cache, user $user, config $config, string $notification_types_table, string $notifications_table)

Notification Method Board Constructor

Parameters

user_loader $user_loader
driver_interface $db
driver_interface $cache
user $user
config $config
string $notification_types_table
string $notifications_table

at line 79
string get_type()

Get notification method name

Return Value

string

at line 87
is_available()

Is this method available for the user? This is checked on the notifications options

at line 265
notify()

Parse the queue and notify the users