Manual:WatchedItemStore.php

From Linux Web Expert

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

WatchedItemStore is the MediaWiki class that handles database interactions for Watchlist related functions. Watchlist code in other parts of the core act as a wrapper for functions in this class.

Member functions

  • countWatchedItems() - Count the number of individual items that are watched by the user. Counts subject and talk page separately.
  • countWatchers() - Count number of watchers for a given page.
  • countWatchersMultiple() - Count number of watchers for a given array of pages. Returns an array with watchers for each page.
  • countVisitingWatchers() - Number of watchers who have visited a recent edit of a page.
  • countVisitingWatchersMultiple() - Number of watchers of each page (from a given set of pages) who have visited recent edits to that page.
  • getNotificationTimestamp() - Retrieve the notification timestamp for an entry on the watchlist for a given user and page.
  • getNotificationTimestampsBatch() - Retrieve the notification timestamps for an array of given entries.
  • getWatchedItem() - Get a WatchedItem object for given user and LinkTarget object.
  • getWatchedItemsForUser() - Get all WatchedItems for a given user.
  • isWatched() - Check if a page is watched. Separate for subject and talk pages.
  • loadWatchedItem() - Loads a WatchedItem from DB with given user and LinkTarget values.
  • removeWatch() - Remove page from watchlist, given a user and LinkTarget.
  • resetNotificationTimestamp() - Reset notification timestamp for given user and page.
  • setNotificationTimestampsForUser() - Set a notification timestamp for given user and page.
  • updateNotificationTimestamp() - Update notification timestamp for given LinkTarget object. Accepts the editor user object to not update timestamp for them.
This list only covers the major functions. For a more complete list, refer to this auto-generated documentation page.

Example Usages

// Get notification timestamp for a watched item
use MediaWiki\MediaWikiServices;
$item = MediaWikiServices::getInstance()->getWatchedItemStore()->loadWatchedItem( $this->user, $this->linkTarget );
$this->notificationTimestamp = $item->getNotificationTimestamp();
// Count watched items for a given user
use MediaWiki\MediaWikiServices;
$store = MediaWikiServices::getInstance()->getWatchedItemStore();
$count = $store->countWatchedItems( $this->getUser() );