MediaWiki
1.33.0
|
Public Member Functions | |
__construct (WatchedItemStoreInterface $actualStore) | |
Initialy set WatchedItemStore that will be used in cases where writing is not needed. More... | |
addWatch (User $user, LinkTarget $target) | |
Must be called separately for Subject & Talk namespaces. More... | |
addWatchBatchForUser (User $user, array $targets) | |
clearUserWatchedItems (User $user) | |
Queues a job that will clear the users watchlist using the Job Queue. More... | |
clearUserWatchedItemsUsingJobQueue (User $user) | |
Queues a job that will clear the users watchlist using the Job Queue. More... | |
countUnreadNotifications (User $user, $unreadLimit=null) | |
countVisitingWatchers (LinkTarget $target, $threshold) | |
Number of page watchers who also visited a "recent" edit. More... | |
countVisitingWatchersMultiple (array $targetsWithVisitThresholds, $minimumWatchers=null) | |
Number of watchers of each page who have visited recent edits to that page. More... | |
countWatchedItems (User $user) | |
Count the number of individual items that are watched by the user. More... | |
countWatchers (LinkTarget $target) | |
countWatchersMultiple (array $targets, array $options=[]) | |
duplicateAllAssociatedEntries (LinkTarget $oldTarget, LinkTarget $newTarget) | |
Check if the given title already is watched by the user, and if so add a watch for the new title. More... | |
duplicateEntry (LinkTarget $oldTarget, LinkTarget $newTarget) | |
Check if the given title already is watched by the user, and if so add a watch for the new title. More... | |
getLatestNotificationTimestamp ( $timestamp, User $user, LinkTarget $target) | |
Convert $timestamp to TS_MW or return null if the page was visited since then by $user. More... | |
getNotificationTimestampsBatch (User $user, array $targets) | |
getWatchedItem (User $user, LinkTarget $target) | |
Get an item (may be cached) More... | |
getWatchedItemsForUser (User $user, array $options=[]) | |
isWatched (User $user, LinkTarget $target) | |
Must be called separately for Subject & Talk namespaces. More... | |
loadWatchedItem (User $user, LinkTarget $target) | |
Loads an item from the db. More... | |
removeWatch (User $user, LinkTarget $target) | |
Removes an entry for the User watching the LinkTarget Must be called separately for Subject & Talk namespaces. More... | |
removeWatchBatchForUser (User $user, array $titles) | |
resetAllNotificationTimestampsForUser (User $user) | |
Reset all watchlist notificaton timestamps for a user using the job queue. More... | |
resetNotificationTimestamp (User $user, Title $title, $force='', $oldid=0) | |
Reset the notification timestamp of this entry. More... | |
setNotificationTimestampsForUser (User $user, $timestamp, array $targets=[]) | |
updateNotificationTimestamp (User $editor, LinkTarget $target, $timestamp) | |
Private Attributes | |
WatchedItemStoreInterface | $actualStore |
Additional Inherited Members | |
![]() | |
const | SORT_ASC = 'ASC' |
const | SORT_DESC = 'DESC' |
Definition at line 28 of file NoWriteWatchedItemStore.php.
NoWriteWatchedItemStore::__construct | ( | WatchedItemStoreInterface | $actualStore | ) |
Initialy set WatchedItemStore that will be used in cases where writing is not needed.
WatchedItemStoreInterface | $actualStore |
Definition at line 44 of file NoWriteWatchedItemStore.php.
References $actualStore.
NoWriteWatchedItemStore::addWatch | ( | User | $user, |
LinkTarget | $target | ||
) |
Must be called separately for Subject & Talk namespaces.
User | $user | |
LinkTarget | $target |
Implements WatchedItemStoreInterface.
Definition at line 106 of file NoWriteWatchedItemStore.php.
User | $user | |
LinkTarget[] | $targets |
Implements WatchedItemStoreInterface.
Definition at line 110 of file NoWriteWatchedItemStore.php.
NoWriteWatchedItemStore::clearUserWatchedItems | ( | User | $user | ) |
Queues a job that will clear the users watchlist using the Job Queue.
User | $user |
Implements WatchedItemStoreInterface.
Definition at line 143 of file NoWriteWatchedItemStore.php.
NoWriteWatchedItemStore::clearUserWatchedItemsUsingJobQueue | ( | User | $user | ) |
Queues a job that will clear the users watchlist using the Job Queue.
User | $user |
Implements WatchedItemStoreInterface.
Definition at line 147 of file NoWriteWatchedItemStore.php.
User | $user | |
int | null | $unreadLimit |
Implements WatchedItemStoreInterface.
Definition at line 94 of file NoWriteWatchedItemStore.php.
References $user.
NoWriteWatchedItemStore::countVisitingWatchers | ( | LinkTarget | $target, |
$threshold | |||
) |
Number of page watchers who also visited a "recent" edit.
LinkTarget | $target | |
mixed | $threshold | timestamp accepted by wfTimestamp |
DBUnexpectedError | |
MWException |
Implements WatchedItemStoreInterface.
Definition at line 56 of file NoWriteWatchedItemStore.php.
NoWriteWatchedItemStore::countVisitingWatchersMultiple | ( | array | $targetsWithVisitThresholds, |
$minimumWatchers = null |
|||
) |
Number of watchers of each page who have visited recent edits to that page.
array | $targetsWithVisitThresholds | array of pairs (LinkTarget $target, mixed $threshold), $threshold is:
|
int | null | $minimumWatchers |
Implements WatchedItemStoreInterface.
Definition at line 64 of file NoWriteWatchedItemStore.php.
NoWriteWatchedItemStore::countWatchedItems | ( | User | $user | ) |
Count the number of individual items that are watched by the user.
If a subject and corresponding talk page are watched this will return 2.
User | $user |
Implements WatchedItemStoreInterface.
Definition at line 48 of file NoWriteWatchedItemStore.php.
References $user.
NoWriteWatchedItemStore::countWatchers | ( | LinkTarget | $target | ) |
LinkTarget | $target |
Implements WatchedItemStoreInterface.
Definition at line 52 of file NoWriteWatchedItemStore.php.
LinkTarget[] | $targets | |
array | $options | Allowed keys: 'minimumWatchers' => int |
Implements WatchedItemStoreInterface.
Definition at line 60 of file NoWriteWatchedItemStore.php.
References $options.
NoWriteWatchedItemStore::duplicateAllAssociatedEntries | ( | LinkTarget | $oldTarget, |
LinkTarget | $newTarget | ||
) |
Check if the given title already is watched by the user, and if so add a watch for the new title.
To be used for page renames and such.
LinkTarget | $oldTarget | |
LinkTarget | $newTarget |
Implements WatchedItemStoreInterface.
Definition at line 98 of file NoWriteWatchedItemStore.php.
NoWriteWatchedItemStore::duplicateEntry | ( | LinkTarget | $oldTarget, |
LinkTarget | $newTarget | ||
) |
Check if the given title already is watched by the user, and if so add a watch for the new title.
To be used for page renames and such. This must be called separately for Subject and Talk pages
LinkTarget | $oldTarget | |
LinkTarget | $newTarget |
Implements WatchedItemStoreInterface.
Definition at line 102 of file NoWriteWatchedItemStore.php.
NoWriteWatchedItemStore::getLatestNotificationTimestamp | ( | $timestamp, | |
User | $user, | ||
LinkTarget | $target | ||
) |
Convert $timestamp to TS_MW or return null if the page was visited since then by $user.
Use this only on single-user methods (having higher read-after-write expectations) and not in places involving arbitrary batches of different users
Usage of this method should be limited to WatchedItem* classes
string | null | $timestamp | Value of wl_notificationtimestamp from the DB |
User | $user | |
LinkTarget | $target |
Implements WatchedItemStoreInterface.
Definition at line 155 of file NoWriteWatchedItemStore.php.
References wfTimestampOrNull().
User | $user | |
LinkTarget[] | $targets |
Implements WatchedItemStoreInterface.
Definition at line 90 of file NoWriteWatchedItemStore.php.
References $user.
NoWriteWatchedItemStore::getWatchedItem | ( | User | $user, |
LinkTarget | $target | ||
) |
Get an item (may be cached)
User | $user | |
LinkTarget | $target |
Implements WatchedItemStoreInterface.
Definition at line 74 of file NoWriteWatchedItemStore.php.
References $user.
User | $user | |
array | $options | Allowed keys: 'forWrite' => bool defaults to false 'sort' => string optional sorting by namespace ID and title one of the self::SORT_* constants |
Implements WatchedItemStoreInterface.
Definition at line 82 of file NoWriteWatchedItemStore.php.
NoWriteWatchedItemStore::isWatched | ( | User | $user, |
LinkTarget | $target | ||
) |
Must be called separately for Subject & Talk namespaces.
User | $user | |
LinkTarget | $target |
Implements WatchedItemStoreInterface.
Definition at line 86 of file NoWriteWatchedItemStore.php.
References $user.
NoWriteWatchedItemStore::loadWatchedItem | ( | User | $user, |
LinkTarget | $target | ||
) |
Loads an item from the db.
User | $user | |
LinkTarget | $target |
Implements WatchedItemStoreInterface.
Definition at line 78 of file NoWriteWatchedItemStore.php.
References $user.
NoWriteWatchedItemStore::removeWatch | ( | User | $user, |
LinkTarget | $target | ||
) |
Removes an entry for the User watching the LinkTarget Must be called separately for Subject & Talk namespaces.
User | $user | |
LinkTarget | $target |
DBUnexpectedError | |
MWException |
Implements WatchedItemStoreInterface.
Definition at line 114 of file NoWriteWatchedItemStore.php.
User | $user | |
LinkTarget[] | $targets |
Implements WatchedItemStoreInterface.
Definition at line 151 of file NoWriteWatchedItemStore.php.
NoWriteWatchedItemStore::resetAllNotificationTimestampsForUser | ( | User | $user | ) |
Reset all watchlist notificaton timestamps for a user using the job queue.
User | $user | The user to reset the timestamps for |
Implements WatchedItemStoreInterface.
Definition at line 130 of file NoWriteWatchedItemStore.php.
NoWriteWatchedItemStore::resetNotificationTimestamp | ( | User | $user, |
Title | $title, | ||
$force = '' , |
|||
$oldid = 0 |
|||
) |
Reset the notification timestamp of this entry.
User | $user | |
Title | $title | |
string | $force | Whether to force the write query to be executed even if the page is not watched or the notification timestamp is already NULL. 'force' in order to force |
int | $oldid | The revision id being viewed. If not given or 0, latest revision is assumed. |
Implements WatchedItemStoreInterface.
Definition at line 134 of file NoWriteWatchedItemStore.php.
NoWriteWatchedItemStore::setNotificationTimestampsForUser | ( | User | $user, |
$timestamp, | |||
array | $targets = [] |
||
) |
User | $user | The user to set the timestamps for |
string | null | $timestamp | Set the update timestamp to this value |
LinkTarget[] | $targets | List of targets to update. Default to all targets |
Implements WatchedItemStoreInterface.
Definition at line 118 of file NoWriteWatchedItemStore.php.
NoWriteWatchedItemStore::updateNotificationTimestamp | ( | User | $editor, |
LinkTarget | $target, | ||
$timestamp | |||
) |
User | $editor | The editor that triggered the update. Their notification timestamp will not be updated(they have already seen it) |
LinkTarget | $target | The target to update timestamps for |
string | $timestamp | Set the update timestamp to this value |
Implements WatchedItemStoreInterface.
Definition at line 126 of file NoWriteWatchedItemStore.php.
|
private |
Definition at line 33 of file NoWriteWatchedItemStore.php.
Referenced by __construct().