MediaWiki REL1_37
SpecialRecentChanges Class Reference

A special page that lists last changes made to the wiki. More...

Inheritance diagram for SpecialRecentChanges:
Collaboration diagram for SpecialRecentChanges:

Public Member Functions

 __construct (WatchedItemStoreInterface $watchedItemStore=null, MessageCache $messageCache=null, ILoadBalancer $loadBalancer=null, UserOptionsLookup $userOptionsLookup=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}}.
 
 outputChangesList ( $rows, $opts)
 Build and output the actual changes list.
 
 outputFeedLinks ()
 
 parseParameters ( $par, FormOptions $opts)
 Process $par and put options found in $opts.
 
 setTopText (FormOptions $opts)
 Send the text to be displayed above the options.
 
- Public Member Functions inherited from ChangesListSpecialPage
 __construct ( $name, $restriction)
 
 filterOnUserExperienceLevel ( $specialPageClassName, $context, $dbr, &$tables, &$fields, &$conds, &$query_options, &$join_conds, $selectedExpLevels, $now=0)
 Filter on users' experience levels; this will not be called if nothing is selected.
 
 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.
 
 getStructuredFilterJsData ()
 Gets structured filter information needed by JS.
 
 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.
 
 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 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 this special page may perform database writes.
 
 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 name of this Special Page.
 
 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.
 
 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.
 
 listed ( $x=null)
 Get or set whether this special page is listed in Special:SpecialPages.
 
 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.
 
 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)
 
 setListed ( $listed)
 Set whether this page is listed in Special:Specialpages, at run-time.
 
 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

 addModules ()
 Add page-specific modules.
 
 addWatchlistJoins (IDatabase $dbr, &$tables, &$fields, &$joinConds, &$conds)
 Add required values to a query's $tables, $fields, $joinConds, and $conds arrays to join to the watchlist and watchlist_expiry tables where appropriate.
 
 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|IResultWrapper Result or false

 
 getCacheTTL ()
 
 getDB ()
 Return a IDatabase object for reading.
 
 getFeedQuery ()
 Get URL query parameters for action=feedrecentchanges API feed of current recent changes view.
 
 getLimitPreferenceName ()
 
 namespaceFilterForm (FormOptions $opts)
 Creates the choose namespace selection.
 
 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).
 
 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

 
- Protected Member Functions inherited from ChangesListSpecialPage
 areFiltersInConflict ()
 Check if filters are in conflict and guaranteed to return no results.
 
 buildQuery (&$tables, &$fields, &$conds, &$query_options, &$join_conds, 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.
 
 getFilterGroups ()
 Gets the currently registered filters groups.
 
 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'.
 
 getLegacyShowHideFilters ()
 
 getLinkDays ()
 
 includeRcFiltersApp ()
 Include the modules and configuration for the RCFilters app.
 
 outputNoResults ()
 Add the "no results" message to the output.
 
 outputTimeout ()
 Add the "timeout" message to the output.
 
 registerFiltersFromDefinitions (array $definition)
 Register filters from a definition object.
 
 runMainQueryHook (&$tables, &$fields, &$conds, &$query_options, &$join_conds, $opts)
 
- Protected Member Functions inherited from SpecialPage
 addFeedLinks ( $params)
 Adds RSS/atom links.
 
 afterExecute ( $subPage)
 Gets called after.
 
 beforeExecute ( $subPage)
 Gets called before.
 
 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 ()
 
 getLanguageConverter ()
 Shortcut to get language's converter.
 
 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 Per 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.
 

Static Protected Attributes

static $collapsedPreferenceName = 'rcfilters-rc-collapsed'
 
static $daysPreferenceName = 'rcdays'
 
static $savedQueriesPreferenceName = 'rcfilters-saved-queries'
 
- Static Protected Attributes inherited from ChangesListSpecialPage
static string $collapsedPreferenceName
 Preference name for collapsing the active filter display.
 
static string $daysPreferenceName
 Preference name for 'days'.
 
static string $savedQueriesPreferenceName
 Preference name for saved queries.
 

Private Member Functions

 makeOptionsLink ( $title, $override, $options, $active=false)
 Makes change an option link which carries all the other options.
 
 needsWatchlistFeatures ()
 Whether or not the current query needs to use watchlist data: check that the current user can use their watchlist and that this special page isn't being transcluded.
 
 optionsPanel ( $defaults, $nondefaults, $numRows)
 Creates the options panel.
 

Private Attributes

ILoadBalancer $loadBalancer
 
MessageCache $messageCache
 
UserOptionsLookup $userOptionsLookup
 
WatchedItemStoreInterface $watchedItemStore
 
 $watchlistFilterGroupDefinition
 

Additional Inherited Members

- Static Public Member Functions inherited from ChangesListSpecialPage
static checkStructuredFilterUiEnabled ( $user)
 Static method to check whether StructuredFilter UI is enabled for the given user.
 
static getRcFiltersConfigSummary (ResourceLoaderContext $context)
 Get essential data about getRcFiltersConfigVars() for change detection.
 
static getRcFiltersConfigVars (ResourceLoaderContext $context)
 Get config vars to export with the mediawiki.rcfilters.filters.ui module.
 
- 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.
 
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 Protected Member Functions inherited from ChangesListSpecialPage
static getChangeTagList (ResourceLoaderContext $context)
 Get information about change tags to export to JS via getRcFiltersConfigVars().
 
static getChangeTagListSummary (ResourceLoaderContext $context)
 Get information about change tags, without parsing messages, for getRcFiltersConfigSummary().
 
- 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).
 
- Protected Attributes inherited from ChangesListSpecialPage
ChangesListFilterGroup[] $filterGroups = []
 Filter groups, and their contained filters This is an associative array (with group name as key) of ChangesListFilterGroup objects.
 
FormOptions $rcOptions
 
string $rcSubpage
 
- Protected Attributes inherited from 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 for the default.
 
string $mRestriction
 Minimum user level required to access this page, or "" for anyone.
 

Detailed Description

A special page that lists last changes made to the wiki.

Definition at line 35 of file SpecialRecentChanges.php.

Constructor & Destructor Documentation

◆ __construct()

SpecialRecentChanges::__construct ( WatchedItemStoreInterface  $watchedItemStore = null,
MessageCache  $messageCache = null,
ILoadBalancer  $loadBalancer = null,
UserOptionsLookup  $userOptionsLookup = null 
)
Parameters
WatchedItemStoreInterface | null$watchedItemStore
MessageCache | null$messageCache
ILoadBalancer | null$loadBalancer
UserOptionsLookup | null$userOptionsLookup

Definition at line 61 of file SpecialRecentChanges.php.

References $dbr, $loadBalancer, $messageCache, $userOptionsLookup, $watchedItemStore, SpecialPage\getConfig(), LIST_AND, LIST_OR, and ChangesListStringOptionsFilterGroup\NONE.

Member Function Documentation

◆ addModules()

SpecialRecentChanges::addModules ( )
protected

Add page-specific modules.

Reimplemented from ChangesListSpecialPage.

Definition at line 739 of file SpecialRecentChanges.php.

◆ addWatchlistJoins()

SpecialRecentChanges::addWatchlistJoins ( IDatabase  $dbr,
$tables,
$fields,
$joinConds,
$conds 
)
protected

Add required values to a query's $tables, $fields, $joinConds, and $conds arrays to join to the watchlist and watchlist_expiry tables where appropriate.

Parameters
IDatabase$dbr
string[]&$tables
string[]&$fields
mixed[]&$joinConds
mixed[]&$conds

Definition at line 323 of file SpecialRecentChanges.php.

Referenced by SpecialRecentChangesLinked\doMainQuery().

◆ checkLastModified()

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 752 of file SpecialRecentChanges.php.

References $dbr, and getDB().

Referenced by execute().

◆ doHeader()

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 ChangesListSpecialPage.

Definition at line 536 of file SpecialRecentChanges.php.

References $t, and wfScript().

◆ doMainQuery()

SpecialRecentChanges::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|IResultWrapper Result or false

Reimplemented from ChangesListSpecialPage.

Reimplemented in SpecialRecentChangesLinked.

Definition at line 349 of file SpecialRecentChanges.php.

References $dbr, getDB(), and ChangeTags\modifyDisplayQuery().

◆ execute()

SpecialRecentChanges::execute (   $subpage)

◆ getCacheTTL()

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

Reimplemented from SpecialPage.

Definition at line 953 of file SpecialRecentChanges.php.

◆ getDB()

SpecialRecentChanges::getDB ( )
protected

Return a IDatabase object for reading.

Returns
IDatabase

Reimplemented from ChangesListSpecialPage.

Definition at line 420 of file SpecialRecentChanges.php.

◆ getDefaultLimit()

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 ChangesListSpecialPage.

Definition at line 957 of file SpecialRecentChanges.php.

◆ getExtraOptions()

SpecialRecentChanges::getExtraOptions (   $opts)

Get options to be displayed in a form.

Parameters
FormOptions$opts
Returns
array

Reimplemented from ChangesListSpecialPage.

Reimplemented in SpecialRecentChangesLinked.

Definition at line 714 of file SpecialRecentChanges.php.

References ChangeTags\buildTagFilterSelector(), and getContext().

◆ getFeedQuery()

SpecialRecentChanges::getFeedQuery ( )
protected

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

Returns
array

Definition at line 433 of file SpecialRecentChanges.php.

Referenced by execute().

◆ getLimitPreferenceName()

SpecialRecentChanges::getLimitPreferenceName ( )
protected
Returns
string

Reimplemented from ChangesListSpecialPage.

Definition at line 973 of file SpecialRecentChanges.php.

◆ isIncludable()

SpecialRecentChanges::isIncludable ( )

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

Stability: stable
to override
Returns
bool

Reimplemented from SpecialPage.

Definition at line 949 of file SpecialRecentChanges.php.

◆ makeOptionsLink()

SpecialRecentChanges::makeOptionsLink (   $title,
  $override,
  $options,
  $active = false 
)
private

Makes change an option link which carries all the other options.

Parameters
string$title
array$overrideOptions to override
array$optionsCurrent options
bool$activeWhether to show the link in bold
Returns
string Annotations needed to tell taint about HtmlArmor
Parameters
-taint$titleescapes_html

Definition at line 801 of file SpecialRecentChanges.php.

References $title.

◆ namespaceFilterForm()

SpecialRecentChanges::namespaceFilterForm ( FormOptions  $opts)
protected

Creates the choose namespace selection.

Parameters
FormOptions$opts
Returns
string[]

Definition at line 765 of file SpecialRecentChanges.php.

◆ needsWatchlistFeatures()

SpecialRecentChanges::needsWatchlistFeatures ( )
private

Whether or not the current query needs to use watchlist data: check that the current user can use their watchlist and that this special page isn't being transcluded.

Returns
bool

Definition at line 223 of file SpecialRecentChanges.php.

◆ optionsPanel()

SpecialRecentChanges::optionsPanel (   $defaults,
  $nondefaults,
  $numRows 
)
private

Creates the options panel.

Parameters
array$defaults
array$nondefaults
int$numRowsNumber of rows in the result to show after this header
Returns
string

Definition at line 822 of file SpecialRecentChanges.php.

References $lang, and wfTimestampNow().

◆ outputChangesList()

SpecialRecentChanges::outputChangesList (   $rows,
  $opts 
)

Build and output the actual changes list.

Parameters
IResultWrapper$rowsDatabase rows
FormOptions$opts

Reimplemented from ChangesListSpecialPage.

Definition at line 453 of file SpecialRecentChanges.php.

References getContext(), RC_CATEGORIZE, and wfTimestamp().

◆ outputFeedLinks()

SpecialRecentChanges::outputFeedLinks ( )

Reimplemented from ChangesListSpecialPage.

Definition at line 424 of file SpecialRecentChanges.php.

◆ parseParameters()

SpecialRecentChanges::parseParameters (   $par,
FormOptions  $opts 
)

Process $par and put options found in $opts.

Used when including the page.

Parameters
string$par
FormOptions$opts

Reimplemented from ChangesListSpecialPage.

Reimplemented in SpecialRecentChangesLinked.

Definition at line 288 of file SpecialRecentChanges.php.

◆ registerFilters()

SpecialRecentChanges::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 232 of file SpecialRecentChanges.php.

◆ setTopText()

SpecialRecentChanges::setTopText ( FormOptions  $opts)

Send the text to be displayed above the options.

Parameters
FormOptions$optsUnused

Reimplemented from ChangesListSpecialPage.

Reimplemented in SpecialRecentChangesLinked.

Definition at line 641 of file SpecialRecentChanges.php.

References $content.

◆ transformFilterDefinition()

SpecialRecentChanges::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 209 of file SpecialRecentChanges.php.

Member Data Documentation

◆ $collapsedPreferenceName

SpecialRecentChanges::$collapsedPreferenceName = 'rcfilters-rc-collapsed'
staticprotected

Definition at line 39 of file SpecialRecentChanges.php.

◆ $daysPreferenceName

SpecialRecentChanges::$daysPreferenceName = 'rcdays'
staticprotected

Definition at line 38 of file SpecialRecentChanges.php.

◆ $loadBalancer

ILoadBalancer SpecialRecentChanges::$loadBalancer
private

Definition at line 50 of file SpecialRecentChanges.php.

Referenced by __construct().

◆ $messageCache

MessageCache SpecialRecentChanges::$messageCache
private

Definition at line 47 of file SpecialRecentChanges.php.

Referenced by SpecialRecentChangesLinked\__construct(), and __construct().

◆ $savedQueriesPreferenceName

SpecialRecentChanges::$savedQueriesPreferenceName = 'rcfilters-saved-queries'
staticprotected

Definition at line 37 of file SpecialRecentChanges.php.

◆ $userOptionsLookup

UserOptionsLookup SpecialRecentChanges::$userOptionsLookup
private

Definition at line 53 of file SpecialRecentChanges.php.

Referenced by SpecialRecentChangesLinked\__construct(), and __construct().

◆ $watchedItemStore

WatchedItemStoreInterface SpecialRecentChanges::$watchedItemStore
private

Definition at line 44 of file SpecialRecentChanges.php.

Referenced by SpecialRecentChangesLinked\__construct(), and __construct().

◆ $watchlistFilterGroupDefinition

SpecialRecentChanges::$watchlistFilterGroupDefinition
private

Definition at line 41 of file SpecialRecentChanges.php.


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