MediaWiki  1.33.0
WatchedItemStoreInterface.php
Go to the documentation of this file.
1 <?php
23 
29 
33  const SORT_ASC = 'ASC';
34 
38  const SORT_DESC = 'DESC';
39 
50  public function countWatchedItems( User $user );
51 
59  public function countWatchers( LinkTarget $target );
60 
73  public function countVisitingWatchers( LinkTarget $target, $threshold );
74 
86  public function countWatchersMultiple( array $targets, array $options = [] );
87 
108  public function countVisitingWatchersMultiple(
109  array $targetsWithVisitThresholds,
110  $minimumWatchers = null
111  );
112 
123  public function getWatchedItem( User $user, LinkTarget $target );
124 
135  public function loadWatchedItem( User $user, LinkTarget $target );
136 
148  public function getWatchedItemsForUser( User $user, array $options = [] );
149 
160  public function isWatched( User $user, LinkTarget $target );
161 
173  public function getNotificationTimestampsBatch( User $user, array $targets );
174 
183  public function addWatch( User $user, LinkTarget $target );
184 
193  public function addWatchBatchForUser( User $user, array $targets );
194 
208  public function removeWatch( User $user, LinkTarget $target );
209 
219  public function setNotificationTimestampsForUser(
220  User $user,
221  $timestamp,
222  array $targets = []
223  );
224 
233 
244  public function updateNotificationTimestamp( User $editor, LinkTarget $target, $timestamp );
245 
261  public function resetNotificationTimestamp( User $user, Title $title, $force = '', $oldid = 0 );
262 
272  public function countUnreadNotifications( User $user, $unreadLimit = null );
273 
285  public function duplicateAllAssociatedEntries( LinkTarget $oldTarget, LinkTarget $newTarget );
286 
299  public function duplicateEntry( LinkTarget $oldTarget, LinkTarget $newTarget );
300 
308  public function clearUserWatchedItems( User $user );
309 
317  public function clearUserWatchedItemsUsingJobQueue( User $user );
318 
327  public function removeWatchBatchForUser( User $user, array $targets );
328 
342  public function getLatestNotificationTimestamp( $timestamp, User $user, LinkTarget $target );
343 }
WatchedItemStoreInterface\updateNotificationTimestamp
updateNotificationTimestamp(User $editor, LinkTarget $target, $timestamp)
$user
return true to allow those checks to and false if checking is done & $user
Definition: hooks.txt:1476
WatchedItemStoreInterface\addWatchBatchForUser
addWatchBatchForUser(User $user, array $targets)
WatchedItemStoreInterface\getLatestNotificationTimestamp
getLatestNotificationTimestamp( $timestamp, User $user, LinkTarget $target)
Convert $timestamp to TS_MW or return null if the page was visited since then by $user.
WatchedItemStoreInterface\countWatchersMultiple
countWatchersMultiple(array $targets, array $options=[])
WatchedItemStoreInterface\removeWatchBatchForUser
removeWatchBatchForUser(User $user, array $targets)
WatchedItemStoreInterface\isWatched
isWatched(User $user, LinkTarget $target)
Must be called separately for Subject & Talk namespaces.
WatchedItemStoreInterface\duplicateEntry
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.
WatchedItemStoreInterface\duplicateAllAssociatedEntries
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.
WatchedItemStoreInterface\clearUserWatchedItems
clearUserWatchedItems(User $user)
Queues a job that will clear the users watchlist using the Job Queue.
php
injection txt This is an overview of how MediaWiki makes use of dependency injection The design described here grew from the discussion of RFC T384 The term dependency this means that anything an object needs to operate should be injected from the the object itself should only know narrow no concrete implementation of the logic it relies on The requirement to inject everything typically results in an architecture that based on two main types of and essentially stateless service objects that use other service objects to operate on the value objects As of the beginning MediaWiki is only starting to use the DI approach Much of the code still relies on global state or direct resulting in a highly cyclical dependency which acts as the top level factory for services in MediaWiki which can be used to gain access to default instances of various services MediaWikiServices however also allows new services to be defined and default services to be redefined Services are defined or redefined by providing a callback the instantiator that will return a new instance of the service When it will create an instance of MediaWikiServices and populate it with the services defined in the files listed by thereby bootstrapping the DI framework Per $wgServiceWiringFiles lists includes ServiceWiring php
Definition: injection.txt:35
WatchedItemStoreInterface\countVisitingWatchers
countVisitingWatchers(LinkTarget $target, $threshold)
Number of page watchers who also visited a "recent" edit.
$title
namespace and then decline to actually register it file or subcat img or subcat $title
Definition: hooks.txt:925
WatchedItemStoreInterface\countWatchers
countWatchers(LinkTarget $target)
WatchedItemStoreInterface\countUnreadNotifications
countUnreadNotifications(User $user, $unreadLimit=null)
WatchedItemStoreInterface\countVisitingWatchersMultiple
countVisitingWatchersMultiple(array $targetsWithVisitThresholds, $minimumWatchers=null)
Number of watchers of each page who have visited recent edits to that page.
WatchedItemStoreInterface\SORT_DESC
const SORT_DESC
Definition: WatchedItemStoreInterface.php:38
use
as see the revision history and available at free of to any person obtaining a copy of this software and associated documentation to deal in the Software without including without limitation the rights to use
Definition: MIT-LICENSE.txt:10
array
The wiki should then use memcached to cache various data To use multiple just add more items to the array To increase the weight of a make its entry a array("192.168.0.1:11211", 2))
$editor
passed in as a query string parameter to the various URLs constructed here(i.e. $prevlink) $ldel you ll need to handle error etc yourself modifying $error and returning true will cause the contents of $error to be echoed at the top of the edit form as wikitext Return true without altering $error to allow the edit to proceed & $editor
Definition: hooks.txt:1290
WatchedItemStoreInterface\loadWatchedItem
loadWatchedItem(User $user, LinkTarget $target)
Loads an item from the db.
WatchedItemStoreInterface\resetAllNotificationTimestampsForUser
resetAllNotificationTimestampsForUser(User $user)
Reset all watchlist notificaton timestamps for a user using the job queue.
WatchedItemStoreInterface\clearUserWatchedItemsUsingJobQueue
clearUserWatchedItemsUsingJobQueue(User $user)
Queues a job that will clear the users watchlist using the Job Queue.
WatchedItemStoreInterface\SORT_ASC
const SORT_ASC
Definition: WatchedItemStoreInterface.php:33
WatchedItemStoreInterface\getWatchedItemsForUser
getWatchedItemsForUser(User $user, array $options=[])
Wikimedia\Rdbms\DBUnexpectedError
Definition: DBUnexpectedError.php:27
Title
Represents a title within MediaWiki.
Definition: Title.php:40
$options
null means default in associative array with keys and values unescaped Should be merged with default with a value of false meaning to suppress the attribute in associative array with keys and values unescaped & $options
Definition: hooks.txt:1985
WatchedItemStoreInterface\getNotificationTimestampsBatch
getNotificationTimestampsBatch(User $user, array $targets)
WatchedItemStoreInterface\setNotificationTimestampsForUser
setNotificationTimestampsForUser(User $user, $timestamp, array $targets=[])
WatchedItemStoreInterface\getWatchedItem
getWatchedItem(User $user, LinkTarget $target)
Get an item (may be cached)
WatchedItemStoreInterface\addWatch
addWatch(User $user, LinkTarget $target)
Must be called separately for Subject & Talk namespaces.
MediaWiki\Linker\LinkTarget
Definition: LinkTarget.php:26
WatchedItemStoreInterface
Definition: WatchedItemStoreInterface.php:28
User
The User object encapsulates all of the user-specific settings (user_id, name, rights,...
Definition: User.php:48
WatchedItemStoreInterface\removeWatch
removeWatch(User $user, LinkTarget $target)
Removes an entry for the User watching the LinkTarget Must be called separately for Subject & Talk na...
WatchedItemStoreInterface\resetNotificationTimestamp
resetNotificationTimestamp(User $user, Title $title, $force='', $oldid=0)
Reset the notification timestamp of this entry.
WatchedItemStoreInterface\countWatchedItems
countWatchedItems(User $user)
Count the number of individual items that are watched by the user.