MediaWiki  1.28.0
WatchedItemQueryService Class Reference
Collaboration diagram for WatchedItemQueryService:

Public Member Functions

 __construct (LoadBalancer $loadBalancer)
 
 getWatchedItemsForUser (User $user, array $options=[])
 For simple listing of user's watchlist items, see WatchedItemStore::getWatchedItemsForUser. More...
 
 getWatchedItemsWithRecentChangeInfo (User $user, array $options=[])
 

Public Attributes

const DIR_NEWER = 'newer'
 
const DIR_OLDER = 'older'
 
const FILTER_ANON = 'anon'
 
const FILTER_BOT = 'bot'
 
const FILTER_CHANGED = 'changed'
 
const FILTER_MINOR = 'minor'
 
const FILTER_NOT_ANON = '!anon'
 
const FILTER_NOT_BOT = '!bot'
 
const FILTER_NOT_CHANGED = '!changed'
 
const FILTER_NOT_MINOR = '!minor'
 
const FILTER_NOT_PATROLLED = '!patrolled'
 
const FILTER_NOT_UNREAD = '!unread'
 
const FILTER_PATROLLED = 'patrolled'
 
const FILTER_UNREAD = 'unread'
 
const INCLUDE_COMMENT = 'comment'
 
const INCLUDE_FLAGS = 'flags'
 
const INCLUDE_LOG_INFO = 'loginfo'
 
const INCLUDE_PATROL_INFO = 'patrol'
 
const INCLUDE_SIZES = 'sizes'
 
const INCLUDE_USER = 'user'
 
const INCLUDE_USER_ID = 'userid'
 
const SORT_ASC = 'ASC'
 
const SORT_DESC = 'DESC'
 

Private Member Functions

 getConnection ()
 
 getExtraDeletedPageLogEntryRelatedCond (IDatabase $db, User $user)
 
 getFromUntilTargetConds (IDatabase $db, LinkTarget $target, $op)
 Creates a query condition part for getting only items before or after the given link target (while ordering using $sort mode) More...
 
 getRecentChangeFieldsFromRow (stdClass $row)
 
 getStartEndConds (IDatabase $db, array $options)
 
 getStartFromConds (IDatabase $db, array $options)
 
 getUserRelatedConds (IDatabase $db, User $user, array $options)
 
 getWatchedItemsForUserQueryConds (IDatabase $db, User $user, array $options)
 
 getWatchedItemsForUserQueryDbOptions (array $options)
 
 getWatchedItemsWithRCInfoQueryConds (IDatabase $db, User $user, array $options)
 
 getWatchedItemsWithRCInfoQueryDbOptions (array $options)
 
 getWatchedItemsWithRCInfoQueryFields (array $options)
 
 getWatchedItemsWithRCInfoQueryFilterConds (User $user, array $options)
 
 getWatchedItemsWithRCInfoQueryJoinConds (array $options)
 
 getWatchlistOwnerId (User $user, array $options)
 

Private Attributes

LoadBalancer $loadBalancer
 

Detailed Description

Definition at line 16 of file WatchedItemQueryService.php.

Constructor & Destructor Documentation

WatchedItemQueryService::__construct ( LoadBalancer  $loadBalancer)

Definition at line 53 of file WatchedItemQueryService.php.

References $loadBalancer.

Member Function Documentation

WatchedItemQueryService::getConnection ( )
private
Returns
IDatabase
Exceptions
MWException

Definition at line 61 of file WatchedItemQueryService.php.

References DB_REPLICA.

Referenced by getWatchedItemsForUser(), and getWatchedItemsWithRecentChangeInfo().

WatchedItemQueryService::getExtraDeletedPageLogEntryRelatedCond ( IDatabase  $db,
User  $user 
)
private
WatchedItemQueryService::getFromUntilTargetConds ( IDatabase  $db,
LinkTarget  $target,
  $op 
)
private

Creates a query condition part for getting only items before or after the given link target (while ordering using $sort mode)

Parameters
IDatabase$db
LinkTarget$target
string$opcomparison operator to use in the conditions
Returns
string

Definition at line 561 of file WatchedItemQueryService.php.

References IDatabase\addQuotes(), MediaWiki\Linker\LinkTarget\getDBkey(), MediaWiki\Linker\LinkTarget\getNamespace(), LIST_AND, LIST_OR, and IDatabase\makeList().

Referenced by getWatchedItemsForUserQueryConds().

WatchedItemQueryService::getRecentChangeFieldsFromRow ( stdClass  $row)
private

Definition at line 264 of file WatchedItemQueryService.php.

Referenced by getWatchedItemsWithRecentChangeInfo().

WatchedItemQueryService::getStartEndConds ( IDatabase  $db,
array  $options 
)
private
WatchedItemQueryService::getStartFromConds ( IDatabase  $db,
array  $options 
)
private
WatchedItemQueryService::getUserRelatedConds ( IDatabase  $db,
User  $user,
array  $options 
)
private
WatchedItemQueryService::getWatchedItemsForUser ( User  $user,
array  $options = [] 
)

For simple listing of user's watchlist items, see WatchedItemStore::getWatchedItemsForUser.

Parameters
User$user
array$optionsAllowed keys: 'sort' => string optional sorting by namespace ID and title one of the self::SORT_* constants 'namespaceIds' => int[] optional namespace IDs to filter by (defaults to all namespaces) 'limit' => int maximum number of items to return 'filter' => string optional filter, one of the self::FILTER_* contants 'from' => LinkTarget requires 'sort' key, only return items starting from those related to the link target 'until' => LinkTarget requires 'sort' key, only return items until those related to the link target 'startFrom' => LinkTarget requires 'sort' key, only return items starting from those related to the link target, allows to skip some link targets specified using the form option
Returns
WatchedItem[]

Definition at line 210 of file WatchedItemQueryService.php.

References $options, $res, as, getConnection(), getWatchedItemsForUserQueryConds(), getWatchedItemsForUserQueryDbOptions(), and User\isAnon().

WatchedItemQueryService::getWatchedItemsForUserQueryConds ( IDatabase  $db,
User  $user,
array  $options 
)
private

Definition at line 522 of file WatchedItemQueryService.php.

References getFromUntilTargetConds(), and User\getId().

Referenced by getWatchedItemsForUser().

WatchedItemQueryService::getWatchedItemsForUserQueryDbOptions ( array  $options)
private

Definition at line 592 of file WatchedItemQueryService.php.

Referenced by getWatchedItemsForUser().

WatchedItemQueryService::getWatchedItemsWithRCInfoQueryDbOptions ( array  $options)
private

Definition at line 577 of file WatchedItemQueryService.php.

References $sort.

Referenced by getWatchedItemsWithRecentChangeInfo().

WatchedItemQueryService::getWatchedItemsWithRCInfoQueryFields ( array  $options)
private

Definition at line 277 of file WatchedItemQueryService.php.

Referenced by getWatchedItemsWithRecentChangeInfo().

WatchedItemQueryService::getWatchedItemsWithRCInfoQueryFilterConds ( User  $user,
array  $options 
)
private
WatchedItemQueryService::getWatchedItemsWithRCInfoQueryJoinConds ( array  $options)
private

Definition at line 609 of file WatchedItemQueryService.php.

Referenced by getWatchedItemsWithRecentChangeInfo().

WatchedItemQueryService::getWatchedItemsWithRecentChangeInfo ( User  $user,
array  $options = [] 
)
Parameters
User$user
array$optionsAllowed keys: 'includeFields' => string[] RecentChange fields to be included in the result, self::INCLUDE_* constants should be used 'filters' => string[] optional filters to narrow down resulted items 'namespaceIds' => int[] optional namespace IDs to filter by (defaults to all namespaces) 'allRevisions' => bool return multiple revisions of the same page if true, only the most recent if false (default) 'rcTypes' => int[] which types of RecentChanges to include (defaults to all types), allowed values: RC_EDIT, RC_NEW, RC_LOG, RC_EXTERNAL, RC_CATEGORIZE 'onlyByUser' => string only list changes by a specified user 'notByUser' => string do not incluide changes by a specified user 'dir' => string in which direction to enumerate, accepted values:
  • DIR_OLDER list newest first
  • DIR_NEWER list oldest first 'start' => string (format accepted by wfTimestamp) requires 'dir' option, timestamp to start enumerating from 'end' => string (format accepted by wfTimestamp) requires 'dir' option, timestamp to end enumerating 'startFrom' => [ string $rcTimestamp, int $rcId ] requires 'dir' option, return items starting from the RecentChange specified by this, $rcTimestamp should be in the format accepted by wfTimestamp 'watchlistOwner' => User user whose watchlist items should be listed if different than the one specified with $user param, requires 'watchlistOwnerToken' option 'watchlistOwnerToken' => string a watchlist token used to access another user's watchlist, used with 'watchlistOwnerToken' option 'limit' => int maximum numbers of items to return 'usedInGenerator' => bool include only RecentChange id field required by the generator ('rc_cur_id' or 'rc_this_oldid') if true, or all id fields ('rc_cur_id', 'rc_this_oldid', 'rc_last_oldid') if false (default)
Returns
array of pairs ( WatchedItem $watchedItem, string[] $recentChangeInfo ), where $recentChangeInfo contains the following keys:
  • 'rc_id',
  • 'rc_namespace',
  • 'rc_title',
  • 'rc_timestamp',
  • 'rc_type',
  • 'rc_deleted', Additional keys could be added by specifying the 'includeFields' option

Definition at line 110 of file WatchedItemQueryService.php.

References $options, $res, $tables, as, class, false, getConnection(), getRecentChangeFieldsFromRow(), getWatchedItemsWithRCInfoQueryConds(), getWatchedItemsWithRCInfoQueryDbOptions(), getWatchedItemsWithRCInfoQueryFields(), getWatchedItemsWithRCInfoQueryJoinConds(), RC_CATEGORIZE, RC_EDIT, RC_EXTERNAL, RC_LOG, and RC_NEW.

WatchedItemQueryService::getWatchlistOwnerId ( User  $user,
array  $options 
)
private

Definition at line 378 of file WatchedItemQueryService.php.

References User\getId().

Referenced by getWatchedItemsWithRCInfoQueryConds().

Member Data Documentation

LoadBalancer WatchedItemQueryService::$loadBalancer
private

Definition at line 51 of file WatchedItemQueryService.php.

Referenced by __construct().

const WatchedItemQueryService::DIR_NEWER = 'newer'
const WatchedItemQueryService::INCLUDE_LOG_INFO = 'loginfo'
const WatchedItemQueryService::INCLUDE_PATROL_INFO = 'patrol'
const WatchedItemQueryService::INCLUDE_SIZES = 'sizes'
const WatchedItemQueryService::INCLUDE_USER_ID = 'userid'

The documentation for this class was generated from the following file: