Documentation

UnreadReplies extends Unread
in package

Finds and retrieves information about replies to the user's posts.

Table of Contents

Properties

$sort_methods  : array<string|int, mixed>
$action_url  : string
$ascending  : bool
$boards  : array<string|int, mixed>
$cat_name  : string
$earliest_msg  : int
$have_temp_table  : int
$is_topics  : bool
$linktree_name  : string
$min_message  : int
$num_topics  : int
$obj  : static
$query_parameters  : array<string|int, mixed>
$query_this_board  : string
$see_board  : string
$selects  : array<string|int, mixed>
$sub_template  : string
$topic_request  : object

Methods

buildRoute()  : array<string|int, mixed>
Builds a routing path based on URL query parameters.
call()  : void
Convenience method to load() and execute() an instance of this class.
canBeLogged()  : bool
Determines whether this action can be logged in the online log.
canShowDebuggingInfo()  : bool
Determines whether debugging info should be shown.
canShowInMaintenanceMode()  : bool
Determines whether this action allows access in maintenance mode.
execute()  : void
Find unread topics and replies.
getOutputType()  : OutputTypeInterface
Gets the output type for this action.
isAgreementAction()  : bool
Determines whether this action can be accessed without accepting the registration agreement and privacy policy.
isRestrictedGuestAccessAllowed()  : bool
Determines whether this action allows access if guest access is restricted.
isSimpleAction()  : bool
Determines whether this is a simple action.
load()  : static
Static wrapper for constructor.
__construct()  : mixed
Constructor. Protected to force instantiation via self::load().
buildButtons()  : void
Sets up information about buttons for the template
checkLoadAverage()  : void
Checks that the load averages aren't too high to show unread replies.
checkLoadAverageAll()  : void
Checks that the load averages aren't too high to show all unread posts.
finalizeSelects()  : void
Makes any needed adjustments to $this->selects.
getBoards()  : void
Figures out what boards we want to get messages from.
getCatName()  : void
Gets the category name, if applicable.
getEarliestMsg()  : void
Gets the ID of the earliest message that the current user has not read.
getTopicRequestWithoutTempTable()  : void
Sets $this->topic_request without the help of a temporary table.
getTopicRequestWithTempTable()  : void
For large forums, sets $this->topic_request with the help of a temporary table.
getTopics()  : void
init()  : mixed
Does some initial stuff.
makeTempTable()  : void
For large forums, creates a temporary table to use when showing unread replies.
setNoTopics()  : void
setPaginationAndLinks()  : void
Constructs page index, sets the linktree, next/prev/up links, etc.
setSortMethod()  : void
Figures out how to sort the results.
setTopicRequest()  : void
Sets $this->topic_request to the appropriate query.

Properties

$sort_methods

public array<string|int, mixed> $sort_methods = ['subject' => 'ms.subject', 'starter' => 'COALESCE(mems.real_name, ms.poster_name)', 'replies' => 't.num_replies', 'views' => 't.num_views', 'first_post' => 't.id_topic', 'last_post' => 't.id_last_msg']

Ways to sort the posts. Keys are requestable methods, values are SQL ORDER BY statements

$action_url

protected string $action_url

Base URL for this action.

$ascending

protected bool $ascending

Whether to sort in ascending or descending order.

$boards

protected array<string|int, mixed> $boards = []

The boards to look in.

$cat_name

protected string $cat_name

Name of the category we are in, if applicable.

$earliest_msg

protected int $earliest_msg = 0

Earliest unread message.

$have_temp_table

protected int $have_temp_table = 0

Which temporary table we using, if any.

$is_topics

protected bool $is_topics = false

Whether we are getting topics or replies.

$linktree_name

protected string $linktree_name

Name of this action for the linktree

$min_message

protected int $min_message = 0

Lowest unread message ID.

$num_topics

protected int $num_topics = 0

How many unread topics we found.

$obj

protected static static $obj

An instance of this class. This is used by the load() method to prevent multiple instantiations.

$query_parameters

protected array<string|int, mixed> $query_parameters = []

Parameters for the main query.

$query_this_board

protected string $query_this_board

SQL statement indicating the boards to look in.

$see_board

protected string $see_board = 'query_see_board'

Either 'query_see_board' or 'query_wanna_see_board'.

$selects

protected array<string|int, mixed> $selects = ['ms.subject AS first_subject', 'ms.poster_time AS first_poster_time', 'ms.id_topic', 't.id_board', 'b.name AS bname', 't.num_replies', 't.num_views', 'ms.id_member AS first_id_member', 'ml.id_member AS last_id_member', 'ml.poster_time AS last_poster_time', 'ms.poster_name as first_member_name', 'ml.poster_name as last_member_name', 'COALESCE(mems.real_name, ms.poster_name) AS first_display_name', 'COALESCE(meml.real_name, ml.poster_name) AS last_display_name', 'ml.subject AS last_subject', 'ml.icon AS last_icon', 'ms.icon AS first_icon', 't.id_poll', 't.is_sticky', 't.locked', 'ml.modified_time AS last_modified_time', 'COALESCE(lt.id_msg, lmr.id_msg, -1) + 1 AS new_from', 'SUBSTRING(ml.body, 1, 385) AS last_body', 'SUBSTRING(ms.body, 1, 385) AS first_body', 'ml.smileys_enabled AS last_smileys', 'ms.smileys_enabled AS first_smileys', 't.id_first_msg', 't.id_last_msg', 'ml.id_msg_modified', 't.approved', 't.unapproved_posts']

Columns for the SQL SELECT clause. This part is the same for each query. More columns will be added at runtime if avatars are shown on indices.

$sub_template

protected string $sub_template = 'replies'

Name of the sub-template to use.

$topic_request

protected object $topic_request

Database request to get the topics.

Methods

buildRoute()

Builds a routing path based on URL query parameters.

public static buildRoute(array<string|int, mixed> $params) : array<string|int, mixed>
Parameters
$params : array<string|int, mixed>

URL query parameters.

Return values
array<string|int, mixed>

Contains two elements: ['route' => [], 'params' => []]. The 'route' element contains the routing path. The 'params' element contains any $params that weren't incorporated into the route.

call()

Convenience method to load() and execute() an instance of this class.

public static call() : void

canBeLogged()

Determines whether this action can be logged in the online log.

public canBeLogged() : bool
Return values
bool

canShowDebuggingInfo()

Determines whether debugging info should be shown.

public canShowDebuggingInfo() : bool
Return values
bool

canShowInMaintenanceMode()

Determines whether this action allows access in maintenance mode.

public canShowInMaintenanceMode() : bool
Return values
bool

True if access is allowed, false otherwise.

execute()

Find unread topics and replies.

public execute() : void

isAgreementAction()

Determines whether this action can be accessed without accepting the registration agreement and privacy policy.

public isAgreementAction() : bool
Return values
bool

isRestrictedGuestAccessAllowed()

Determines whether this action allows access if guest access is restricted.

public isRestrictedGuestAccessAllowed() : bool
Return values
bool

True if access is allowed, false otherwise.

isSimpleAction()

Determines whether this is a simple action.

public isSimpleAction() : bool
Return values
bool

load()

Static wrapper for constructor.

public static load() : static
Return values
static

An instance of this class.

__construct()

Constructor. Protected to force instantiation via self::load().

protected __construct() : mixed

buildButtons()

Sets up information about buttons for the template

protected buildButtons() : void

checkLoadAverage()

Checks that the load averages aren't too high to show unread replies.

protected checkLoadAverage() : void

checkLoadAverageAll()

Checks that the load averages aren't too high to show all unread posts.

protected checkLoadAverageAll() : void

finalizeSelects()

Makes any needed adjustments to $this->selects.

protected finalizeSelects() : void

getBoards()

Figures out what boards we want to get messages from.

protected getBoards() : void

Sets $this->boards, $this->query_this_board, and $this->query_parameters.

Tags
todo

Break this up further.

getCatName()

Gets the category name, if applicable.

protected getCatName() : void

getEarliestMsg()

Gets the ID of the earliest message that the current user has not read.

protected getEarliestMsg() : void

getTopicRequestWithoutTempTable()

Sets $this->topic_request without the help of a temporary table.

protected getTopicRequestWithoutTempTable() : void

getTopicRequestWithTempTable()

For large forums, sets $this->topic_request with the help of a temporary table.

protected getTopicRequestWithTempTable() : void

getTopics()

protected getTopics() : void

makeTempTable()

For large forums, creates a temporary table to use when showing unread replies.

protected makeTempTable() : void

setNoTopics()

protected setNoTopics() : void

Constructs page index, sets the linktree, next/prev/up links, etc.

protected setPaginationAndLinks() : void

setSortMethod()

Figures out how to sort the results.

protected setSortMethod() : void

setTopicRequest()

Sets $this->topic_request to the appropriate query.

protected setTopicRequest() : void

        
On this page

Search results