MediaWiki  1.29.1
SpecialWatchlist Class Reference

A special page that lists last changes made to the wiki, limited to user-defined list of titles. More...

Inheritance diagram for SpecialWatchlist:
Collaboration diagram for SpecialWatchlist:

Public Member Functions

 __construct ( $page='Watchlist', $restriction='viewmywatchlist')
 
 cutoffselector ( $options)
 
 doesWrites ()
 Indicates whether this special page may perform database writes. More...
 
 doHeader ( $opts, $numRows)
 Set the text to be displayed above the changes. More...
 
 execute ( $subpage)
 Main execution point. More...
 
 getDefaultOptions ()
 Get a FormOptions object containing the default options. More...
 
 getSubpagesForPrefixSearch ()
 Return an array of subpages that this special page will accept. More...
 
 outputChangesList ( $rows, $opts)
 Build and output the actual changes list. More...
 
 outputFeedLinks ()
 Output feed links. More...
 
 setTopText (FormOptions $opts)
 Send the text to be displayed before the options. More...
 
- Public Member Functions inherited from ChangesListSpecialPage
 filterOnUserExperienceLevel ( $specialPageClassName, $context, $dbr, &$tables, &$fields, &$conds, &$query_options, &$join_conds, $selectedExpLevels)
 Filter on users' experience levels; this will not be called if nothing is selected. More...
 
 getExtraOptions ( $opts)
 Get options to be displayed in a form. More...
 
 getFilterGroup ( $groupName)
 Gets a specified ChangesListFilterGroup by name. More...
 
 getOptions ()
 Get the current FormOptions for this request. More...
 
 getRows ()
 Get the database result for this special page instance. More...
 
 getStructuredFilterJsData ()
 Gets structured filter information needed by JS. More...
 
 makeLegend ()
 Return the legend displayed within the fieldset. More...
 
 parseParameters ( $par, FormOptions $opts)
 Process $par and put options found in $opts. More...
 
 registerFilterGroup (ChangesListFilterGroup $group)
 Register a structured changes list filter group. More...
 
 setBottomText (FormOptions $opts)
 Send the text to be displayed after the options. More...
 
 setup ( $parameters)
 Register all the filters, including legacy hook-driven ones. More...
 
 validateOptions (FormOptions $opts)
 Validate a FormOptions object generated by getDefaultOptions() with values already populated. More...
 
 webOutput ( $rows, $opts)
 Send output to the OutputPage object, only called if not used feeds. More...
 
- Public Member Functions inherited from SpecialPage
 __construct ( $name='', $restriction='', $listed=true, $function=false, $file='', $includable=false)
 Default constructor for special pages Derivative classes should call this from their constructor Note that if the user does not have the required level, an error message will be displayed by the default execute() method, without the global function ever being called. More...
 
 addHelpLink ( $to, $overrideBaseUrl=false)
 Adds help link with an icon via page indicators. More...
 
 checkPermissions ()
 Checks if userCanExecute, and if not throws a PermissionsError. More...
 
 checkReadOnly ()
 If the wiki is currently in readonly mode, throws a ReadOnlyError. More...
 
 displayRestrictionError ()
 Output an error message telling the user what access level they have to have. More...
 
 getConfig ()
 Shortcut to get main config object. More...
 
 getContext ()
 Gets the context this SpecialPage is executed in. More...
 
 getDescription ()
 Returns the name that goes in the \<h1\> in the special page itself, and also the name that will be listed in Special:Specialpages. More...
 
 getFinalGroupName ()
 Get the group that the special page belongs in on Special:SpecialPage Use this method, instead of getGroupName to allow customization of the group name from the wiki side. More...
 
 getFullTitle ()
 Return the full title, including $par. More...
 
 getLanguage ()
 Shortcut to get user's language. More...
 
 getLinkRenderer ()
 
 getLocalName ()
 Get the localised name of the special page. More...
 
 getName ()
 Get the name of this Special Page. More...
 
 getOutput ()
 Get the OutputPage being used for this instance. More...
 
 getPageTitle ( $subpage=false)
 Get a self-referential title object. More...
 
 getRequest ()
 Get the WebRequest being used for this instance. More...
 
 getRestriction ()
 Get the permission that a user must have to execute this page. More...
 
 getSkin ()
 Shortcut to get the skin being used for this instance. More...
 
 getTitle ( $subpage=false)
 Get a self-referential title object. More...
 
 getUser ()
 Shortcut to get the User executing this instance. More...
 
 including ( $x=null)
 Whether the special page is being evaluated via transclusion. More...
 
 isCached ()
 Is this page cached? Expensive pages are cached or disabled in miser mode. More...
 
 isExpensive ()
 Is this page expensive (for some definition of expensive)? Expensive pages are disabled or cached in miser mode. More...
 
 isIncludable ()
 Whether it's allowed to transclude the special page via {{Special:Foo/params}}. More...
 
 isListed ()
 Whether this special page is listed in Special:SpecialPages. More...
 
 isRestricted ()
 Can be overridden by subclasses with more complicated permissions schemes. More...
 
 listed ( $x=null)
 Get or set whether this special page is listed in Special:SpecialPages. More...
 
 maxIncludeCacheTime ()
 How long to cache page when it is being included. More...
 
 msg ()
 Wrapper around wfMessage that sets the current context. More...
 
 outputHeader ( $summaryMessageKey='')
 Outputs a summary message on top of special pages Per default the message key is the canonical name of the special page May be overridden, i.e. More...
 
 prefixSearchSubpages ( $search, $limit, $offset)
 Return an array of subpages beginning with $search that this special page will accept. More...
 
 requireLogin ( $reasonMsg='exception-nologin-text', $titleMsg='exception-nologin')
 If the user is not logged in, throws UserNotLoggedIn error. More...
 
 run ( $subPage)
 Entry point. More...
 
 setContext ( $context)
 Sets the context this SpecialPage is executed in. More...
 
 setHeaders ()
 Sets headers - this should be called from the execute() method of all derived classes! More...
 
 setLinkRenderer (LinkRenderer $linkRenderer)
 
 setListed ( $listed)
 Set whether this page is listed in Special:Specialpages, at run-time. More...
 
 userCanExecute (User $user)
 Checks if the given user (identified by an object) can execute this special page (as defined by $mRestriction). More...
 

Protected Member Functions

 buildQuery (&$tables, &$fields, &$conds, &$query_options, &$join_conds, FormOptions $opts)
 Sets appropriate tables, fields, conditions, etc.depending on which filters the user requested.
Parameters
array&$tablesArray of tables; see IDatabase::select $table
array&$fieldsArray of fields; see IDatabase::select $vars
array&$condsArray of conditions; see IDatabase::select $conds
array&$query_optionsArray of query options; see IDatabase::select $options
array&$join_condsArray of join conditions; see IDatabase::select $join_conds
FormOptions$opts
More...
 
 countItems ()
 Count the number of paired items on a user's watchlist. More...
 
 doMainQuery ( $tables, $fields, $conds, $query_options, $join_conds, FormOptions $opts)
 Process the query.
Parameters
array$tablesArray of tables; see IDatabase::select $table
array$fieldsArray of fields; see IDatabase::select $vars
array$condsArray of conditions; see IDatabase::select $conds
array$query_optionsArray of query options; see IDatabase::select $options
array$join_condsArray of join conditions; see IDatabase::select $join_conds
FormOptions$opts
Returns
bool|ResultWrapper Result or false
More...
 
 fetchOptionsFromRequest ( $opts)
 Fetch values for a FormOptions object from the WebRequest associated with this instance. More...
 
 getCustomFilters ()
 Get all custom filters. More...
 
 getDB ()
 Return a IDatabase object for reading. More...
 
 registerFilters ()
 Register all filters and their groups (including those from hooks), plus handle conflicts and defaults.You might want to customize these in the same method, in subclasses. You can call getFilterGroup to access a group, and (on the group) getFilter to access a filter, then make necessary modfications to the filter or group (e.g. with setDefault). More...
 
 runMainQueryHook (&$tables, &$fields, &$conds, &$query_options, &$join_conds, $opts)
 
 showHideCheck ( $options, $message, $name, $value)
 
 transformFilterDefinition (array $filterDefinition)
 Transforms filter definition to prepare it for constructor.See overrides of this method as well.
Parameters
array$filterDefinitionOriginal filter definition
Returns
array Transformed definition
More...
 
- Protected Member Functions inherited from ChangesListSpecialPage
 addModules ()
 Add page-specific modules. More...
 
 areFiltersInConflict ()
 Check if filters are in conflict and guaranteed to return no results. More...
 
 getFilterGroupDefinitionFromLegacyCustomFilters ( $customFilters)
 Get filter group definition from legacy custom filters. More...
 
 getFilterGroups ()
 Gets the currently registered filters groups. More...
 
 getGroupName ()
 Under which header this special page is listed in Special:SpecialPages See messages 'specialpages-group-*' for valid names This method defaults to group 'other'. More...
 
 outputNoResults ()
 Add the "no results" message to the output. More...
 
 registerFiltersFromDefinitions (array $definition)
 Register filters from a definition object. More...
 
- Protected Member Functions inherited from SpecialPage
 addFeedLinks ( $params)
 Adds RSS/atom links. More...
 
 afterExecute ( $subPage)
 Gets called after. More...
 
 beforeExecute ( $subPage)
 Gets called before. More...
 
 checkLoginSecurityLevel ( $level=null)
 Verifies that the user meets the security level, possibly reauthenticating them in the process. More...
 
 getCacheTTL ()
 
 getLoginSecurityLevel ()
 Tells if the special page does something security-sensitive and needs extra defense against a stolen account (e.g. More...
 
 getRobotPolicy ()
 Return the robot policy. More...
 
 prefixSearchString ( $search, $limit, $offset)
 Perform a regular substring search for prefixSearchSubpages. More...
 
 useTransactionalTimeLimit ()
 Call wfTransactionalTimeLimit() if this request was POSTed. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from SpecialPage
static getSafeTitleFor ( $name, $subpage=false)
 Get a localised Title object for a page name with a possibly unvalidated subpage. More...
 
static getTitleFor ( $name, $subpage=false, $fragment='')
 Get a localised Title object for a specified special page name If you don't need a full Title object, consider using TitleValue through getTitleValueFor() below. More...
 
static getTitleValueFor ( $name, $subpage=false, $fragment='')
 Get a localised TitleValue object for a specified special page name. More...
 
- Static Protected Member Functions inherited from SpecialPage
static prefixSearchArray ( $search, $limit, array $subpages, $offset)
 Helper function for implementations of prefixSearchSubpages() that filter the values in memory (as opposed to making a query). More...
 
- Protected Attributes inherited from ChangesListSpecialPage
array $customFilters
 
 $filterGroups = []
 Filter groups, and their contained filters This is an associative array (with group name as key) of ChangesListFilterGroup objects. More...
 
FormOptions $rcOptions
 
string $rcSubpage
 
- Protected Attributes inherited from SpecialPage
IContextSource $mContext
 Current request context. More...
 
 $mIncludable
 
 $mIncluding
 
 $mName
 
 $mRestriction
 

Detailed Description

A special page that lists last changes made to the wiki, limited to user-defined list of titles.

Definition at line 34 of file SpecialWatchlist.php.

Constructor & Destructor Documentation

◆ __construct()

SpecialWatchlist::__construct (   $page = 'Watchlist',
  $restriction = 'viewmywatchlist' 
)

Reimplemented from ChangesListSpecialPage.

Definition at line 35 of file SpecialWatchlist.php.

References $page.

Member Function Documentation

◆ buildQuery()

SpecialWatchlist::buildQuery ( $tables,
$fields,
$conds,
$query_options,
$join_conds,
FormOptions  $opts 
)
protected

Sets appropriate tables, fields, conditions, etc.depending on which filters the user requested.

Parameters
array&$tablesArray of tables; see IDatabase::select $table
array&$fieldsArray of fields; see IDatabase::select $vars
array&$condsArray of conditions; see IDatabase::select $conds
array&$query_optionsArray of query options; see IDatabase::select $options
array&$join_condsArray of join conditions; see IDatabase::select $join_conds
FormOptions$opts

Reimplemented from ChangesListSpecialPage.

Definition at line 248 of file SpecialWatchlist.php.

References $dbr, $tables, and getDB().

◆ countItems()

SpecialWatchlist::countItems ( )
protected

Count the number of paired items on a user's watchlist.

The assumption made here is that when a subject page is watched a talk page is also watched. Hence the number of individual items is halved.

Returns
int

Definition at line 707 of file SpecialWatchlist.php.

References SpecialPage\getUser().

Referenced by setTopText().

◆ cutoffselector()

SpecialWatchlist::cutoffselector (   $options)

◆ doesWrites()

SpecialWatchlist::doesWrites ( )

Indicates whether this special page may perform database writes.

Returns
bool
Since
1.27

Reimplemented from SpecialPage.

Definition at line 39 of file SpecialWatchlist.php.

◆ doHeader()

◆ doMainQuery()

SpecialWatchlist::doMainQuery (   $tables,
  $fields,
  $conds,
  $query_options,
  $join_conds,
FormOptions  $opts 
)
protected

Process the query.

Parameters
array$tablesArray of tables; see IDatabase::select $table
array$fieldsArray of fields; see IDatabase::select $vars
array$condsArray of conditions; see IDatabase::select $conds
array$query_optionsArray of query options; see IDatabase::select $options
array$join_condsArray of join conditions; see IDatabase::select $join_conds
FormOptions$opts
Returns
bool|ResultWrapper Result or false

Reimplemented from ChangesListSpecialPage.

Definition at line 265 of file SpecialWatchlist.php.

References $dbr, $tables, $user, LogPage\DELETED_ACTION, LogPage\DELETED_RESTRICTED, SpecialPage\getConfig(), getDB(), SpecialPage\getUser(), LIST_OR, ChangeTags\modifyDisplayQuery(), RC_LOG, Hooks\run(), runMainQueryHook(), and RecentChange\selectFields().

◆ execute()

◆ fetchOptionsFromRequest()

SpecialWatchlist::fetchOptionsFromRequest (   $opts)
protected

Fetch values for a FormOptions object from the WebRequest associated with this instance.

Maps old pre-1.23 request parameters Watchlist used to use (different from Recentchanges' ones) to the current ones.

Parameters
FormOptions$opts
Returns
FormOptions

Reimplemented from ChangesListSpecialPage.

Definition at line 199 of file SpecialWatchlist.php.

References $params, $request, as, and SpecialPage\getRequest().

◆ getCustomFilters()

SpecialWatchlist::getCustomFilters ( )
protected

Get all custom filters.

Returns
array Map of filter URL param names to properties (msg/default)

Reimplemented from ChangesListSpecialPage.

Definition at line 181 of file SpecialWatchlist.php.

References ChangesListSpecialPage\$customFilters, and Hooks\run().

◆ getDB()

SpecialWatchlist::getDB ( )
protected

Return a IDatabase object for reading.

Returns
IDatabase

Reimplemented from ChangesListSpecialPage.

Definition at line 379 of file SpecialWatchlist.php.

References DB_REPLICA, and wfGetDB().

Referenced by buildQuery(), doMainQuery(), and outputChangesList().

◆ getDefaultOptions()

SpecialWatchlist::getDefaultOptions ( )

Get a FormOptions object containing the default options.

Returns
FormOptions

Reimplemented from ChangesListSpecialPage.

Definition at line 166 of file SpecialWatchlist.php.

References $user, FormOptions\FLOAT, and SpecialPage\getUser().

◆ getSubpagesForPrefixSearch()

SpecialWatchlist::getSubpagesForPrefixSearch ( )

Return an array of subpages that this special page will accept.

See also
also SpecialEditWatchlist::getSubpagesForPrefixSearch
Returns
string[] subpages

Reimplemented from SpecialPage.

Definition at line 101 of file SpecialWatchlist.php.

◆ outputChangesList()

SpecialWatchlist::outputChangesList (   $rows,
  $opts 
)

Build and output the actual changes list.

Parameters
ResultWrapper$rowsDatabase rows
FormOptions$opts

Reimplemented from ChangesListSpecialPage.

Definition at line 405 of file SpecialWatchlist.php.

References $dbr, $output, $s, $user, as, SpecialPage\getConfig(), SpecialPage\getContext(), getDB(), SpecialPage\getOutput(), SpecialPage\getUser(), ChangesList\newFromContext(), RecentChange\newFromRow(), RC_CATEGORIZE, and wfGetLB().

◆ outputFeedLinks()

SpecialWatchlist::outputFeedLinks ( )

Output feed links.

Reimplemented from ChangesListSpecialPage.

Definition at line 386 of file SpecialWatchlist.php.

References $user, SpecialPage\addFeedLinks(), and SpecialPage\getUser().

◆ registerFilters()

SpecialWatchlist::registerFilters ( )
protected

Register all filters and their groups (including those from hooks), plus handle conflicts and defaults.You might want to customize these in the same method, in subclasses. You can call getFilterGroup to access a group, and (on the group) getFilter to access a filter, then make necessary modfications to the filter or group (e.g. with setDefault).

Reimplemented from ChangesListSpecialPage.

Definition at line 123 of file SpecialWatchlist.php.

References $user, ChangesListSpecialPage\getFilterGroup(), and SpecialPage\getUser().

◆ runMainQueryHook()

SpecialWatchlist::runMainQueryHook ( $tables,
$fields,
$conds,
$query_options,
$join_conds,
  $opts 
)
protected

Reimplemented from ChangesListSpecialPage.

Definition at line 363 of file SpecialWatchlist.php.

References $tables, and Hooks\run().

Referenced by doMainQuery().

◆ setTopText()

SpecialWatchlist::setTopText ( FormOptions  $opts)

Send the text to be displayed before the options.

Should use $this->getOutput()->addWikiText() or similar methods to print the text.

Parameters
FormOptions$opts

Reimplemented from ChangesListSpecialPage.

Definition at line 633 of file SpecialWatchlist.php.

References $user, $value, as, Xml\closeElement(), countItems(), Xml\fieldset(), FormOptions\getChangedValues(), SpecialPage\getConfig(), SpecialPage\getOutput(), SpecialPage\getPageTitle(), SpecialPage\getUser(), Html\hidden(), ChangesListSpecialPage\makeLegend(), SpecialPage\msg(), Xml\openElement(), Xml\submitButton(), text, and wfScript().

Referenced by doHeader().

◆ showHideCheck()

SpecialWatchlist::showHideCheck (   $options,
  $message,
  $name,
  $value 
)
protected

Definition at line 689 of file SpecialWatchlist.php.

References $name, $options, $value, Xml\checkLabel(), SpecialPage\msg(), and text.

Referenced by doHeader().

◆ transformFilterDefinition()

SpecialWatchlist::transformFilterDefinition ( array  $filterDefinition)
protected

Transforms filter definition to prepare it for constructor.See overrides of this method as well.

Parameters
array$filterDefinitionOriginal filter definition
Returns
array Transformed definition

Reimplemented from ChangesListSpecialPage.

Definition at line 112 of file SpecialWatchlist.php.


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