|
MediaWiki master
|
Inherits MediaWiki\Watchlist\WatchedItemStoreInterface.

Public Member Functions | |||||||||||||
| __construct (WatchedItemStoreInterface $actualStore) | |||||||||||||
| Initially set WatchedItemStore that will be used in cases where writing is not needed. | |||||||||||||
| addLabels (UserIdentity $user, array $targets, array $labels) | |||||||||||||
Add a labels to a set of watchlist items.The same labels are applied to each item. Ignore existing labels.
| |||||||||||||
| addWatch (UserIdentity $user, PageReference $target, ?string $expiry=null) | |||||||||||||
Must be called separately for Subject & Talk namespaces.
| |||||||||||||
| addWatchBatchForUser (UserIdentity $user, array $targets, ?string $expiry=null) | |||||||||||||
| |||||||||||||
| clearUserWatchedItems (UserIdentity $user) | |||||||||||||
Synchronously clear the users watchlist.
| |||||||||||||
| clearUserWatchedItemsUsingJobQueue (UserIdentity $user) | |||||||||||||
Queues a job that will clear the users watchlist using the Job Queue.
| |||||||||||||
| countExpired () | |||||||||||||
Get the number of watchlist items that expire before the current time.
| |||||||||||||
| countUnreadNotifications (UserIdentity $user, $unreadLimit=null) | |||||||||||||
| |||||||||||||
| countVisitingWatchers (PageReference $target, $threshold) | |||||||||||||
Number of page watchers who also visited a "recent" edit.
| |||||||||||||
| countVisitingWatchersMultiple (array $targetsWithVisitThresholds, $minimumWatchers=null) | |||||||||||||
Number of watchers of each page who have visited recent edits to that page.
| |||||||||||||
| countWatchedItems (UserIdentity $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.
| |||||||||||||
| countWatchers (PageReference $target) | |||||||||||||
| |||||||||||||
| countWatchersMultiple (array $targets, array $options=[]) | |||||||||||||
| |||||||||||||
| duplicateAllAssociatedEntries (PageReference $oldTarget, PageReference $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.
| |||||||||||||
| duplicateEntry (PageReference $oldTarget, PageReference $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
| |||||||||||||
| getLatestNotificationTimestamp ( $timestamp, UserIdentity $user, PageReference $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 usersUsage of this method should be limited to WatchedItem* classes
| |||||||||||||
| getNotificationTimestampsBatch (UserIdentity $user, array $targets) | |||||||||||||
| |||||||||||||
| getWatchedItem (UserIdentity $user, PageReference $target) | |||||||||||||
Get an item (may be cached)
| |||||||||||||
| getWatchedItemsForUser (UserIdentity $user, array $options=[]) | |||||||||||||
| |||||||||||||
| isTempWatched (UserIdentity $user, PageReference $target) | |||||||||||||
Whether the page is only being watched temporarily (has expiry).Must be called separately for Subject & Talk namespaces.
| |||||||||||||
| isWatched (UserIdentity $user, PageReference $target) | |||||||||||||
Must be called separately for Subject & Talk namespaces.
| |||||||||||||
| loadWatchedItem (UserIdentity $user, PageReference $target) | |||||||||||||
Loads an item from the db.
| |||||||||||||
| loadWatchedItemsBatch (UserIdentity $user, array $targets) | |||||||||||||
Loads a set of WatchedItems from the db.
| |||||||||||||
| maybeEnqueueWatchlistExpiryJob () | |||||||||||||
Probabilistically add a job to purge the expired watchlist items, if watchlist expiration is enabled, based on the value of $wgWatchlistPurgeRate.
| |||||||||||||
| mustClearWatchedItemsUsingJobQueue (UserIdentity $user) | |||||||||||||
Does the size of the users watchlist require clearUserWatchedItemsUsingJobQueue() to be used instead of clearUserWatchedItems()
| |||||||||||||
| removeExpired (int $limit, bool $deleteOrphans=false) | |||||||||||||
Remove some number of expired watchlist items.
| |||||||||||||
| removeLabels (UserIdentity $user, array $targets, array $labels) | |||||||||||||
Remove labels from a set of watchlist items.The same labels are removed from each item. Ignore missing label members.
| |||||||||||||
| removeWatch (UserIdentity $user, PageReference $target) | |||||||||||||
Removes an entry for the UserIdentity watching the target Must be called separately for Subject & Talk namespaces.
| |||||||||||||
| removeWatchBatchForUser (UserIdentity $user, array $targets) | |||||||||||||
| |||||||||||||
| resetAllNotificationTimestampsForUser (UserIdentity $user, $timestamp=null) | |||||||||||||
Reset all watchlist notification timestamps for a user using the job queue.
| |||||||||||||
| resetNotificationTimestamp (UserIdentity $user, PageReference $title, $force='', $oldid=0) | |||||||||||||
Reset the notification timestamp of this entry.
| |||||||||||||
| setNotificationTimestampsForUser (UserIdentity $user, $timestamp, array $targets=[]) | |||||||||||||
| |||||||||||||
| updateNotificationTimestamp (UserIdentity $editor, $target, $timestamp) | |||||||||||||
Public Member Functions inherited from MediaWiki\Watchlist\WatchedItemStoreInterface | |||||||||||||
| updateNotificationTimestamp (UserIdentity $editor, PageReference $target, $timestamp) | |||||||||||||
Additional Inherited Members | |
Public Attributes inherited from MediaWiki\Watchlist\WatchedItemStoreInterface | |
| const | SORT_ASC = 'ASC' |
| const | SORT_DESC = 'DESC' |
| MediaWiki\Watchlist\NoWriteWatchedItemStore::__construct | ( | WatchedItemStoreInterface | $actualStore | ) |
Initially set WatchedItemStore that will be used in cases where writing is not needed.
Definition at line 31 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::addLabels | ( | UserIdentity | $user, |
| array | $targets, | ||
| array | $labels ) |
Add a labels to a set of watchlist items.The same labels are applied to each item. Ignore existing labels.
| UserIdentity | $user | |
| PageReference[] | $targets | |
| (WatchlistLabel|int)[] | $labels The label objects or IDs |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 212 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::addWatch | ( | UserIdentity | $user, |
| PageReference | $target, | ||
| ?string | $expiry = null ) |
Must be called separately for Subject & Talk namespaces.
| UserIdentity | $user | |
| PageReference | $target | |
| string | null | $expiry | Optional expiry timestamp in any format acceptable to wfTimestamp(). null will not create an expiry, or leave it unchanged should one already exist. |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 120 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::addWatchBatchForUser | ( | UserIdentity | $user, |
| array | $targets, | ||
| ?string | $expiry = null ) |
| UserIdentity | $user | |
| PageReference[] | $targets | |
| string | null | $expiry | Optional expiry timestamp in any format acceptable to wfTimestamp(), null will not create expiries, or leave them unchanged should they already exist. |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 125 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::clearUserWatchedItems | ( | UserIdentity | $user | ) |
Synchronously clear the users watchlist.
| UserIdentity | $user |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 170 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::clearUserWatchedItemsUsingJobQueue | ( | UserIdentity | $user | ) |
Queues a job that will clear the users watchlist using the Job Queue.
| UserIdentity | $user |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 180 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::countExpired | ( | ) |
Get the number of watchlist items that expire before the current time.
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 202 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::countUnreadNotifications | ( | UserIdentity | $user, |
| $unreadLimit = null ) |
| UserIdentity | $user | |
| int | null | $unreadLimit |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 105 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::countVisitingWatchers | ( | PageReference | $target, |
| $threshold ) |
Number of page watchers who also visited a "recent" edit.
| PageReference | $target | |
| mixed | $threshold | timestamp accepted by wfTimestamp |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 46 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\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 (PageReference $target, mixed $threshold), $threshold is:
|
| int | null | $minimumWatchers |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 59 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::countWatchedItems | ( | UserIdentity | $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.
| UserIdentity | $user |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 36 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::countWatchers | ( | PageReference | $target | ) |
| PageReference | $target |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 41 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::countWatchersMultiple | ( | array | $targets, |
| array | $options = [] ) |
| PageReference[] | $targets | |
| array | $options | Allowed keys: 'minimumWatchers' => int |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 51 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::duplicateAllAssociatedEntries | ( | PageReference | $oldTarget, |
| PageReference | $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.
| PageReference | $oldTarget | |
| PageReference | $newTarget |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 110 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::duplicateEntry | ( | PageReference | $oldTarget, |
| PageReference | $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
| PageReference | $oldTarget | |
| PageReference | $newTarget |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 115 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::getLatestNotificationTimestamp | ( | $timestamp, | |
| UserIdentity | $user, | ||
| PageReference | $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 usersUsage of this method should be limited to WatchedItem* classes
| string | null | $timestamp | Value of wl_notificationtimestamp from the DB |
| UserIdentity | $user | |
| PageReference | $target |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 195 of file NoWriteWatchedItemStore.php.
References wfTimestampOrNull().
| MediaWiki\Watchlist\NoWriteWatchedItemStore::getNotificationTimestampsBatch | ( | UserIdentity | $user, |
| array | $targets ) |
| UserIdentity | $user | |
| PageReference[] | $targets |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 100 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::getWatchedItem | ( | UserIdentity | $user, |
| PageReference | $target ) |
Get an item (may be cached)
| UserIdentity | $user | |
| PageReference | $target |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 70 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::getWatchedItemsForUser | ( | UserIdentity | $user, |
| array | $options = [] ) |
| UserIdentity | $user | |
| array | $options | Allowed keys:
|
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 85 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::isTempWatched | ( | UserIdentity | $user, |
| PageReference | $target ) |
Whether the page is only being watched temporarily (has expiry).Must be called separately for Subject & Talk namespaces.
| UserIdentity | $user | |
| PageReference | $target |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 95 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::isWatched | ( | UserIdentity | $user, |
| PageReference | $target ) |
Must be called separately for Subject & Talk namespaces.
| UserIdentity | $user | |
| PageReference | $target |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 90 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::loadWatchedItem | ( | UserIdentity | $user, |
| PageReference | $target ) |
Loads an item from the db.
| UserIdentity | $user | |
| PageReference | $target |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 75 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::loadWatchedItemsBatch | ( | UserIdentity | $user, |
| array | $targets ) |
Loads a set of WatchedItems from the db.
| UserIdentity | $user | |
| PageReference[] | $targets |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 80 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::maybeEnqueueWatchlistExpiryJob | ( | ) |
Probabilistically add a job to purge the expired watchlist items, if watchlist expiration is enabled, based on the value of $wgWatchlistPurgeRate.
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 185 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::mustClearWatchedItemsUsingJobQueue | ( | UserIdentity | $user | ) |
Does the size of the users watchlist require clearUserWatchedItemsUsingJobQueue() to be used instead of clearUserWatchedItems()
| UserIdentity | $user |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 175 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::removeExpired | ( | int | $limit, |
| bool | $deleteOrphans = false ) |
Remove some number of expired watchlist items.
| int | $limit | The number of items to remove. |
| bool | $deleteOrphans | Whether to also delete watchlist_expiry rows that have no related watchlist rows (because not all code knows about the expiry table yet). This runs two extra queries, so is only done from the purgeExpiredWatchlistItems.php maintenance script. |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 207 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::removeLabels | ( | UserIdentity | $user, |
| array | $targets, | ||
| array | $labels ) |
Remove labels from a set of watchlist items.The same labels are removed from each item. Ignore missing label members.
| UserIdentity | $user | |
| PageReference[] | $targets | |
| (WatchlistLabel|int)[] | $labels |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 217 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::removeWatch | ( | UserIdentity | $user, |
| PageReference | $target ) |
Removes an entry for the UserIdentity watching the target Must be called separately for Subject & Talk namespaces.
| UserIdentity | $user | |
| PageReference | $target |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 134 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::removeWatchBatchForUser | ( | UserIdentity | $user, |
| array | $targets ) |
| UserIdentity | $user | |
| PageReference[] | $targets |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 190 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::resetAllNotificationTimestampsForUser | ( | UserIdentity | $user, |
| $timestamp = null ) |
Reset all watchlist notification timestamps for a user using the job queue.
| UserIdentity | $user | The user to reset the timestamps for |
| string | int | null | $timestamp | Value to set all timestamps to, null to clear them |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 155 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::resetNotificationTimestamp | ( | UserIdentity | $user, |
| PageReference | $title, | ||
| $force = '', | |||
| $oldid = 0 ) |
Reset the notification timestamp of this entry.
| UserIdentity | $user | |
| PageReference | $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 MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 160 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::setNotificationTimestampsForUser | ( | UserIdentity | $user, |
| $timestamp, | |||
| array | $targets = [] ) |
| UserIdentity | $user | The user to set the timestamps for |
| string | null | $timestamp | Set the update timestamp to this value |
| PageReference[] | $targets | List of targets to update. Default to all targets. |
Implements MediaWiki\Watchlist\WatchedItemStoreInterface.
Definition at line 139 of file NoWriteWatchedItemStore.php.
| MediaWiki\Watchlist\NoWriteWatchedItemStore::updateNotificationTimestamp | ( | UserIdentity | $editor, |
| $target, | |||
| $timestamp ) |
Definition at line 148 of file NoWriteWatchedItemStore.php.