MediaWiki  master
WatchedItemStoreInterface.php
Go to the documentation of this file.
1 <?php
25 
31 
35  const SORT_ASC = 'ASC';
36 
40  const SORT_DESC = 'DESC';
41 
52  public function countWatchedItems( UserIdentity $user );
53 
61  public function countWatchers( LinkTarget $target );
62 
75  public function countVisitingWatchers( LinkTarget $target, $threshold );
76 
88  public function countWatchersMultiple( array $targets, array $options = [] );
89 
110  public function countVisitingWatchersMultiple(
111  array $targetsWithVisitThresholds,
112  $minimumWatchers = null
113  );
114 
125  public function getWatchedItem( UserIdentity $user, LinkTarget $target );
126 
137  public function loadWatchedItem( UserIdentity $user, LinkTarget $target );
138 
150  public function getWatchedItemsForUser( UserIdentity $user, array $options = [] );
151 
162  public function isWatched( UserIdentity $user, LinkTarget $target );
163 
175  public function getNotificationTimestampsBatch( UserIdentity $user, array $targets );
176 
185  public function addWatch( UserIdentity $user, LinkTarget $target );
186 
195  public function addWatchBatchForUser( UserIdentity $user, array $targets );
196 
210  public function removeWatch( UserIdentity $user, LinkTarget $target );
211 
221  public function setNotificationTimestampsForUser(
222  UserIdentity $user,
223  $timestamp,
224  array $targets = []
225  );
226 
235  public function resetAllNotificationTimestampsForUser( UserIdentity $user, $timestamp = null );
236 
247  public function updateNotificationTimestamp(
248  UserIdentity $editor, LinkTarget $target, $timestamp );
249 
265  public function resetNotificationTimestamp(
266  UserIdentity $user, LinkTarget $title, $force = '', $oldid = 0 );
267 
277  public function countUnreadNotifications( UserIdentity $user, $unreadLimit = null );
278 
290  public function duplicateAllAssociatedEntries( LinkTarget $oldTarget, LinkTarget $newTarget );
291 
304  public function duplicateEntry( LinkTarget $oldTarget, LinkTarget $newTarget );
305 
313  public function clearUserWatchedItems( UserIdentity $user );
314 
322  public function clearUserWatchedItemsUsingJobQueue( UserIdentity $user );
323 
332  public function removeWatchBatchForUser( UserIdentity $user, array $targets );
333 
347  public function getLatestNotificationTimestamp(
348  $timestamp, UserIdentity $user, LinkTarget $target );
349 }
getNotificationTimestampsBatch(UserIdentity $user, array $targets)
removeWatch(UserIdentity $user, LinkTarget $target)
Removes an entry for the UserIdentity watching the LinkTarget Must be called separately for Subject &...
clearUserWatchedItemsUsingJobQueue(UserIdentity $user)
Queues a job that will clear the users watchlist using the Job Queue.
updateNotificationTimestamp(UserIdentity $editor, LinkTarget $target, $timestamp)
countUnreadNotifications(UserIdentity $user, $unreadLimit=null)
resetNotificationTimestamp(UserIdentity $user, LinkTarget $title, $force='', $oldid=0)
Reset the notification timestamp of this entry.
getWatchedItemsForUser(UserIdentity $user, array $options=[])
addWatch(UserIdentity $user, LinkTarget $target)
Must be called separately for Subject & Talk namespaces.
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...
countWatchersMultiple(array $targets, array $options=[])
Interface for objects representing user identity.
countWatchers(LinkTarget $target)
loadWatchedItem(UserIdentity $user, LinkTarget $target)
Loads an item from the db.
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...
isWatched(UserIdentity $user, LinkTarget $target)
Must be called separately for Subject & Talk namespaces.
getWatchedItem(UserIdentity $user, LinkTarget $target)
Get an item (may be cached)
getLatestNotificationTimestamp( $timestamp, UserIdentity $user, LinkTarget $target)
Convert $timestamp to TS_MW or return null if the page was visited since then by $user.
countVisitingWatchers(LinkTarget $target, $threshold)
Number of page watchers who also visited a "recent" edit.
removeWatchBatchForUser(UserIdentity $user, array $targets)
countVisitingWatchersMultiple(array $targetsWithVisitThresholds, $minimumWatchers=null)
Number of watchers of each page who have visited recent edits to that page.
setNotificationTimestampsForUser(UserIdentity $user, $timestamp, array $targets=[])
resetAllNotificationTimestampsForUser(UserIdentity $user, $timestamp=null)
Reset all watchlist notificaton timestamps for a user using the job queue.
countWatchedItems(UserIdentity $user)
Count the number of individual items that are watched by the user.
clearUserWatchedItems(UserIdentity $user)
Queues a job that will clear the users watchlist using the Job Queue.
addWatchBatchForUser(UserIdentity $user, array $targets)