Translate extension for MediaWiki
 
Loading...
Searching...
No Matches
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription Class Reference

Manage user subscriptions to message groups and trigger notifications. More...

Public Member Functions

 __construct (MessageGroupSubscriptionStore $groupSubscriptionStore, JobQueueGroup $jobQueueGroup, UserIdentityLookup $userIdentityLookup, LoggerInterface $logger, ServiceOptions $options)
 
 isEnabled ()
 
 subscribeToGroup (MessageGroup $group, User $user)
 
 isUserSubscribedTo (MessageGroup $group, UserIdentity $user)
 
 unsubscribeFromGroup (MessageGroup $group, UserIdentity $user)
 
 getUserSubscriptions (UserIdentity $user)
 
 queueMessage (Title $messageTitle, string $state, array $groupIds)
 Queue a message / group to send notifications for.
 
 queueNotificationJob ()
 
 sendNotifications (array $changesToProcess)
 
 handleMessageIndexUpdate (MessageHandle $handle, array $old, array $new)
 
 getGroupSubscribers (string $groupId)
 Given a group id returns an iterator to the subscribers of that group.
 
 canUserSubscribeToGroup (MessageGroup $group, User $user)
 

Public Attributes

const STATE_ADDED = 'added'
 
const CONSTRUCTOR_OPTIONS = [ 'TranslateEnableMessageGroupSubscription' ]
 
const NOT_ENABLED = 'mgs-not-enabled'
 
const UNNAMED_USER_UNSUPPORTED = 'mgs-unnamed-user-unsupported'
 
const DYNAMIC_GROUP_UNSUPPORTED = 'mgs-dynamic-group-unsupported'
 

Detailed Description

Manage user subscriptions to message groups and trigger notifications.

Since
2024.04 @license GPL-2.0-or-later
Author
Abijeet Patro

Definition at line 26 of file MessageGroupSubscription.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription::__construct ( MessageGroupSubscriptionStore $groupSubscriptionStore,
JobQueueGroup $jobQueueGroup,
UserIdentityLookup $userIdentityLookup,
LoggerInterface $logger,
ServiceOptions $options )

Definition at line 41 of file MessageGroupSubscription.php.

Member Function Documentation

◆ canUserSubscribeToGroup()

MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription::canUserSubscribeToGroup ( MessageGroup $group,
User $user )

Definition at line 213 of file MessageGroupSubscription.php.

◆ getGroupSubscribers()

MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription::getGroupSubscribers ( string $groupId)

Given a group id returns an iterator to the subscribers of that group.

Returns
Iterator<UserIdentity>

Definition at line 183 of file MessageGroupSubscription.php.

◆ getUserSubscriptions()

MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription::getUserSubscriptions ( UserIdentity $user)
Returns
string[]

Definition at line 79 of file MessageGroupSubscription.php.

◆ handleMessageIndexUpdate()

MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription::handleMessageIndexUpdate ( MessageHandle $handle,
array $old,
array $new )

Definition at line 172 of file MessageGroupSubscription.php.

◆ isEnabled()

MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription::isEnabled ( )

Definition at line 56 of file MessageGroupSubscription.php.

◆ isUserSubscribedTo()

MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription::isUserSubscribedTo ( MessageGroup $group,
UserIdentity $user )

Definition at line 70 of file MessageGroupSubscription.php.

◆ queueMessage()

MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription::queueMessage ( Title $messageTitle,
string $state,
array $groupIds )

Queue a message / group to send notifications for.

Parameters
Title$messageTitle
string$state
string[]$groupIds
Returns
void

Definition at line 95 of file MessageGroupSubscription.php.

◆ queueNotificationJob()

MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription::queueNotificationJob ( )

Definition at line 105 of file MessageGroupSubscription.php.

◆ sendNotifications()

MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription::sendNotifications ( array $changesToProcess)

Definition at line 119 of file MessageGroupSubscription.php.

◆ subscribeToGroup()

MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription::subscribeToGroup ( MessageGroup $group,
User $user )

Definition at line 60 of file MessageGroupSubscription.php.

◆ unsubscribeFromGroup()

MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription::unsubscribeFromGroup ( MessageGroup $group,
UserIdentity $user )

Definition at line 74 of file MessageGroupSubscription.php.

Member Data Documentation

◆ CONSTRUCTOR_OPTIONS

const MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription::CONSTRUCTOR_OPTIONS = [ 'TranslateEnableMessageGroupSubscription' ]

Definition at line 35 of file MessageGroupSubscription.php.

◆ DYNAMIC_GROUP_UNSUPPORTED

const MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription::DYNAMIC_GROUP_UNSUPPORTED = 'mgs-dynamic-group-unsupported'

Definition at line 39 of file MessageGroupSubscription.php.

◆ NOT_ENABLED

const MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription::NOT_ENABLED = 'mgs-not-enabled'

Definition at line 37 of file MessageGroupSubscription.php.

◆ STATE_ADDED

const MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription::STATE_ADDED = 'added'

Definition at line 34 of file MessageGroupSubscription.php.

◆ UNNAMED_USER_UNSUPPORTED

const MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription::UNNAMED_USER_UNSUPPORTED = 'mgs-unnamed-user-unsupported'

Definition at line 38 of file MessageGroupSubscription.php.


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