class group_request extends base

Properties

protected manager $notification_manager from  base
protected driver_interface $db from  base
protected language $language from  base
protected user $user from  base
protected auth $auth from  base
protected string $phpbb_root_path from  base
protected string $php_ext from  base
protected string $user_notifications_table from  base
static $notification_option {@inheritdoc}
protected int $notification_type_id

The notification_type_id, set upon creation of the class This is the notification_type_id from the notification_types table

from  base
protected user_loader $user_loader

Methods

__construct(driver_interface $db, language $language, user $user, auth $auth, string $phpbb_root_path, string $php_ext, string $user_notifications_table)

Notification Type Base Constructor

from  base
set_notification_manager(manager $notification_manager)

Set notification manager (required)

from  base
set_initial_data(array $data = array())

Set initial data from the database

from  base
mixed
__get(mixed $name)

Magic method to get data from this notification

from  base
null
__set(mixed $name, mixed $value)

Magic method to set data on this notification

from  base
mixed
__toString()

Magic method to get a string of this notification

from  base
mixed
get_data(string $name)

Get special data (only important for the classes that extend this)

from  base
mixed
set_data(string $name, mixed $value)

Set special data (only important for the classes that extend this)

from  base
create_insert_array($group, array $pre_create_data = array())

Function for preparing the data for insertion in an SQL query

array
get_insert_array()

Function for getting the data for insertion in an SQL query

from  base
array
create_update_array(array $type_data)

Function for preparing the data for update in an SQL query (The service handles insertion)

from  base
string
mark_read(bool $return = false)

Mark this item read

from  base
string
mark_unread(bool $return = false)

Mark this item unread

from  base
string
get_redirect_url()

{inheritDoc}

from  base
prepare_for_display()

Prepare to output the notification to the template

from  base
get_unsubscribe_url(string|bool $method = false)

URL to unsubscribe to this notification (fall back)

from  base
string
get_style_class()

Get the CSS style class of the notification (fall back)

from  base
string
get_avatar()

Get the user's avatar (fall back)

string
get_reference()

Get the reference of the notification (fall back)

from  base
string
get_forum()

Get the forum of the notification reference (fall back)

from  base
string
get_reason()

Get the reason for the notification (fall back)

from  base
array
get_load_special()

Get the special items to load (fall back)

from  base
load_special(array $data, array $notifications)

Load the special items (fall back)

from  base
bool
is_available()

Is available (fall back)

array
pre_create_insert_array(array $type_data, array $notify_users)

Pre create insert array function (fall back)

from  base
array
check_user_notification_options(array|bool $user_ids = false, array $options = array())

Find the users who want to receive notifications (helper)

from  base
string|null
mark(bool $unread = true, bool $return = false)

Mark this item read/unread helper

from  base
array
get_authorised_recipients(array $users, int $forum_id, array $options, bool $sort = false)

Get a list of users that are authorised to receive notifications

from  base
string
get_type()

Get notification type name

set_user_loader(user_loader $user_loader)

No description

static 
get_item_id($group)

Get the id of the item

static 
get_item_parent_id($group)

Get the id of the parent

array
find_users_for_notification($group, array $options = array())

Find the users who want to receive notifications

string
get_title()

Get the HTML formatted title of this notification

string|bool
get_email_template()

Get email template

array
get_email_template_variables()

Get email template variables

string
get_url()

Get the url to this item

array
users_to_query()

Users needed to query before this notification can be displayed

Details

in base at line 87
__construct(driver_interface $db, language $language, user $user, auth $auth, string $phpbb_root_path, string $php_ext, string $user_notifications_table)

Notification Type Base Constructor

Parameters

driver_interface $db
language $language
user $user
auth $auth
string $phpbb_root_path
string $php_ext
string $user_notifications_table

in base at line 105
set_notification_manager(manager $notification_manager)

Set notification manager (required)

Parameters

manager $notification_manager

in base at line 117
set_initial_data(array $data = array())

Set initial data from the database

Parameters

array $data

Row directly from the database

in base at line 130
mixed __get(mixed $name)

Magic method to get data from this notification

Parameters

mixed $name

Return Value

mixed

in base at line 144
null __set(mixed $name, mixed $value)

Magic method to set data on this notification

Parameters

mixed $name
mixed $value

Return Value

null

in base at line 157
mixed __toString()

Magic method to get a string of this notification

Primarily for testing

Return Value

mixed

in base at line 168
protected mixed get_data(string $name)

Get special data (only important for the classes that extend this)

Parameters

string $name

Name of the variable to get

Return Value

mixed

in base at line 180
protected mixed set_data(string $name, mixed $value)

Set special data (only important for the classes that extend this)

Parameters

string $name

Name of the variable to set

mixed $value

Value to set to the variable

Return Value

mixed

at line 163
create_insert_array($group, array $pre_create_data = array())

Function for preparing the data for insertion in an SQL query

Parameters

$group
array $pre_create_data

Data from pre_create_insert_array()

in base at line 206
array get_insert_array()

Function for getting the data for insertion in an SQL query

Return Value

array

Array of data ready to be inserted into the database

in base at line 222
array create_update_array(array $type_data)

Function for preparing the data for update in an SQL query (The service handles insertion)

Parameters

array $type_data

Data unique to this notification type

Return Value

array

Array of data ready to be updated in the database

in base at line 244
string mark_read(bool $return = false)

Mark this item read

Parameters

bool $return

True to return a string containing the SQL code to update this item, False to execute it (Default: False)

Return Value

string

in base at line 255
string mark_unread(bool $return = false)

Mark this item unread

Parameters

bool $return

True to return a string containing the SQL code to update this item, False to execute it (Default: False)

Return Value

string

in base at line 263
string get_redirect_url()

{inheritDoc}

Return Value

string URL

in base at line 273
prepare_for_display()

Prepare to output the notification to the template

in base at line 313
get_unsubscribe_url(string|bool $method = false)

URL to unsubscribe to this notification (fall back)

Parameters

string|bool $method

Method name to unsubscribe from (email|jabber|etc), False to unsubscribe from all notifications for this item

in base at line 323
string get_style_class()

Get the CSS style class of the notification (fall back)

Return Value

string

at line 105
string get_avatar()

Get the user's avatar (fall back)

Return Value

string

in base at line 343
string get_reference()

Get the reference of the notification (fall back)

Return Value

string

in base at line 353
string get_forum()

Get the forum of the notification reference (fall back)

Return Value

string

in base at line 363
string get_reason()

Get the reason for the notification (fall back)

Return Value

string

in base at line 373
array get_load_special()

Get the special items to load (fall back)

Return Value

array

Data will be combined sent to load_special() so you can run a single query and get data required for this notification type

in base at line 384
load_special(array $data, array $notifications)

Load the special items (fall back)

Parameters

array $data

Data from get_load_special()

array $notifications

Array of notifications (key is notification_id, value is the notification objects)

at line 44
bool is_available()

Is available (fall back)

Return Value

bool

True/False whether or not this is available to the user

in base at line 406
array pre_create_insert_array(array $type_data, array $notify_users)

Pre create insert array function (fall back)

Parameters

array $type_data

The type specific data

array $notify_users

Notify users list Formatted from find_users_for_notification()

Return Value

array

Whatever you want to send to create_insert_array().

in base at line 423
protected array check_user_notification_options(array|bool $user_ids = false, array $options = array())

Find the users who want to receive notifications (helper)

Parameters

array|bool $user_ids

User IDs to check if they want to receive notifications (Bool False to check all users besides anonymous and bots (USER_IGNORE))

array $options

Return Value

array

in base at line 522
protected string|null mark(bool $unread = true, bool $return = false)

Mark this item read/unread helper

Parameters

bool $unread

Unread (True/False) (Default: False)

bool $return

True to return a string containing the SQL code to update this item, False to execute it (Default: False)

Return Value

string|null

If $return is False, nothing will be returned, else the sql code to update this item

in base at line 554
protected array get_authorised_recipients(array $users, int $forum_id, array $options, bool $sort = false)

Get a list of users that are authorised to receive notifications

Parameters

array $users

Array of users that have subscribed to a notification

int $forum_id

Forum ID of the forum

array $options

Array of notification options

bool $sort

Whether the users array should be sorted. Default: false

Return Value

array

Array of users that are authorised recipients

at line 21
string get_type()

Get notification type name

Return Value

string

at line 36
set_user_loader(user_loader $user_loader)

No description

Parameters

user_loader $user_loader

at line 61
static get_item_id($group)

Get the id of the item

Parameters

$group

at line 69
static get_item_parent_id($group)

Get the id of the parent

Parameters

$group

at line 78
array find_users_for_notification($group, array $options = array())

Find the users who want to receive notifications

Parameters

$group
array $options

Options for finding users for notification ignore_users => array of users and user types that should not receive notifications from this type because they've already been notified e.g.: array(2 => array(''), 3 => array('', 'email'), ...)

Return Value

array

at line 113
string get_title()

Get the HTML formatted title of this notification

Return Value

string

at line 123
string|bool get_email_template()

Get email template

Return Value

string|bool

at line 131
array get_email_template_variables()

Get email template variables

Return Value

array

at line 147
string get_url()

Get the url to this item

Return Value

string URL

at line 155
array users_to_query()

Users needed to query before this notification can be displayed

Return Value

array

Array of user_ids