|
MediaWiki master
|
A special page that lists last changes made to the wiki, limited to user-defined list of titles. More...
Inherits MediaWiki\SpecialPage\ChangesListSpecialPage.

Public Member Functions | |
| __construct (WatchedItemStoreInterface $watchedItemStore, WatchlistManager $watchlistManager, UserOptionsLookup $userOptionsLookup, UserIdentityUtils $userIdentityUtils, TempUserConfig $tempUserConfig, RecentChangeFactory $recentChangeFactory, ChangesListQueryFactory $changesListQueryFactory,) | |
| doesWrites () | |
Indicates whether POST requests to this special page require write access to the wiki.Subclasses must override this method to return true if any of the operations that they perform on POST requests are not "safe" per RFC 7231 section 4.2.1. A subclass's operation is "safe" if it is essentially read-only, i.e. the client does not request nor expect any state change that would be observable in the responses to future requests.Implementations of this method must always return the same value, regardless of the parameters passed to the constructor or system state.When handling GET/HEAD requests, subclasses should only perform "safe" operations. Note that some subclasses might only perform "safe" operations even for POST requests, particularly in the case where large input parameters are required.
| |
| doHeader ( $opts, $numRows) | |
| Set the text to be displayed above the changes. | |
| execute ( $subpage) | |
| Main execution point. | |
| 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.
| |
| getSubpagesForPrefixSearch () | |
| Return an array of subpages that this special page will accept. | |
| outputChangesList ( $rows, $opts) | |
| Build and output the actual changes list. | |
| outputFeedLinks () | |
| setTopText (FormOptions $opts) | |
| Send the text to be displayed before 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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). | |
Static Public Member Functions | ||||
| static | checkStructuredFilterUiEnabled (UserIdentity $user) | |||
Static method to check whether StructuredFilter UI is enabled for the given user.
| ||||
Static Public Member Functions inherited from MediaWiki\SpecialPage\ChangesListSpecialPage | ||||
| 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. | ||||
Public Attributes | |
| const | WATCHLIST_TAB_PATHS |
Protected Member Functions | |||||||
| countItems () | |||||||
| Count the number of paired items on a user's watchlist. | |||||||
| fetchOptionsFromRequest ( $opts) | |||||||
| Fetch values for a FormOptions object from the WebRequest associated with this instance. | |||||||
| 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. | |||||||
| 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. | |||||||
| isChangeEffectivelySeen (RecentChange $rc) | |||||||
| modifyQuery (ChangesListQuery $query, FormOptions $opts) | |||||||
Allow subclasses to modify the main query.
| |||||||
| showHideCheck ( $options, $message, $name, $value, $inStructuredUi) | |||||||
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. | |||||||
| 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'.
| |||||||
| 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 () | |||||||
| getCacheTTL () | |||||||
| 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 () | |||||||
| 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 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. | |
A special page that lists last changes made to the wiki, limited to user-defined list of titles.
Definition at line 49 of file SpecialWatchlist.php.
| MediaWiki\Specials\SpecialWatchlist::__construct | ( | WatchedItemStoreInterface | $watchedItemStore, |
| WatchlistManager | $watchlistManager, | ||
| UserOptionsLookup | $userOptionsLookup, | ||
| UserIdentityUtils | $userIdentityUtils, | ||
| TempUserConfig | $tempUserConfig, | ||
| RecentChangeFactory | $recentChangeFactory, | ||
| ChangesListQueryFactory | $changesListQueryFactory ) |
Definition at line 72 of file SpecialWatchlist.php.
References MediaWiki\SpecialPage\ChangesListSpecialPage\$changesListQueryFactory, MediaWiki\SpecialPage\ChangesListSpecialPage\$recentChangeFactory, MediaWiki\SpecialPage\ChangesListSpecialPage\$tempUserConfig, and MediaWiki\SpecialPage\ChangesListSpecialPage\$userIdentityUtils.
|
static |
Static method to check whether StructuredFilter UI is enabled for the given user.
| UserIdentity | $user |
Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.
Definition at line 166 of file SpecialWatchlist.php.
References MediaWiki\MediaWikiServices\getInstance().
Referenced by MediaWiki\Preferences\DefaultPreferencesFactory\watchlistPreferences().
|
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.
Definition at line 793 of file SpecialWatchlist.php.
| MediaWiki\Specials\SpecialWatchlist::doesWrites | ( | ) |
Indicates whether POST requests to this special page require write access to the wiki.Subclasses must override this method to return true if any of the operations that they perform on POST requests are not "safe" per RFC 7231 section 4.2.1. A subclass's operation is "safe" if it is essentially read-only, i.e. the client does not request nor expect any state change that would be observable in the responses to future requests.Implementations of this method must always return the same value, regardless of the parameters passed to the constructor or system state.When handling GET/HEAD requests, subclasses should only perform "safe" operations. Note that some subclasses might only perform "safe" operations even for POST requests, particularly in the case where large input parameters are required.
Reimplemented from MediaWiki\SpecialPage\SpecialPage.
Definition at line 96 of file SpecialWatchlist.php.
| MediaWiki\Specials\SpecialWatchlist::doHeader | ( | $opts, | |
| $numRows ) |
Set the text to be displayed above the changes.
| FormOptions | $opts | |
| int | $numRows | Number of rows in the result to show after this header |
Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.
Definition at line 502 of file SpecialWatchlist.php.
References wfScript(), and wfTimestampNow().
| MediaWiki\Specials\SpecialWatchlist::execute | ( | $subpage | ) |
Main execution point.
| string | null | $subpage |
Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.
Definition at line 105 of file SpecialWatchlist.php.
References MediaWiki\SpecialPage\SpecialPage\addHelpLink(), MediaWiki\SpecialPage\SpecialPage\checkPermissions(), MediaWiki\Specials\SpecialEditWatchlist\EDIT_CLEAR, MediaWiki\Specials\SpecialEditWatchlist\EDIT_RAW, MediaWiki\MainConfigNames\EnotifWatchlist, MediaWiki\SpecialPage\SpecialPage\getConfig(), MediaWiki\Specials\SpecialEditWatchlist\getMode(), MediaWiki\SpecialPage\ChangesListSpecialPage\getOptions(), MediaWiki\SpecialPage\SpecialPage\getOutput(), MediaWiki\SpecialPage\SpecialPage\getPageTitle(), MediaWiki\SpecialPage\SpecialPage\getRequest(), MediaWiki\SpecialPage\SpecialPage\getTitleFor(), MediaWiki\SpecialPage\SpecialPage\getUser(), MediaWiki\SpecialPage\ChangesListSpecialPage\isStructuredFilterUiEnabled(), and MediaWiki\MainConfigNames\ShowUpdatedMarker.
|
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.
| FormOptions | $opts |
Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.
Definition at line 295 of file SpecialWatchlist.php.
|
protected |
Preference name for collapsing the active filter display.
Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.
Definition at line 832 of file SpecialWatchlist.php.
|
protected |
Preference name for 'days'.
Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.
Definition at line 828 of file SpecialWatchlist.php.
| MediaWiki\Specials\SpecialWatchlist::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.
Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.
Definition at line 279 of file SpecialWatchlist.php.
|
protected |
Subclasses may override this to add configuration to the filter factory.
Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.
Definition at line 186 of file SpecialWatchlist.php.
|
protected |
This may be overridden by subclasses to add more filter groups.
Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.
Definition at line 192 of file SpecialWatchlist.php.
|
protected |
Subclasses may override this to provide an array of filter group defaults, overriding the defaults in the filter definitions.
Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.
Definition at line 238 of file SpecialWatchlist.php.
|
protected |
Getting the preference name for 'limit'.
Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.
Definition at line 820 of file SpecialWatchlist.php.
|
protected |
Preference name for saved queries.
Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.
Definition at line 824 of file SpecialWatchlist.php.
| MediaWiki\Specials\SpecialWatchlist::getSubpagesForPrefixSearch | ( | ) |
Return an array of subpages that this special page will accept.
Reimplemented from MediaWiki\SpecialPage\SpecialPage.
Definition at line 178 of file SpecialWatchlist.php.
|
protected |
| RecentChange | $rc |
Definition at line 802 of file SpecialWatchlist.php.
References MediaWiki\RecentChanges\RecentChange\getAttribute().
|
protected |
Allow subclasses to modify the main query.
| ChangesListQuery | $query | |
| FormOptions | $opts |
Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.
Definition at line 340 of file SpecialWatchlist.php.
References MediaWiki\RecentChanges\ChangesListQuery\ChangesListQuery\excludeWatchlistLabelIds(), MediaWiki\RecentChanges\ChangesListQuery\ChangesListQuery\forceEmptySet(), MediaWiki\RecentChanges\ChangesListQuery\ChangesListQuery\requireWatched(), and MediaWiki\RecentChanges\ChangesListQuery\ChangesListQuery\requireWatchlistLabelIds().
| MediaWiki\Specials\SpecialWatchlist::outputChangesList | ( | $rows, | |
| $opts ) |
Build and output the actual changes list.
| IResultWrapper | $rows | Database rows |
| FormOptions | $opts |
Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.
Definition at line 388 of file SpecialWatchlist.php.
References MediaWiki\RecentChanges\RecentChange\getAttribute(), MediaWiki\Watchlist\WatchedItem\getExpiry(), and MediaWiki\RecentChanges\RecentChange\getTitle().
| MediaWiki\Specials\SpecialWatchlist::outputFeedLinks | ( | ) |
Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.
Definition at line 369 of file SpecialWatchlist.php.
| MediaWiki\Specials\SpecialWatchlist::setTopText | ( | FormOptions | $opts | ) |
Send the text to be displayed before the options.
Should use $this->getOutput()->addWikiTextAsInterface() or similar methods to print the text.
Reimplemented from MediaWiki\SpecialPage\ChangesListSpecialPage.
Definition at line 705 of file SpecialWatchlist.php.
References MediaWiki\Html\FormOptions\getChangedValues().
|
protected |
| array | $options | |
| string | $message | |
| string | $name | |
| string | $value | |
| bool | $inStructuredUi |
Definition at line 765 of file SpecialWatchlist.php.
| const MediaWiki\Specials\SpecialWatchlist::WATCHLIST_TAB_PATHS |
Definition at line 54 of file SpecialWatchlist.php.