MediaWiki master
MediaWiki\Specials\SpecialRecentChanges Class Reference

List of the last changes made to the wiki. More...

Inherits MediaWiki\SpecialPage\ChangesListSpecialPage.

Inherited by MediaWiki\Specials\SpecialRecentChangesLinked.

Collaboration diagram for MediaWiki\Specials\SpecialRecentChanges:

Public Member Functions

 __construct (?WatchedItemStoreInterface $watchedItemStore=null, ?MessageParser $messageParser=null, ?UserOptionsLookup $userOptionsLookup=null, ?UserIdentityUtils $userIdentityUtils=null, ?TempUserConfig $tempUserConfig=null, ?RecentChangeFactory $recentChangeFactory=null, ?ChangesListQueryFactory $changesListQueryFactory=null,)
 
 checkLastModified ()
 Get last modified date, for client caching Don't use this if we are using the patrol feature, patrol changes don't update the timestamp.
 
 doHeader ( $opts, $numRows)
 Set the text to be displayed above the changes.
 
 execute ( $subpage)
 
 getDefaultLimit ()
 Get the default value of the number of changes to display when loading the result set.
 
 getExtraOptions ( $opts)
 Get options to be displayed in a form.
 
 isIncludable ()
 Whether it's allowed to transclude the special page via {{Special:Foo/params}}.
Stability: stable
to override
Returns
bool

 
 outputChangesList ( $rows, $opts)
 Build and output the actual changes list.
 
 outputFeedLinks ()
 
 parseParameters ( $par, FormOptions $opts)
 Process the subpage $par and put options found in $opts.
 
 setTopText (FormOptions $opts)
 Send the text to be displayed above the options.
 
- Public Member Functions inherited from MediaWiki\SpecialPage\ChangesListSpecialPage
 __construct ( $name, $restriction, UserIdentityUtils $userIdentityUtils, TempUserConfig $tempUserConfig, RecentChangeFactory $recentChangeFactory, ChangesListQueryFactory $changesListQueryFactory,)
 
 getDefaultDays ()
 Get the default value of the number of days to display when loading the result set.
 
 getDefaultOptions ()
 Get a FormOptions object containing the default options.
 
 getFilterGroup ( $groupName)
 Gets a specified ChangesListFilterGroup by name.
 
 getOptions ()
 Get the current FormOptions for this request.
 
 getRows ()
 Get the database result for this special page instance.
 
 isStructuredFilterUiEnabled ()
 Check whether the structured filter UI is enabled.
 
 makeLegend ()
 Return the legend displayed within the fieldset.
 
 registerFilterGroup (ChangesListFilterGroup $group)
 Register a structured changes list filter group.
 
 replaceOldOptions (FormOptions $opts)
 Replace old options with their structured UI equivalents.
 
 setBottomText (FormOptions $opts)
 Send the text to be displayed after the options.
 
 setTempUserConfig (TempUserConfig $tempUserConfig)
 Set the temp user config.
 
 setup ( $parameters)
 Register all the filters, including legacy hook-driven ones.
 
 validateOptions (FormOptions $opts)
 Validate a FormOptions object generated by getDefaultOptions() with values already populated.
 
 webOutput ( $rows, $opts)
 Send output to the OutputPage object, only called if not used feeds.
 
- Public Member Functions inherited from MediaWiki\SpecialPage\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.
 
 addHelpLink ( $to, $overrideBaseUrl=false)
 Adds help link with an icon via page indicators.
 
 checkPermissions ()
 Checks if userCanExecute, and if not throws a PermissionsError.
 
 checkReadOnly ()
 If the wiki is currently in readonly mode, throws a ReadOnlyError.
 
 doesWrites ()
 Indicates whether POST requests to this special page require write access to the wiki.
 
 getAssociatedNavigationLinks ()
 Return an array of strings representing page titles that are discoverable to end users via UI.
 
 getAuthority ()
 Shortcut to get the Authority executing this instance.
 
 getConfig ()
 Shortcut to get main config object.
 
 getContentLanguage ()
 Shortcut to get content language.
 
 getContext ()
 Gets the context this SpecialPage is executed in.
 
 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.
 
 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.
 
 getFullTitle ()
 Return the full title, including $par.
 
 getLanguage ()
 Shortcut to get user's language.
 
 getLinkRenderer ()
 
 getLocalName ()
 Get the localised name of the special page.
 
 getName ()
 Get the canonical, unlocalized name of this special page without namespace.
 
 getOutput ()
 Get the OutputPage being used for this instance.
 
 getPageTitle ( $subpage=false)
 Get a self-referential title object.
 
 getRequest ()
 Get the WebRequest being used for this instance.
 
 getRestriction ()
 Get the permission that a user must have to execute this page.
 
 getShortDescription (string $path='')
 Similar to SpecialPage::getDescription, but takes into account subpages and designed for display in tabs.
 
 getSkin ()
 Shortcut to get the skin being used for this instance.
 
 getUser ()
 Shortcut to get the User executing this instance.
 
 including ( $x=null)
 Whether the special page is being evaluated via transclusion.
 
 isCached ()
 Is this page cached? Expensive pages are cached or disabled in miser mode.
 
 isExpensive ()
 Is this page expensive (for some definition of expensive)? Expensive pages are disabled or cached in miser mode.
 
 isListed ()
 Whether this special page is listed in Special:SpecialPages.
 
 isRestricted ()
 Can be overridden by subclasses with more complicated permissions schemes.
 
 maxIncludeCacheTime ()
 How long to cache page when it is being included.
 
 msg ( $key,... $params)
 Wrapper around wfMessage that sets the current context.
 
 prefixSearchSubpages ( $search, $limit, $offset)
 Return an array of subpages beginning with $search that this special page will accept.
 
 requireLogin ( $reasonMsg='exception-nologin-text', $titleMsg='exception-nologin')
 If the user is not logged in, throws UserNotLoggedIn error.
 
 requireNamedUser ( $reasonMsg='exception-nologin-text', $titleMsg='exception-nologin', bool $alwaysRedirectToLoginPage=false)
 If the user is not logged in or is a temporary user, throws UserNotLoggedIn.
 
 run ( $subPage)
 Entry point.
 
 setContentLanguage (Language $contentLanguage)
 Set content language.
 
 setContext ( $context)
 Sets the context this SpecialPage is executed in.
 
 setHookContainer (HookContainer $hookContainer)
 
 setLinkRenderer (LinkRenderer $linkRenderer)
 
 setSpecialPageFactory (SpecialPageFactory $specialPageFactory)
 
 userCanExecute (User $user)
 Checks if the given user (identified by an object) can execute this special page (as defined by $mRestriction).
 

Protected Member Functions

 getCacheTTL ()
 
Stability: stable
to override
Returns
int Seconds that this page can be cached

 
 getCollapsedPreferenceName ()
 Preference name for collapsing the active filter display.
 
 getDefaultDaysPreferenceName ()
 Preference name for 'days'.
 
 getExtraFilterFactoryConfig ()
 Subclasses may override this to add configuration to the filter factory.
 
 getExtraFilterGroupDefinitions ()
 This may be overridden by subclasses to add more filter groups.
 
 getFeedQuery ()
 Get URL query parameters for action=feedrecentchanges API feed of current recent changes view.
 
 getFilterDefaultOverrides ()
 Subclasses may override this to provide an array of filter group defaults, overriding the defaults in the filter definitions.
 
 getLimitPreferenceName ()
 Getting the preference name for 'limit'.
 
 getSavedQueriesPreferenceName ()
 Preference name for saved queries.
 
 modifyQuery (ChangesListQuery $query, FormOptions $opts)
 Allow subclasses to modify the main query.
Parameters
ChangesListQuery$query
FormOptions$opts

 
 namespaceFilterForm (FormOptions $opts)
 Creates the choose namespace selection.
 
- Protected Member Functions inherited from MediaWiki\SpecialPage\ChangesListSpecialPage
 addMainQueryHook ( $query, $opts)
 
 addModules ()
 Add page-specific modules.
 
 buildQuery (FormOptions $opts)
 Sets appropriate tables, fields, conditions, etc.
 
 considerActionsForDefaultSavedQuery ( $subpage)
 Check whether or not the page should load defaults, and if so, whether a default saved query is relevant to be redirected to.
 
 convertParamsForLink ( $params)
 Convert parameters values from true/false to 1/0 so they are not omitted by wfArrayToCgi() T38524.
 
 fetchOptionsFromRequest ( $opts)
 Fetch values for a FormOptions object from the WebRequest associated with this instance.
 
 getDB ()
 Which database to use for read queries.
 
 getFilterFactory ()
 
 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'.
Stability: stable
to override
Returns
string
Since
1.21

 
 getLinkDays ()
 
 getQueryResult ()
 Perform and cache the main query.
 
 getStructuredFilterJsData ()
 Gets structured filter information needed by JS.
 
 includeRcFiltersApp ()
 Include the modules and configuration for the RCFilters app.
 
 newRecentChangeFromRow ( $row)
 Create a RecentChange object from a row, injecting highlights from the current ChangesListQuery.
 
 outputNoResults ()
 Add the "no results" message to the output.
 
 outputTimeout ()
 Add the "timeout" message to the output.
 
 registerFilters ()
 Register all filters and their groups (including those from hooks), plus handle conflicts and defaults.
 
 registerFiltersFromDefinitions (array $definition)
 Register filters from a definition object.
 
 runMainQueryHook (&$tables, &$fields, &$conds, &$query_options, &$join_conds, $opts)
 
- Protected Member Functions inherited from MediaWiki\SpecialPage\SpecialPage
 addFeedLinks ( $params)
 Adds RSS/atom links.
 
 afterExecute ( $subPage)
 Gets called after execute.
 
 authorizeAction (?string $action=null)
 Utility function for authorizing an action to be performed by the special page.
 
 beforeExecute ( $subPage)
 Gets called before execute.
 
 buildPrevNextNavigation ( $offset, $limit, array $query=[], $atEnd=false, $subpage=false)
 Generate (prev x| next x) (20|50|100...) type links for paging.
 
 checkLoginSecurityLevel ( $level=null)
 Verifies that the user meets the security level, possibly reauthenticating them in the process.
 
 displayRestrictionError ()
 Output an error message telling the user what access level they have to have.
 
 getAuthManager ()
 
 getHookContainer ()
 
 getHookRunner ()
 
 getLoginSecurityLevel ()
 Tells if the special page does something security-sensitive and needs extra defense against a stolen account (e.g.
 
 getRobotPolicy ()
 Return the robot policy.
 
 getSpecialPageFactory ()
 
 getSubpagesForPrefixSearch ()
 Return an array of subpages that this special page will accept for prefix searches.
 
 outputHeader ( $summaryMessageKey='')
 Outputs a summary message on top of special pages By default the message key is the canonical name of the special page May be overridden, i.e.
 
 prefixSearchString ( $search, $limit, $offset, ?SearchEngineFactory $searchEngineFactory=null)
 Perform a regular substring search for prefixSearchSubpages.
 
 setAuthManager (AuthManager $authManager)
 Set the injected AuthManager from the special page constructor.
 
 setHeaders ()
 Sets headers - this should be called from the execute() method of all derived classes!
 
 setReauthPostData (array $data)
 Record preserved POST data after a reauthentication.
 
 useTransactionalTimeLimit ()
 Call wfTransactionalTimeLimit() if this request was POSTed.
 

Additional Inherited Members

- Static Public Member Functions inherited from MediaWiki\SpecialPage\ChangesListSpecialPage
static checkStructuredFilterUiEnabled (UserIdentity $user)
 Static method to check whether StructuredFilter UI is enabled for the given user.
 
static getRcFiltersConfigSummary (RL\Context $context)
 Get essential data about getRcFiltersConfigVars() for change detection.
 
static getRcFiltersConfigVars (RL\Context $context)
 Get config vars to export with the mediawiki.rcfilters.filters.ui module.
 
- Static Public Member Functions inherited from MediaWiki\SpecialPage\SpecialPage
static getSafeTitleFor ( $name, $subpage=false)
 Get a localised Title object for a page name with a possibly unvalidated subpage.
 
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.
 
static getTitleValueFor ( $name, $subpage=false, $fragment='')
 Get a localised TitleValue object for a specified special page name.
 
static newSearchPage (User $user)
 Get the users preferred search page.
 
- Static Protected Member Functions inherited from MediaWiki\SpecialPage\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).
 
- Protected Attributes inherited from MediaWiki\SpecialPage\ChangesListSpecialPage
ChangesListQueryFactory $changesListQueryFactory
 
ChangesListFilterGroupContainer $filterGroups
 
FormOptions $rcOptions
 
string $rcSubpage
 
RecentChangeFactory $recentChangeFactory
 
TempUserConfig $tempUserConfig
 
UserIdentityUtils $userIdentityUtils
 
- Protected Attributes inherited from MediaWiki\SpecialPage\SpecialPage
IContextSource $mContext
 Current request context.
 
bool $mIncludable
 Whether the special page can be included in an article.
 
bool $mIncluding
 Whether or not this special page is being included from an article.
 
string $mName
 The canonical name of this special page Also used as the message key for the default.
 
string $mRestriction
 Minimum user level required to access this page, or "" for anyone.
 

Detailed Description

List of the last changes made to the wiki.

Definition at line 40 of file SpecialRecentChanges.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Specials\SpecialRecentChanges::__construct ( ?WatchedItemStoreInterface $watchedItemStore = null,
?MessageParser $messageParser = null,
?UserOptionsLookup $userOptionsLookup = null,
?UserIdentityUtils $userIdentityUtils = null,
?TempUserConfig $tempUserConfig = null,
?RecentChangeFactory $recentChangeFactory = null,
?ChangesListQueryFactory $changesListQueryFactory = null )

Member Function Documentation

◆ checkLastModified()

MediaWiki\Specials\SpecialRecentChanges::checkLastModified ( )

Get last modified date, for client caching Don't use this if we are using the patrol feature, patrol changes don't update the timestamp.

Returns
string|bool

Definition at line 559 of file SpecialRecentChanges.php.

◆ doHeader()

MediaWiki\Specials\SpecialRecentChanges::doHeader ( $opts,
$numRows )

Set the text to be displayed above the changes.

Parameters
FormOptions$opts
int$numRowsNumber of rows in the result to show after this header

Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.

Definition at line 346 of file SpecialRecentChanges.php.

References wfScript().

◆ execute()

MediaWiki\Specials\SpecialRecentChanges::execute ( $subpage)
Parameters
string | null$subpage

Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.

Definition at line 115 of file SpecialRecentChanges.php.

References wfAppendQuery(), and wfScript().

◆ getCacheTTL()

MediaWiki\Specials\SpecialRecentChanges::getCacheTTL ( )
protected

Stability: stable
to override
Returns
int Seconds that this page can be cached

Reimplemented from MediaWiki\SpecialPage\SpecialPage.

Definition at line 767 of file SpecialRecentChanges.php.

◆ getCollapsedPreferenceName()

MediaWiki\Specials\SpecialRecentChanges::getCollapsedPreferenceName ( )
protected

Preference name for collapsing the active filter display.

Since
1.38
Returns
string

Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.

Definition at line 796 of file SpecialRecentChanges.php.

◆ getDefaultDaysPreferenceName()

MediaWiki\Specials\SpecialRecentChanges::getDefaultDaysPreferenceName ( )
protected

Preference name for 'days'.

Since
1.38
Returns
string

Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.

Definition at line 792 of file SpecialRecentChanges.php.

◆ getDefaultLimit()

MediaWiki\Specials\SpecialRecentChanges::getDefaultLimit ( )

Get the default value of the number of changes to display when loading the result set.

Since
1.30
Returns
int

Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.

Definition at line 771 of file SpecialRecentChanges.php.

◆ getExtraFilterFactoryConfig()

MediaWiki\Specials\SpecialRecentChanges::getExtraFilterFactoryConfig ( )
protected

Subclasses may override this to add configuration to the filter factory.

Returns
array

Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.

Definition at line 142 of file SpecialRecentChanges.php.

◆ getExtraFilterGroupDefinitions()

MediaWiki\Specials\SpecialRecentChanges::getExtraFilterGroupDefinitions ( )
protected

This may be overridden by subclasses to add more filter groups.

See also
ChangesListFilterFactory::registerFiltersFromDefinitions()
Returns
array

Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.

Definition at line 71 of file SpecialRecentChanges.php.

◆ getExtraOptions()

MediaWiki\Specials\SpecialRecentChanges::getExtraOptions ( $opts)

Get options to be displayed in a form.

Parameters
FormOptions$opts
Returns
array

Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.

Reimplemented in MediaWiki\Specials\SpecialRecentChangesLinked.

Definition at line 523 of file SpecialRecentChanges.php.

◆ getFeedQuery()

MediaWiki\Specials\SpecialRecentChanges::getFeedQuery ( )
protected

Get URL query parameters for action=feedrecentchanges API feed of current recent changes view.

Returns
array

Definition at line 244 of file SpecialRecentChanges.php.

◆ getFilterDefaultOverrides()

MediaWiki\Specials\SpecialRecentChanges::getFilterDefaultOverrides ( )
protected

Subclasses may override this to provide an array of filter group defaults, overriding the defaults in the filter definitions.

Returns
array<string,string|array<string,bool>>

Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.

Definition at line 159 of file SpecialRecentChanges.php.

◆ getLimitPreferenceName()

MediaWiki\Specials\SpecialRecentChanges::getLimitPreferenceName ( )
protected

Getting the preference name for 'limit'.

Since
1.37
Returns
string

Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.

Definition at line 784 of file SpecialRecentChanges.php.

◆ getSavedQueriesPreferenceName()

MediaWiki\Specials\SpecialRecentChanges::getSavedQueriesPreferenceName ( )
protected

Preference name for saved queries.

Since
1.38
Returns
string

Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.

Definition at line 788 of file SpecialRecentChanges.php.

◆ isIncludable()

MediaWiki\Specials\SpecialRecentChanges::isIncludable ( )

Whether it's allowed to transclude the special page via {{Special:Foo/params}}.

Stability: stable
to override
Returns
bool

Reimplemented from MediaWiki\SpecialPage\SpecialPage.

Definition at line 762 of file SpecialRecentChanges.php.

◆ modifyQuery()

MediaWiki\Specials\SpecialRecentChanges::modifyQuery ( ChangesListQuery $query,
FormOptions $opts )
protected

Allow subclasses to modify the main query.

Parameters
ChangesListQuery$query
FormOptions$opts

Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.

Reimplemented in MediaWiki\Specials\SpecialRecentChangesLinked.

Definition at line 229 of file SpecialRecentChanges.php.

References MediaWiki\RecentChanges\ChangesListQuery\ChangesListQuery\watchlistFields().

◆ namespaceFilterForm()

MediaWiki\Specials\SpecialRecentChanges::namespaceFilterForm ( FormOptions $opts)
protected

Creates the choose namespace selection.

Parameters
FormOptions$opts
Returns
string[]

Definition at line 575 of file SpecialRecentChanges.php.

◆ outputChangesList()

MediaWiki\Specials\SpecialRecentChanges::outputChangesList ( $rows,
$opts )

Build and output the actual changes list.

Parameters
IResultWrapper$rowsDatabase rows
FormOptions$opts

Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.

Definition at line 264 of file SpecialRecentChanges.php.

References wfTimestamp().

◆ outputFeedLinks()

MediaWiki\Specials\SpecialRecentChanges::outputFeedLinks ( )

Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.

Definition at line 235 of file SpecialRecentChanges.php.

◆ parseParameters()

MediaWiki\Specials\SpecialRecentChanges::parseParameters ( $par,
FormOptions $opts )

Process the subpage $par and put options found in $opts.

This is a legacy feature predating query parameter emulation in the Parser which was introduced in MW 1.19. Before that time, it was necessary to do something like

{{Special:RecentChanges/days=3}}

In MediaWiki 1.19+ you can do:

{{Special:RecentChanges | days=3}}

The latter syntax allows the injection of any query parameter. So it is not necessary to add new options here, users should be encouraged to use the latter syntax instead.

Parameters
string$par
FormOptions$opts

Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.

Reimplemented in MediaWiki\Specials\SpecialRecentChangesLinked.

Definition at line 201 of file SpecialRecentChanges.php.

◆ setTopText()

MediaWiki\Specials\SpecialRecentChanges::setTopText ( FormOptions $opts)

Send the text to be displayed above the options.

Parameters
FormOptions$optsUnused

Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.

Reimplemented in MediaWiki\Specials\SpecialRecentChangesLinked.

Definition at line 452 of file SpecialRecentChanges.php.


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