webpush
class webpush extends base implements extended_method_interface
Web Push notification method class This class handles sending push messages for notifications
Constants
MOZILLA_FALLBACK_PADDING |
|
Properties
protected manager | $notification_manager | from base | |
protected array | $queue | Queue of messages to be sent |
from base |
protected config | $config | ||
protected driver_interface | $db | ||
protected log_interface | $log | ||
protected user_loader | $user_loader | ||
protected user | $user | ||
protected string | $phpbb_root_path | ||
protected string | $php_ext | ||
protected string | $notification_webpush_table | ||
protected string | $push_subscriptions_table |
Methods
Is the method enable by default?
Return the list of the users already notified
Update a notification
Mark notifications read or unread
Mark notifications read or unread from a parent identifier
Mark notifications read or unread
Delete a notification
Delete all notifications older than a certain time
Notification Method Web Push constructor
Get notification method name
Is this method available for the user? This is checked on the notifications options
Parse the queue and notify the users
Notify using Web Push
Clean data to contain only what we need for webpush notifications table
Get template data for the UCP
Get subscriptions for notify users
Remove subscriptions
Clean expired subscriptions from the database
Set web push padding for endpoint
Details
in
base at line 36
set_notification_manager(manager $notification_manager)
Set notification manager (required)
at line 114
bool
is_enabled_by_default()
Is the method enable by default?
at line 122
array
get_notified_users(int $notification_type_id, array $options)
Return the list of the users already notified
in
base at line 62
array
load_notifications(array $options = array())
Load the user's notifications
in
base at line 76
add_to_queue(type_interface $notification)
Add a notification to the queue
in
base at line 84
update_notification(type_interface $notification, array $data, array $options)
Update a notification
at line 308
mark_notifications(bool|string|array $notification_type_id, bool|int|array $item_id, bool|int|array $user_id, bool|int $time = false, bool $mark_read = true)
Mark notifications read or unread
at line 320
mark_notifications_by_parent(string|int|array $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
in
base at line 105
mark_notifications_by_id(array|int $notification_id, bool|int $time = false, bool $mark_read = true)
Mark notifications read or unread
in
base at line 112
delete_notifications(int $notification_type_id, int|array $item_id, mixed $parent_id = false, mixed $user_id = false)
Delete a notification
at line 332
prune_notifications(int $timestamp, bool $only_read = true)
Delete all notifications older than a certain time
in
base at line 126
purge_notifications(int $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
in
base at line 133
protected
empty_queue()
Empty the queue
at line 79
__construct(config $config, driver_interface $db, log_interface $log, user_loader $user_loader, user $user, string $phpbb_root_path, string $php_ext, string $notification_webpush_table, string $push_subscriptions_table)
Notification Method Web Push constructor
at line 96
string
get_type()
Get notification method name
at line 104
is_available(type_interface $notification_type = null)
Is this method available for the user? This is checked on the notifications options
at line 145
notify()
Parse the queue and notify the users
at line 178
protected void
notify_using_webpush()
Notify using Web Push
at line 347
static array
clean_data(array $data)
Clean data to contain only what we need for webpush notifications table
at line 370
array
get_ucp_template_data(helper $controller_helper, form_helper $form_helper)
Get template data for the UCP
at line 404
protected array
get_user_subscription_map(array $notify_users)
Get subscriptions for notify users
at line 428
void
remove_subscriptions(array $subscription_ids)
Remove subscriptions
at line 445
protected void
clean_expired_subscriptions(array $user_subscription_map, array $expired_endpoints)
Clean expired subscriptions from the database
at line 478
protected void
set_endpoint_padding(WebPush $web_push, string $endpoint)
Set web push padding for endpoint