class topic_in_queue extends topic

Topic in queue notifications class This class handles notifications for topics when they are put in the moderation queue (for moderators)

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 bool|array $notification_option

Notification option data (for outputting to the user)

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 string $language_key

Language key used to output the text

protected bool $inherit_read_status

Inherit notification read status from topic.

from  topic
protected user_loader $user_loader from  topic
protected config $config from  topic
protected string $permission

Permission to check for (in find_users_for_notification)

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($topic, 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

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

from  topic
string
get_reference()

Get the HTML formatted reference of the notification

from  topic
string
get_forum()

Get the forum of the notification reference

from  topic
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

array
pre_create_insert_array(array $post, array $notify_users)

Pre create insert array function This allows you to perform certain actions, like run a query and load data, before create_insert_array() is run. The data returned from this function will be sent to create_insert_array().

from  topic
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_config(config $config)

No description

from  topic
set_user_loader(user_loader $user_loader)

No description

from  topic
static 
get_item_id(array $post)

Get the id of the item

from  topic
static 
get_item_parent_id(array $post)

Get the id of the parent

from  topic
array
find_users_for_notification(array $topic, array $options = array())

Find the users who want to receive notifications

string
get_title()

Get the HTML formatted title of this notification

from  topic
string|bool
get_email_template()

Get email template

array
get_email_template_variables()

Get email template variables

from  topic
string
get_url()

Get the url to this item

array
users_to_query()

Users needed to query before this notification can be displayed

from  topic

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 128
create_insert_array($topic, array $pre_create_data = array())

Function for preparing the data for insertion in an SQL query

Parameters

$topic
array $pre_create_data

Data from pre_create_insert_array()

at line 138
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

in topic at line 138
string get_avatar()

Get the user's avatar

Return Value

string

in topic at line 170
string get_reference()

Get the HTML formatted reference of the notification

Return Value

string

in topic at line 183
string get_forum()

Get the forum of the notification reference

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 62
bool is_available()

Is available

Return Value

bool

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

in topic at line 262
array pre_create_insert_array(array $post, array $notify_users)

Pre create insert array function This allows you to perform certain actions, like run a query and load data, before create_insert_array() is run. The data returned from this function will be sent to create_insert_array().

Parameters

array $post

Post data from submit_post

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 28
string get_type()

Get notification type name

Return Value

string

in topic at line 64
set_config(config $config)

No description

Parameters

config $config

in topic at line 69
set_user_loader(user_loader $user_loader)

No description

Parameters

user_loader $user_loader

in topic at line 88
static get_item_id(array $post)

Get the id of the item

Parameters

array $post

The data from the post

in topic at line 99
static get_item_parent_id(array $post)

Get the id of the parent

Parameters

array $post

The data from the post

at line 77
array find_users_for_notification(array $topic, array $options = array())

Find the users who want to receive notifications

Parameters

array $topic

Data from the topic

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

in topic at line 148
string get_title()

Get the HTML formatted title of this notification

Return Value

string

at line 151
string|bool get_email_template()

Get email template

Return Value

string|bool

in topic at line 206
array get_email_template_variables()

Get email template variables

Return Value

array

at line 120
string get_url()

Get the url to this item

Return Value

string URL

in topic at line 246
array users_to_query()

Users needed to query before this notification can be displayed

Return Value

array

Array of user_ids