MediaWiki master
MediaWiki\Watchlist\WatchlistManager Class Reference

WatchlistManager service. More...

Public Member Functions

 __construct (array $options, HookContainer $hookContainer, ReadOnlyMode $readOnlyMode, RevisionLookup $revisionLookup, TalkPageNotificationManager $talkPageNotificationManager, WatchedItemStoreInterface $watchedItemStore, UserFactory $userFactory, NamespaceInfo $nsInfo, WikiPageFactory $wikiPageFactory)
 
 addWatch (Authority $performer, PageIdentity $target, ?string $expiry=null)
 Watch a page if the user has permission to edit their watchlist.
 
 addWatchIgnoringRights (UserIdentity $userIdentity, PageIdentity $target, ?string $expiry=null)
 Watch a page.
 
 clearAllUserNotifications ( $performer)
 Resets all of the given user's page-change notification timestamps.
 
 clearTitleUserNotifications ( $performer, $title, int $oldid=0, RevisionRecord $oldRev=null)
 Clear the user's notification timestamp for the given title.
 
 getTitleNotificationTimestamp (UserIdentity $user, $title)
 Get the timestamp when this page was updated since the user last saw it.
 
 isTempWatched (Authority $performer, PageIdentity $target)
 Check if the page is temporarily watched by the user and the user has permission to view their watchlist.
 
 isTempWatchedIgnoringRights (UserIdentity $userIdentity, PageIdentity $target)
 Check if the article is temporarily watched by the user.
 
 isWatchable (PageReference $target)
 
 isWatched (Authority $performer, PageIdentity $target)
 Check if the page is watched by the user and the user has permission to view their watchlist.
 
 isWatchedIgnoringRights (UserIdentity $userIdentity, PageIdentity $target)
 Check if the page is watched by the user.
 
 removeWatch (Authority $performer, PageIdentity $target)
 Stop watching a page if the user has permission to edit their watchlist.
 
 removeWatchIgnoringRights (UserIdentity $userIdentity, PageIdentity $target)
 Stop watching a page.
 
 setWatch (bool $watch, Authority $performer, PageIdentity $target, string $expiry=null)
 Watch or unwatch a page, calling watch/unwatch hooks as appropriate.
 

Public Attributes

const OPTION_ENOTIF = 'isEnotifEnabled'
 

Detailed Description

WatchlistManager service.

Since
1.35

Definition at line 50 of file WatchlistManager.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Watchlist\WatchlistManager::__construct ( array $options,
HookContainer $hookContainer,
ReadOnlyMode $readOnlyMode,
RevisionLookup $revisionLookup,
TalkPageNotificationManager $talkPageNotificationManager,
WatchedItemStoreInterface $watchedItemStore,
UserFactory $userFactory,
NamespaceInfo $nsInfo,
WikiPageFactory $wikiPageFactory )
Parameters
array{isEnotifEnabled:bool}$options
HookContainer$hookContainer
ReadOnlyMode$readOnlyMode
RevisionLookup$revisionLookup
TalkPageNotificationManager$talkPageNotificationManager
WatchedItemStoreInterface$watchedItemStore
UserFactory$userFactory
NamespaceInfo$nsInfo
WikiPageFactory$wikiPageFactory

Definition at line 113 of file WatchlistManager.php.

References MediaWiki\Watchlist\WatchlistManager\OPTION_ENOTIF.

Member Function Documentation

◆ addWatch()

MediaWiki\Watchlist\WatchlistManager::addWatch ( Authority $performer,
PageIdentity $target,
?string $expiry = null )

Watch a page if the user has permission to edit their watchlist.

Calls the WatchArticle and WatchArticleComplete hooks.

Since
1.37
Parameters
Authority$performer
PageIdentity$target
string | null$expiryOptional expiry timestamp in any format acceptable to wfTimestamp(), null will not create expiries, or leave them unchanged should they already exist.
Returns
StatusValue

Definition at line 405 of file WatchlistManager.php.

◆ addWatchIgnoringRights()

MediaWiki\Watchlist\WatchlistManager::addWatchIgnoringRights ( UserIdentity $userIdentity,
PageIdentity $target,
?string $expiry = null )

Watch a page.

Calls the WatchArticle and WatchArticleComplete hooks.

Since
1.37
Parameters
UserIdentity$userIdentity
PageIdentity$target
string | null$expiryOptional expiry timestamp in any format acceptable to wfTimestamp(), null will not create expiries, or leave them unchanged should they already exist.
Returns
StatusValue

Definition at line 365 of file WatchlistManager.php.

◆ clearAllUserNotifications()

MediaWiki\Watchlist\WatchlistManager::clearAllUserNotifications ( $performer)

Resets all of the given user's page-change notification timestamps.

If e-notif e-mails are on, they will receive notification mails on the next change of any watched page.

Note
If the user doesn't have 'editmywatchlist', this will do nothing.
Parameters
Authority | UserIdentity$performerdeprecated passing UserIdentity since 1.37

Definition at line 144 of file WatchlistManager.php.

◆ clearTitleUserNotifications()

MediaWiki\Watchlist\WatchlistManager::clearTitleUserNotifications ( $performer,
$title,
int $oldid = 0,
RevisionRecord $oldRev = null )

Clear the user's notification timestamp for the given title.

If e-notif e-mails are on, they will receive notification mails on the next change of the page if it's watched etc.

Note
If the user doesn't have 'editmywatchlist', this will do nothing.
Parameters
Authority | UserIdentity$performerdeprecated passing UserIdentity since 1.37
LinkTarget | PageIdentity$titledeprecated passing LinkTarget since 1.37
int$oldidThe revision id being viewed. If not given or 0, latest revision is assumed.
RevisionRecord | null$oldRevThe revision record associated with $oldid, or null if the latest revision is used

Definition at line 191 of file WatchlistManager.php.

References NS_USER_TALK.

◆ getTitleNotificationTimestamp()

MediaWiki\Watchlist\WatchlistManager::getTitleNotificationTimestamp ( UserIdentity $user,
$title )

Get the timestamp when this page was updated since the user last saw it.

Parameters
UserIdentity$user
LinkTarget | PageIdentity$titledeprecated passing LinkTarget since 1.37
Returns
string|bool|null String timestamp, false if not watched, null if nothing is unseen

Definition at line 256 of file WatchlistManager.php.

References MediaWiki\User\UserIdentity\getId(), and MediaWiki\User\UserIdentity\isRegistered().

◆ isTempWatched()

MediaWiki\Watchlist\WatchlistManager::isTempWatched ( Authority $performer,
PageIdentity $target )

Check if the page is temporarily watched by the user and the user has permission to view their watchlist.

Since
1.37
Parameters
Authority$performer
PageIdentity$target
Returns
bool

Definition at line 349 of file WatchlistManager.php.

References MediaWiki\Permissions\Authority\getUser().

◆ isTempWatchedIgnoringRights()

MediaWiki\Watchlist\WatchlistManager::isTempWatchedIgnoringRights ( UserIdentity $userIdentity,
PageIdentity $target )

Check if the article is temporarily watched by the user.

Since
1.37
Parameters
UserIdentity$userIdentity
PageIdentity$target
Returns
bool

Definition at line 334 of file WatchlistManager.php.

◆ isWatchable()

MediaWiki\Watchlist\WatchlistManager::isWatchable ( PageReference $target)
Since
1.37
Parameters
PageReference$target
Returns
bool

Definition at line 285 of file WatchlistManager.php.

◆ isWatched()

MediaWiki\Watchlist\WatchlistManager::isWatched ( Authority $performer,
PageIdentity $target )

Check if the page is watched by the user and the user has permission to view their watchlist.

Since
1.37
Parameters
Authority$performer
PageIdentity$target
Returns
bool

Definition at line 320 of file WatchlistManager.php.

References MediaWiki\Permissions\Authority\getUser().

◆ isWatchedIgnoringRights()

MediaWiki\Watchlist\WatchlistManager::isWatchedIgnoringRights ( UserIdentity $userIdentity,
PageIdentity $target )

Check if the page is watched by the user.

Since
1.37
Parameters
UserIdentity$userIdentity
PageIdentity$target
Returns
bool

Definition at line 305 of file WatchlistManager.php.

◆ removeWatch()

MediaWiki\Watchlist\WatchlistManager::removeWatch ( Authority $performer,
PageIdentity $target )

Stop watching a page if the user has permission to edit their watchlist.

Calls the UnwatchArticle and UnwatchArticleComplete hooks.

Since
1.37
Parameters
Authority$performer
PageIdentity$target
Returns
StatusValue

Definition at line 462 of file WatchlistManager.php.

◆ removeWatchIgnoringRights()

MediaWiki\Watchlist\WatchlistManager::removeWatchIgnoringRights ( UserIdentity $userIdentity,
PageIdentity $target )

Stop watching a page.

Calls the UnwatchArticle and UnwatchArticleComplete hooks.

Since
1.37
Parameters
UserIdentity$userIdentity
PageIdentity$target
Returns
StatusValue

Definition at line 425 of file WatchlistManager.php.

◆ setWatch()

MediaWiki\Watchlist\WatchlistManager::setWatch ( bool $watch,
Authority $performer,
PageIdentity $target,
string $expiry = null )

Watch or unwatch a page, calling watch/unwatch hooks as appropriate.

Checks before watching or unwatching to see if the page is already in the requested watch state and if the expiry is the same so it does not act unnecessarily.

Parameters
bool$watchWhether to watch or unwatch the page
Authority$performerwho is watching/unwatching
PageIdentity$targetPage to watch/unwatch
string | null$expiryOptional expiry timestamp in any format acceptable to wfTimestamp(), null will not create expiries, or leave them unchanged should they already exist.
Returns
StatusValue
Since
1.37

Definition at line 487 of file WatchlistManager.php.

Member Data Documentation

◆ OPTION_ENOTIF

const MediaWiki\Watchlist\WatchlistManager::OPTION_ENOTIF = 'isEnotifEnabled'
Access: internal
For use by ServiceWiring

Definition at line 55 of file WatchlistManager.php.

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


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