|
MediaWiki master
|
Inherited by MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
Public Member Functions | |
| addLabels (UserIdentity $user, array $targets, array $labels) | |
| Add a labels to a set of watchlist items. | |
| 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. | |
| 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. | |
| 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. | |
| getLatestNotificationTimestamp ( $timestamp, UserIdentity $user, PageReference $target) | |
| Convert $timestamp to TS::MW or return null if the page was visited since then by $user. | |
| 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). | |
| 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. | |
| 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, PageReference $target, $timestamp) | |
Public Attributes | |
| const | SORT_ASC = 'ASC' |
| const | SORT_DESC = 'DESC' |
Definition at line 17 of file WatchedItemStoreInterface.php.
| MediaWiki\Watchlist\WatchedItemStoreInterface::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 |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::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. |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::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. |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::clearUserWatchedItems | ( | UserIdentity | $user | ) |
Synchronously clear the users watchlist.
| UserIdentity | $user |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::clearUserWatchedItemsUsingJobQueue | ( | UserIdentity | $user | ) |
Queues a job that will clear the users watchlist using the Job Queue.
| UserIdentity | $user |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::countExpired | ( | ) |
Get the number of watchlist items that expire before the current time.
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
Referenced by PurgeExpiredWatchlistItems\execute(), and MediaWiki\Watchlist\WatchlistExpiryJob\run().
| MediaWiki\Watchlist\WatchedItemStoreInterface::countUnreadNotifications | ( | UserIdentity | $user, |
| $unreadLimit = null ) |
| UserIdentity | $user | |
| int | null | $unreadLimit |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::countVisitingWatchers | ( | PageReference | $target, |
| $threshold ) |
Number of page watchers who also visited a "recent" edit.
| PageReference | $target | |
| mixed | $threshold | timestamp accepted by wfTimestamp |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::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 |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::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 |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::countWatchers | ( | PageReference | $target | ) |
| PageReference | $target |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::countWatchersMultiple | ( | array | $targets, |
| array | $options = [] ) |
| PageReference[] | $targets | |
| array | $options | Allowed keys: 'minimumWatchers' => int |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::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 |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::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 |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::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 users
Usage of this method should be limited to WatchedItem* classes
| string | null | $timestamp | Value of wl_notificationtimestamp from the DB |
| UserIdentity | $user | |
| PageReference | $target |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::getNotificationTimestampsBatch | ( | UserIdentity | $user, |
| array | $targets ) |
| UserIdentity | $user | |
| PageReference[] | $targets |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::getWatchedItem | ( | UserIdentity | $user, |
| PageReference | $target ) |
Get an item (may be cached)
| UserIdentity | $user | |
| PageReference | $target |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
Referenced by MediaWiki\Actions\WatchAction\__construct().
| MediaWiki\Watchlist\WatchedItemStoreInterface::getWatchedItemsForUser | ( | UserIdentity | $user, |
| array | $options = [] ) |
| UserIdentity | $user | |
| array | $options | Allowed keys:
|
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::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 |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::isWatched | ( | UserIdentity | $user, |
| PageReference | $target ) |
Must be called separately for Subject & Talk namespaces.
| UserIdentity | $user | |
| PageReference | $target |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::loadWatchedItem | ( | UserIdentity | $user, |
| PageReference | $target ) |
Loads an item from the db.
| UserIdentity | $user | |
| PageReference | $target |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::loadWatchedItemsBatch | ( | UserIdentity | $user, |
| array | $targets ) |
Loads a set of WatchedItems from the db.
| UserIdentity | $user | |
| PageReference[] | $targets |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::maybeEnqueueWatchlistExpiryJob | ( | ) |
Probabilistically add a job to purge the expired watchlist items, if watchlist expiration is enabled, based on the value of $wgWatchlistPurgeRate.
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::mustClearWatchedItemsUsingJobQueue | ( | UserIdentity | $user | ) |
Does the size of the users watchlist require clearUserWatchedItemsUsingJobQueue() to be used instead of clearUserWatchedItems()
| UserIdentity | $user |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::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. |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
Referenced by PurgeExpiredWatchlistItems\execute(), and MediaWiki\Watchlist\WatchlistExpiryJob\run().
| MediaWiki\Watchlist\WatchedItemStoreInterface::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 |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::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 |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::removeWatchBatchForUser | ( | UserIdentity | $user, |
| array | $targets ) |
| UserIdentity | $user | |
| PageReference[] | $targets |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::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 |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::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. |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::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. |
Implemented in MediaWiki\Watchlist\NoWriteWatchedItemStore, and MediaWiki\Watchlist\WatchedItemStore.
| MediaWiki\Watchlist\WatchedItemStoreInterface::updateNotificationTimestamp | ( | UserIdentity | $editor, |
| PageReference | $target, | ||
| $timestamp ) |
| UserIdentity | $editor | The editor that triggered the update. Their notification timestamp will not be updated(they have already seen it) |
| PageReference | $target | The target to update timestamps for |
| string | $timestamp | Set the update (first unseen revision) timestamp to this value |
Implemented in MediaWiki\Watchlist\WatchedItemStore.
| const MediaWiki\Watchlist\WatchedItemStoreInterface::SORT_ASC = 'ASC' |
Definition at line 22 of file WatchedItemStoreInterface.php.
| const MediaWiki\Watchlist\WatchedItemStoreInterface::SORT_DESC = 'DESC' |
Definition at line 27 of file WatchedItemStoreInterface.php.