MediaWiki REL1_37
MediaWiki\User\TalkPageNotificationManager Class Reference

Manages user talk page notifications. More...

Collaboration diagram for MediaWiki\User\TalkPageNotificationManager:

Public Member Functions

 __construct (ServiceOptions $serviceOptions, ILoadBalancer $loadBalancer, ReadOnlyMode $readOnlyMode, RevisionLookup $revisionLookup)
 
 clearInstanceCache (UserIdentity $user)
 Remove the cached newtalk status for the given user.
 
 getLatestSeenMessageTimestamp (UserIdentity $user)
 Returns the timestamp of the latest revision of the user talkpage that the user has already seen in TS_MW format.
 
 removeUserHasNewMessages (UserIdentity $user)
 Remove the new messages status.
 
 setUserHasNewMessages (UserIdentity $user, RevisionRecord $curRev=null)
 Update the talk page messages status.
 
 userHasNewMessages (UserIdentity $user)
 Check if the user has new messages.
 

Public Attributes

const CONSTRUCTOR_OPTIONS
 

Private Member Functions

 dbCheckNewUserMessages (UserIdentity $user)
 Internal uncached check for new messages.
 
 dbDeleteNewUserMessages (UserIdentity $user)
 Clear the new messages flag for the given user.
 
 dbUpdateNewUserMessages (UserIdentity $user, RevisionRecord $curRev=null)
 Add or update the new messages flag.
 
 getCacheKey (UserIdentity $user)
 Gets a unique key for various caches.
 
 getQueryFieldAndId (UserIdentity $user)
 Get the field name and id for the user_newtalk table query.
 
 isTalkDisabled (UserIdentity $user)
 Check whether the talk page is disabled for a user.
 

Private Attributes

bool $disableAnonTalk
 
ILoadBalancer $loadBalancer
 
ReadOnlyMode $readOnlyMode
 
RevisionLookup $revisionLookup
 
array $userMessagesCache = []
 

Detailed Description

Manages user talk page notifications.

Since
1.35

Definition at line 35 of file TalkPageNotificationManager.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\User\TalkPageNotificationManager::__construct ( ServiceOptions  $serviceOptions,
ILoadBalancer  $loadBalancer,
ReadOnlyMode  $readOnlyMode,
RevisionLookup  $revisionLookup 
)

Member Function Documentation

◆ clearInstanceCache()

MediaWiki\User\TalkPageNotificationManager::clearInstanceCache ( UserIdentity  $user)

Remove the cached newtalk status for the given user.

Access: internal
There should be no need to call this other than from User::clearInstanceCache
Parameters
UserIdentity$user

Definition at line 175 of file TalkPageNotificationManager.php.

◆ dbCheckNewUserMessages()

MediaWiki\User\TalkPageNotificationManager::dbCheckNewUserMessages ( UserIdentity  $user)
private

Internal uncached check for new messages.

Parameters
UserIdentity$user
Returns
bool True if the user has new messages

Definition at line 194 of file TalkPageNotificationManager.php.

Referenced by MediaWiki\User\TalkPageNotificationManager\userHasNewMessages().

◆ dbDeleteNewUserMessages()

MediaWiki\User\TalkPageNotificationManager::dbDeleteNewUserMessages ( UserIdentity  $user)
private

Clear the new messages flag for the given user.

Parameters
UserIdentity$user
Returns
bool True if successful, false otherwise

Definition at line 248 of file TalkPageNotificationManager.php.

◆ dbUpdateNewUserMessages()

MediaWiki\User\TalkPageNotificationManager::dbUpdateNewUserMessages ( UserIdentity  $user,
RevisionRecord  $curRev = null 
)
private

Add or update the new messages flag.

Parameters
UserIdentity$user
RevisionRecord | null$curRevNew, as yet unseen revision of the user talk page. Ignored if null.
Returns
bool True if successful, false otherwise

Definition at line 213 of file TalkPageNotificationManager.php.

◆ getCacheKey()

MediaWiki\User\TalkPageNotificationManager::getCacheKey ( UserIdentity  $user)
private

Gets a unique key for various caches.

Parameters
UserIdentity$user
Returns
string

Definition at line 283 of file TalkPageNotificationManager.php.

◆ getLatestSeenMessageTimestamp()

MediaWiki\User\TalkPageNotificationManager::getLatestSeenMessageTimestamp ( UserIdentity  $user)

Returns the timestamp of the latest revision of the user talkpage that the user has already seen in TS_MW format.

If the user has no new messages, returns null

Parameters
UserIdentity$user
Returns
string|null

Definition at line 143 of file TalkPageNotificationManager.php.

◆ getQueryFieldAndId()

MediaWiki\User\TalkPageNotificationManager::getQueryFieldAndId ( UserIdentity  $user)
private

Get the field name and id for the user_newtalk table query.

Parameters
UserIdentity$user
Returns
array ( string $field, string|int $id )

Definition at line 267 of file TalkPageNotificationManager.php.

References MediaWiki\User\UserIdentity\getId().

◆ isTalkDisabled()

MediaWiki\User\TalkPageNotificationManager::isTalkDisabled ( UserIdentity  $user)
private

Check whether the talk page is disabled for a user.

Parameters
UserIdentity$user
Returns
bool

Definition at line 185 of file TalkPageNotificationManager.php.

Referenced by MediaWiki\User\TalkPageNotificationManager\userHasNewMessages().

◆ removeUserHasNewMessages()

MediaWiki\User\TalkPageNotificationManager::removeUserHasNewMessages ( UserIdentity  $user)

Remove the new messages status.

Parameters
UserIdentity$user

Definition at line 124 of file TalkPageNotificationManager.php.

Referenced by MediaWiki\Watchlist\WatchlistManager\clearTitleUserNotifications().

◆ setUserHasNewMessages()

MediaWiki\User\TalkPageNotificationManager::setUserHasNewMessages ( UserIdentity  $user,
RevisionRecord  $curRev = null 
)

Update the talk page messages status.

Parameters
UserIdentity$user
RevisionRecord | null$curRevNew, as yet unseen revision of the user talk page. Null is acceptable in case the revision is not known. This will indicate that new messages exist, but will not affect the latest seen message timestamp

Definition at line 107 of file TalkPageNotificationManager.php.

Referenced by MediaWiki\Watchlist\WatchlistManager\clearTitleUserNotifications().

◆ userHasNewMessages()

MediaWiki\User\TalkPageNotificationManager::userHasNewMessages ( UserIdentity  $user)

Check if the user has new messages.

Parameters
UserIdentity$user
Returns
bool whether the user has new messages

Definition at line 83 of file TalkPageNotificationManager.php.

References MediaWiki\User\TalkPageNotificationManager\dbCheckNewUserMessages(), and MediaWiki\User\TalkPageNotificationManager\isTalkDisabled().

Referenced by MediaWiki\Watchlist\WatchlistManager\clearTitleUserNotifications().

Member Data Documentation

◆ $disableAnonTalk

bool MediaWiki\User\TalkPageNotificationManager::$disableAnonTalk
private

Definition at line 48 of file TalkPageNotificationManager.php.

◆ $loadBalancer

ILoadBalancer MediaWiki\User\TalkPageNotificationManager::$loadBalancer
private

◆ $readOnlyMode

ReadOnlyMode MediaWiki\User\TalkPageNotificationManager::$readOnlyMode
private

◆ $revisionLookup

RevisionLookup MediaWiki\User\TalkPageNotificationManager::$revisionLookup
private

◆ $userMessagesCache

array MediaWiki\User\TalkPageNotificationManager::$userMessagesCache = []
private

Definition at line 45 of file TalkPageNotificationManager.php.

◆ CONSTRUCTOR_OPTIONS

const MediaWiki\User\TalkPageNotificationManager::CONSTRUCTOR_OPTIONS
Initial value:
= [
'DisableAnonTalk'
]
Access: internal
For use by ServiceWiring

Definition at line 40 of file TalkPageNotificationManager.php.


The documentation for this class was generated from the following file: