MediaWiki REL1_39
ChangesListSpecialPage Class Reference

Special page which uses a ChangesList to show query results. More...

Inheritance diagram for ChangesListSpecialPage:
Collaboration diagram for ChangesListSpecialPage:

Public Member Functions

 __construct ( $name, $restriction)
 
 doHeader ( $opts, $numRows)
 Set the text to be displayed above the changes.
 
 execute ( $subpage)
 
 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.
 
 getDefaultLimit ()
 Get the default value of the number of changes to display when loading the result set.
 
 getDefaultOptions ()
 Get a FormOptions object containing the default options.
 
 getExtraOptions ( $opts)
 Get options to be displayed in a form.
 
 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.
 
 outputChangesList ( $rows, $opts)
 Build and output the actual changes list.
 
 outputFeedLinks ()
 
 parseParameters ( $par, FormOptions $opts)
 Process $par and put options found in $opts.
 
 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.
 
 setTopText (FormOptions $opts)
 Send the text to be displayed before 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.
 
 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 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.
 
 getShortDescription (string $path='')
 Similar to getDescription but takes into account sub pages 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.
 
 isIncludable ()
 Whether it's allowed to transclude the special page via {{Special:Foo/params}}.
 
 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.
 
 requireNamedUser ( $reasonMsg='exception-nologin-text', $titleMsg='exception-nologin')
 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)
 
 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).
 

Static Public Member Functions

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

Protected Member Functions

 addModules ()
 Add page-specific modules.
 
 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.
 
 doMainQuery ( $tables, $fields, $conds, $query_options, $join_conds, FormOptions $opts)
 Process the query.
 
 fetchOptionsFromRequest ( $opts)
 Fetch values for a FormOptions object from the WebRequest associated with this instance.
 
 getCollapsedPreferenceName ()
 Preference name for collapsing the active filter display.
 
 getDB ()
 Return a IDatabase object for reading.
 
 getDefaultDaysPreferenceName ()
 Preference name for 'days'.
 
 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 ()
 
 getLimitPreferenceName ()
 Getting the preference name for 'limit'.
 
 getLinkDays ()
 
 getSavedQueriesPreferenceName ()
 Preference name for saved queries.
 
 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.
 
 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)
 
 transformFilterDefinition (array $filterDefinition)
 Transforms filter definition to prepare it for constructor.
 
- 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 ()
 
 getCacheTTL ()
 
 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.
 

Protected Attributes

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.
 

Additional Inherited Members

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

Detailed Description

Special page which uses a ChangesList to show query results.

Todo
Way too many public functions, most of them should be protected

Definition at line 41 of file ChangesListSpecialPage.php.

Constructor & Destructor Documentation

◆ __construct()

ChangesListSpecialPage::__construct ( $name,
$restriction )

Member Function Documentation

◆ addModules()

ChangesListSpecialPage::addModules ( )
protected

Add page-specific modules.

Definition at line 1701 of file ChangesListSpecialPage.php.

References SpecialPage\getOutput(), SpecialPage\including(), and isStructuredFilterUiEnabled().

Referenced by execute().

◆ areFiltersInConflict()

ChangesListSpecialPage::areFiltersInConflict ( )
protected

Check if filters are in conflict and guaranteed to return no results.

Returns
bool

Definition at line 565 of file ChangesListSpecialPage.php.

References getFilterGroups(), getOptions(), and wfLogWarning().

Referenced by SpecialWatchlist\doMainQuery().

◆ buildQuery()

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

Definition at line 1410 of file ChangesListSpecialPage.php.

References $dbr, getDB(), isStructuredFilterUiEnabled(), FormOptions\reset(), and wfTimestamp().

Referenced by getRows().

◆ checkStructuredFilterUiEnabled()

static ChangesListSpecialPage::checkStructuredFilterUiEnabled ( UserIdentity $user)
static

Static method to check whether StructuredFilter UI is enabled for the given user.

Since
1.31
Parameters
UserIdentity$user
Returns
bool

Reimplemented in SpecialWatchlist.

Definition at line 1865 of file ChangesListSpecialPage.php.

◆ considerActionsForDefaultSavedQuery()

ChangesListSpecialPage::considerActionsForDefaultSavedQuery ( $subpage)
protected

Check whether or not the page should load defaults, and if so, whether a default saved query is relevant to be redirected to.

If it is relevant, redirect properly with all necessary query parameters.

Parameters
string$subpage

Definition at line 690 of file ChangesListSpecialPage.php.

References getOptions(), SpecialPage\getOutput(), SpecialPage\getPageTitle(), SpecialPage\getRequest(), getSavedQueriesPreferenceName(), getUser(), SpecialPage\including(), and isStructuredFilterUiEnabled().

Referenced by execute().

◆ convertParamsForLink()

ChangesListSpecialPage::convertParamsForLink ( $params)
protected

Convert parameters values from true/false to 1/0 so they are not omitted by wfArrayToCgi() T38524.

Parameters
array$params
Returns
array

Definition at line 1389 of file ChangesListSpecialPage.php.

Referenced by validateOptions().

◆ doHeader()

ChangesListSpecialPage::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 in SpecialRecentChanges, and SpecialWatchlist.

Definition at line 1574 of file ChangesListSpecialPage.php.

References setBottomText(), and setTopText().

◆ doMainQuery()

ChangesListSpecialPage::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 in SpecialRecentChanges, SpecialWatchlist, and SpecialRecentChangesLinked.

Definition at line 1480 of file ChangesListSpecialPage.php.

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

Referenced by getRows().

◆ execute()

◆ fetchOptionsFromRequest()

ChangesListSpecialPage::fetchOptionsFromRequest ( $opts)
protected

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

Intended for subclassing, e.g. to add a backwards-compatibility layer.

Parameters
FormOptions$opts
Returns
FormOptions

Reimplemented in SpecialWatchlist.

Definition at line 1207 of file ChangesListSpecialPage.php.

References SpecialPage\getRequest().

Referenced by setup().

◆ filterOnUserExperienceLevel()

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

Parameters
string$specialPageClassNameClass name of current special page
IContextSource$contextContext, for e.g. user
IDatabase$dbrDatabase, for addQuotes, makeList, and similar
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
array$selectedExpLevelsThe allowed active values, sorted
int$nowNumber of seconds since the UNIX epoch, or 0 if not given (optional)

Definition at line 1737 of file ChangesListSpecialPage.php.

References $dbr, and SpecialPage\getConfig().

◆ getCollapsedPreferenceName()

ChangesListSpecialPage::getCollapsedPreferenceName ( )
abstractprotected

Preference name for collapsing the active filter display.

Since
1.38
Returns
string

Reimplemented in SpecialRecentChanges, and SpecialWatchlist.

Referenced by includeRcFiltersApp().

◆ getDB()

ChangesListSpecialPage::getDB ( )
protected

Return a IDatabase object for reading.

Returns
IDatabase

Reimplemented in SpecialRecentChanges, and SpecialWatchlist.

Definition at line 1527 of file ChangesListSpecialPage.php.

References DB_REPLICA, and wfGetDB().

◆ getDefaultDays()

ChangesListSpecialPage::getDefaultDays ( )

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

Supports fractional values, and should be cast to a float.

Since
1.30
Returns
float

Definition at line 1892 of file ChangesListSpecialPage.php.

References getDefaultDaysPreferenceName(), and getUser().

Referenced by getDefaultOptions(), and includeRcFiltersApp().

◆ getDefaultDaysPreferenceName()

ChangesListSpecialPage::getDefaultDaysPreferenceName ( )
abstractprotected

Preference name for 'days'.

Since
1.38
Returns
string

Reimplemented in SpecialRecentChanges, and SpecialWatchlist.

Referenced by getDefaultDays(), and includeRcFiltersApp().

◆ getDefaultLimit()

ChangesListSpecialPage::getDefaultLimit ( )

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

Since
1.30
Returns
int

Reimplemented in SpecialRecentChanges.

Definition at line 1878 of file ChangesListSpecialPage.php.

References getLimitPreferenceName(), and getUser().

Referenced by getDefaultOptions(), and includeRcFiltersApp().

◆ getDefaultOptions()

ChangesListSpecialPage::getDefaultOptions ( )

Get a FormOptions object containing the default options.

By default, returns some basic options. The filters listed explicitly here are overridden in this method, in subclasses, but most filters (e.g. hideminor, userExpLevel filters, and more) are structured. Structured filters are overridden in registerFilters. not here.

Returns
FormOptions

Reimplemented in SpecialRecentChangesLinked.

Definition at line 1104 of file ChangesListSpecialPage.php.

References getDefaultDays(), getDefaultLimit(), SpecialPage\getRequest(), and isStructuredFilterUiEnabled().

Referenced by setup().

◆ getExtraOptions()

ChangesListSpecialPage::getExtraOptions ( $opts)

Get options to be displayed in a form.

Todo

This should handle options returned by getDefaultOptions().

Not called by anything in this class (but is in subclasses), should be called by something… doHeader() maybe?

Parameters
FormOptions$opts
Returns
array

Reimplemented in SpecialRecentChanges, and SpecialRecentChangesLinked.

Definition at line 1613 of file ChangesListSpecialPage.php.

◆ getFilterGroup()

ChangesListSpecialPage::getFilterGroup ( $groupName)

Gets a specified ChangesListFilterGroup by name.

Parameters
string$groupNameName of group
Returns
ChangesListFilterGroup|null Group, or null if not registered

Definition at line 1156 of file ChangesListSpecialPage.php.

Referenced by registerFilters(), SpecialWatchlist\registerFilters(), and replaceOldOptions().

◆ getFilterGroups()

ChangesListSpecialPage::getFilterGroups ( )
protected

Gets the currently registered filters groups.

Returns
ChangesListFilterGroup[] Associative array of ChangesListFilterGroup objects, with group name as key

Definition at line 1145 of file ChangesListSpecialPage.php.

Referenced by areFiltersInConflict().

◆ getGroupName()

ChangesListSpecialPage::getGroupName ( )
protected

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

Reimplemented from SpecialPage.

Definition at line 1717 of file ChangesListSpecialPage.php.

◆ getLegacyShowHideFilters()

ChangesListSpecialPage::getLegacyShowHideFilters ( )
protected
Returns
ChangesListBooleanFilter[] The legacy show/hide toggle filters

Definition at line 1056 of file ChangesListSpecialPage.php.

Referenced by SpecialWatchlist\doHeader(), and SpecialWatchlist\fetchOptionsFromRequest().

◆ getLimitPreferenceName()

ChangesListSpecialPage::getLimitPreferenceName ( )
abstractprotected

Getting the preference name for 'limit'.

Since
1.37
Returns
string

Reimplemented in SpecialRecentChanges, and SpecialWatchlist.

Referenced by getDefaultLimit(), and includeRcFiltersApp().

◆ getLinkDays()

ChangesListSpecialPage::getLinkDays ( )
protected
See also
docs/Configuration.md for information on the RCLinkDays and RCFilterByAge settings.
Returns
int[]

Definition at line 760 of file ChangesListSpecialPage.php.

References SpecialPage\getConfig().

Referenced by includeRcFiltersApp().

◆ getOptions()

ChangesListSpecialPage::getOptions ( )

Get the current FormOptions for this request.

Returns
FormOptions

Definition at line 925 of file ChangesListSpecialPage.php.

References setup().

Referenced by areFiltersInConflict(), considerActionsForDefaultSavedQuery(), execute(), SpecialWatchlist\execute(), and getRows().

◆ getRcFiltersConfigSummary()

static ChangesListSpecialPage::getRcFiltersConfigSummary ( RL\Context $context)
static

Get essential data about getRcFiltersConfigVars() for change detection.

Access: internal
For use by Resources.php only.
See also
Module::getDefinitionSummary() and Module::getVersionHash()
Parameters
RL\\Context$context
Returns
array

Definition at line 850 of file ChangesListSpecialPage.php.

References $lang, ChangeTags\getChangeTagListSummary(), and SpecialPage\getTitleFor().

◆ getRcFiltersConfigVars()

static ChangesListSpecialPage::getRcFiltersConfigVars ( RL\Context $context)
static

Get config vars to export with the mediawiki.rcfilters.filters.ui module.

Access: internal
For use by Resources.php only.
Parameters
RL\\Context$context
Returns
array

Definition at line 868 of file ChangesListSpecialPage.php.

References $lang, ChangeTags\getChangeTagList(), and SpecialPage\getTitleFor().

◆ getRows()

ChangesListSpecialPage::getRows ( )

Get the database result for this special page instance.

Used by ApiFeedRecentChanges.

Returns
IResultWrapper|false

Definition at line 907 of file ChangesListSpecialPage.php.

References buildQuery(), doMainQuery(), and getOptions().

Referenced by execute().

◆ getSavedQueriesPreferenceName()

ChangesListSpecialPage::getSavedQueriesPreferenceName ( )
abstractprotected

Preference name for saved queries.

Since
1.38
Returns
string

Reimplemented in SpecialRecentChanges, and SpecialWatchlist.

Referenced by considerActionsForDefaultSavedQuery(), and includeRcFiltersApp().

◆ getStructuredFilterJsData()

ChangesListSpecialPage::getStructuredFilterJsData ( )

Gets structured filter information needed by JS.

Returns
array Associative array
  • array $return['groups'] Group data
  • array $return['messageKeys'] Array of message keys

Definition at line 1173 of file ChangesListSpecialPage.php.

References ChangesListFilterGroup\getPriority().

Referenced by includeRcFiltersApp().

◆ includeRcFiltersApp()

ChangesListSpecialPage::includeRcFiltersApp ( )
protected

Include the modules and configuration for the RCFilters app.

Conditional on the user having the feature enabled.

If it is disabled, add a <body> class marking that

Definition at line 788 of file ChangesListSpecialPage.php.

References getCollapsedPreferenceName(), SpecialPage\getConfig(), getDefaultDays(), getDefaultDaysPreferenceName(), getDefaultLimit(), getLimitPreferenceName(), getLinkDays(), SpecialPage\getOutput(), getSavedQueriesPreferenceName(), getStructuredFilterJsData(), getUser(), SpecialPage\including(), isStructuredFilterUiEnabled(), and SpecialPage\msg().

Referenced by execute().

◆ isStructuredFilterUiEnabled()

◆ makeLegend()

ChangesListSpecialPage::makeLegend ( )

Return the legend displayed within the fieldset.

Returns
string

Definition at line 1622 of file ChangesListSpecialPage.php.

References getContext(), SpecialPage\getRequest(), and isStructuredFilterUiEnabled().

Referenced by SpecialWatchlist\doHeader(), and SpecialWatchlist\outputChangesList().

◆ outputChangesList()

ChangesListSpecialPage::outputChangesList ( $rows,
$opts )
abstract

Build and output the actual changes list.

Parameters
IResultWrapper$rowsDatabase rows
FormOptions$opts

Reimplemented in SpecialRecentChanges, and SpecialWatchlist.

Referenced by webOutput().

◆ outputFeedLinks()

ChangesListSpecialPage::outputFeedLinks ( )

Reimplemented in SpecialRecentChanges, and SpecialWatchlist.

Definition at line 1556 of file ChangesListSpecialPage.php.

◆ outputNoResults()

ChangesListSpecialPage::outputNoResults ( )
protected

Add the "no results" message to the output.

Reimplemented in SpecialRecentChangesLinked.

Definition at line 881 of file ChangesListSpecialPage.php.

References SpecialPage\getOutput(), and SpecialPage\msg().

◆ outputTimeout()

ChangesListSpecialPage::outputTimeout ( )
protected

Add the "timeout" message to the output.

Definition at line 894 of file ChangesListSpecialPage.php.

References SpecialPage\getOutput(), and SpecialPage\msg().

Referenced by execute().

◆ parseParameters()

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

Process $par and put options found in $opts.

Used when including the page.

Parameters
string$par
FormOptions$opts

Reimplemented in SpecialRecentChanges, and SpecialRecentChangesLinked.

Definition at line 1219 of file ChangesListSpecialPage.php.

Referenced by setup().

◆ registerFilterGroup()

ChangesListSpecialPage::registerFilterGroup ( ChangesListFilterGroup $group)

Register a structured changes list filter group.

Parameters
ChangesListFilterGroup$group

Definition at line 1134 of file ChangesListSpecialPage.php.

References ChangesListFilterGroup\getName().

Referenced by SpecialWatchlist\registerFilters(), and registerFiltersFromDefinitions().

◆ registerFilters()

ChangesListSpecialPage::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 in SpecialRecentChanges, and SpecialWatchlist.

Definition at line 942 of file ChangesListSpecialPage.php.

References SpecialPage\getConfig(), getFilterGroup(), SpecialPage\getHookRunner(), getUser(), SpecialPage\including(), registerFiltersFromDefinitions(), and transformFilterDefinition().

Referenced by setup().

◆ registerFiltersFromDefinitions()

ChangesListSpecialPage::registerFiltersFromDefinitions ( array $definition)
protected

Register filters from a definition object.

Array specifying groups and their filters; see Filter and ChangesListFilterGroup constructors.

There is light processing to simplify core maintenance.

Parameters
array$definition

Definition at line 1030 of file ChangesListSpecialPage.php.

References registerFilterGroup(), and transformFilterDefinition().

Referenced by registerFilters().

◆ replaceOldOptions()

ChangesListSpecialPage::replaceOldOptions ( FormOptions $opts)

Replace old options with their structured UI equivalents.

Parameters
FormOptions$opts
Returns
bool True if the change was made

Definition at line 1340 of file ChangesListSpecialPage.php.

References getFilterGroup(), isStructuredFilterUiEnabled(), FormOptions\reset(), and ChangesListStringOptionsFilterGroup\SEPARATOR.

Referenced by validateOptions().

◆ runMainQueryHook()

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

◆ setBottomText()

ChangesListSpecialPage::setBottomText ( FormOptions $opts)

Send the text to be displayed after the options.

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

Parameters
FormOptions$opts

Definition at line 1600 of file ChangesListSpecialPage.php.

Referenced by doHeader(), and SpecialWatchlist\doHeader().

◆ setTopText()

ChangesListSpecialPage::setTopText ( FormOptions $opts)

Send the text to be displayed before the options.

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

Parameters
FormOptions$opts

Reimplemented in SpecialRecentChanges, SpecialRecentChangesLinked, and SpecialWatchlist.

Definition at line 1589 of file ChangesListSpecialPage.php.

Referenced by doHeader().

◆ setup()

ChangesListSpecialPage::setup ( $parameters)

Register all the filters, including legacy hook-driven ones.

Then create a FormOptions object with options as specified by the user

Parameters
string$parameters
Returns
FormOptions

Definition at line 1078 of file ChangesListSpecialPage.php.

References fetchOptionsFromRequest(), getDefaultOptions(), parseParameters(), registerFilters(), and validateOptions().

Referenced by getOptions().

◆ transformFilterDefinition()

ChangesListSpecialPage::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 in SpecialRecentChanges, and SpecialWatchlist.

Definition at line 1016 of file ChangesListSpecialPage.php.

Referenced by registerFilters(), and registerFiltersFromDefinitions().

◆ validateOptions()

ChangesListSpecialPage::validateOptions ( FormOptions $opts)

◆ webOutput()

ChangesListSpecialPage::webOutput ( $rows,
$opts )

Send output to the OutputPage object, only called if not used feeds.

Parameters
IResultWrapper$rowsDatabase rows
FormOptions$opts

Definition at line 1550 of file ChangesListSpecialPage.php.

References outputChangesList().

Referenced by execute().

Member Data Documentation

◆ $filterGroups

ChangesListFilterGroup [] ChangesListSpecialPage::$filterGroups = []
protected

Filter groups, and their contained filters This is an associative array (with group name as key) of ChangesListFilterGroup objects.

Definition at line 85 of file ChangesListSpecialPage.php.

◆ $rcOptions

FormOptions ChangesListSpecialPage::$rcOptions
protected

Definition at line 47 of file ChangesListSpecialPage.php.

◆ $rcSubpage

string ChangesListSpecialPage::$rcSubpage
protected

Definition at line 44 of file ChangesListSpecialPage.php.


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