MediaWiki fundraising/REL1_35
|
A special page that lists last changes made to the wiki, limited to user-defined list of titles. More...
Public Member Functions | |
__construct ( $page='Watchlist', $restriction='viewmywatchlist') | |
doesWrites () | |
Indicates whether this special page may perform database writes. | |
doHeader ( $opts, $numRows) | |
Set the text to be displayed above the changes. | |
execute ( $subpage) | |
Main execution point. | |
getSubpagesForPrefixSearch () | |
Return an array of subpages that this special page will accept. | |
outputChangesList ( $rows, $opts) | |
Build and output the actual changes list. | |
outputFeedLinks () | |
Output feed links. | |
setTopText (FormOptions $opts) | |
Send the text to be displayed before the options. | |
Public Member Functions inherited from 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. | |
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. | |
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. | |
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. | |
getConfig () | |
Shortcut to get main config object. | |
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 Stable to override. | |
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. | |
isIncludable () | |
Whether it's allowed to transclude the special page via {{Special:Foo/params}} Stable to override. | |
isListed () | |
Whether this special page is listed in Special:SpecialPages Stable to override. | |
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. | |
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. | |
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 ( $user) | |||
Static method to check whether StructuredFilter UI is enabled for the given user.
| ||||
Static Public Member Functions inherited from ChangesListSpecialPage | ||||
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. | ||||
Protected Member Functions | |||||||||||||||||||
countItems () | |||||||||||||||||||
Count the number of paired items on a user's watchlist. | |||||||||||||||||||
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. | |||||||||||||||||||
getDB () | |||||||||||||||||||
Return a IDatabase object for reading. | |||||||||||||||||||
isChangeEffectivelySeen (RecentChange $rc) | |||||||||||||||||||
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). PhanUndeclaredMethod | |||||||||||||||||||
showHideCheck ( $options, $message, $name, $value, $inStructuredUi) | |||||||||||||||||||
transformFilterDefinition (array $filterDefinition) | |||||||||||||||||||
Transforms filter definition to prepare it for constructor.See overrides of this method as well.
| |||||||||||||||||||
Protected Member Functions inherited from ChangesListSpecialPage | |||||||||||||||||||
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. | |||||||||||||||||||
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 Stable to override. | |||||||||||||||||||
getCacheTTL () | |||||||||||||||||||
Stable to override. | |||||||||||||||||||
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. | |||||||||||||||||||
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) | |||||||||||||||||||
Perform a regular substring search for prefixSearchSubpages. | |||||||||||||||||||
setHeaders () | |||||||||||||||||||
Sets headers - this should be called from the execute() method of all derived classes! Stable to override. | |||||||||||||||||||
setReauthPostData (array $data) | |||||||||||||||||||
Record preserved POST data after a reauthentication. | |||||||||||||||||||
useTransactionalTimeLimit () | |||||||||||||||||||
Call wfTransactionalTimeLimit() if this request was POSTed. | |||||||||||||||||||
Static Protected Attributes | |
static | $collapsedPreferenceName = 'rcfilters-wl-collapsed' |
static | $daysPreferenceName = 'watchlistdays' |
static | $limitPreferenceName = 'wllimit' |
static | $savedQueriesPreferenceName = 'rcfilters-wl-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 | $limitPreferenceName |
Preference name for 'limit'. | |
static string | $savedQueriesPreferenceName |
Preference name for saved queries. | |
Private Member Functions | |
cutoffselector ( $options) | |
getLatestNotificationTimestamp (RecentChange $rc) | |
Private Attributes | |
bool | $isWatchlistExpiryEnabled |
Watchlist Expiry flag. | |
float int | $maxDays |
WatchedItemStore | $watchStore |
Additional Inherited Members | |
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. | |
$mIncludable | |
$mIncluding | |
$mName | |
$mRestriction | |
A special page that lists last changes made to the wiki, limited to user-defined list of titles.
Definition at line 34 of file SpecialWatchlist.php.
SpecialWatchlist::__construct | ( | $page = 'Watchlist', | |
$restriction = 'viewmywatchlist' ) |
Reimplemented from ChangesListSpecialPage.
Definition at line 49 of file SpecialWatchlist.php.
References SpecialPage\getConfig().
|
static |
Static method to check whether StructuredFilter UI is enabled for the given user.
User | $user |
Reimplemented from ChangesListSpecialPage.
Definition at line 123 of file SpecialWatchlist.php.
References wfDeprecated().
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 890 of file SpecialWatchlist.php.
References getUser().
|
private |
Definition at line 776 of file SpecialWatchlist.php.
References getUser().
SpecialWatchlist::doesWrites | ( | ) |
Indicates whether this special page may perform database writes.
Stable to override
Reimplemented from SpecialPage.
Definition at line 57 of file SpecialWatchlist.php.
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 ChangesListSpecialPage.
Definition at line 606 of file SpecialWatchlist.php.
References $lang, SpecialEditWatchlist\buildTools(), getUser(), wfScript(), and wfTimestampNow().
|
protected |
Process the query.
array | $tables | Array of tables; see IDatabase::select $table |
array | $fields | Array of fields; see IDatabase::select $vars |
array | $conds | Array of conditions; see IDatabase::select $conds |
array | $query_options | Array of query options; see IDatabase::select $options |
array | $join_conds | Array of join conditions; see IDatabase::select $join_conds |
FormOptions | $opts |
Reimplemented from ChangesListSpecialPage.
Definition at line 359 of file SpecialWatchlist.php.
References $dbr, ChangesListSpecialPage\areFiltersInConflict(), LogPage\DELETED_ACTION, LogPage\DELETED_RESTRICTED, SpecialPage\getConfig(), getDB(), SpecialPage\getUser(), LIST_OR, ChangeTags\modifyDisplayQuery(), RC_LOG, and ChangesListSpecialPage\runMainQueryHook().
SpecialWatchlist::execute | ( | $subpage | ) |
Main execution point.
string | $subpage |
Reimplemented from ChangesListSpecialPage.
Definition at line 66 of file SpecialWatchlist.php.
References $title, SpecialPage\addHelpLink(), SpecialPage\checkPermissions(), SpecialEditWatchlist\EDIT_CLEAR, SpecialEditWatchlist\EDIT_RAW, SpecialPage\getConfig(), SpecialEditWatchlist\getMode(), ChangesListSpecialPage\getOptions(), SpecialPage\getOutput(), SpecialPage\getPageTitle(), SpecialPage\getRequest(), SpecialPage\getTitleFor(), SpecialPage\getUser(), ChangesListSpecialPage\isStructuredFilterUiEnabled(), and SpecialPage\requireLogin().
|
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 ChangesListSpecialPage.
Definition at line 314 of file SpecialWatchlist.php.
References ChangesListSpecialPage\getLegacyShowHideFilters(), and SpecialPage\getRequest().
|
protected |
Return a IDatabase object for reading.
Reimplemented from ChangesListSpecialPage.
Definition at line 463 of file SpecialWatchlist.php.
References DB_REPLICA, and wfGetDB().
Referenced by doMainQuery(), and outputChangesList().
|
private |
RecentChange | $rc |
Definition at line 909 of file SpecialWatchlist.php.
References RecentChange\getAttribute(), and RecentChange\getTitle().
SpecialWatchlist::getSubpagesForPrefixSearch | ( | ) |
Return an array of subpages that this special page will accept.
Reimplemented from SpecialPage.
Definition at line 137 of file SpecialWatchlist.php.
|
protected |
RecentChange | $rc |
Definition at line 899 of file SpecialWatchlist.php.
References RecentChange\getAttribute().
Referenced by registerFilters().
SpecialWatchlist::outputChangesList | ( | $rows, | |
$opts ) |
Build and output the actual changes list.
IResultWrapper | $rows | Database rows |
FormOptions | $opts |
Reimplemented from ChangesListSpecialPage.
Definition at line 489 of file SpecialWatchlist.php.
References $dbr, SpecialPage\getContext(), getDB(), SpecialPage\getOutput(), RecentChange\getTitle(), SpecialPage\getUser(), and RC_LOG.
SpecialWatchlist::outputFeedLinks | ( | ) |
Output feed links.
Reimplemented from ChangesListSpecialPage.
Definition at line 470 of file SpecialWatchlist.php.
References SpecialPage\addFeedLinks(), and SpecialPage\getUser().
|
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). PhanUndeclaredMethod
Reimplemented from ChangesListSpecialPage.
Definition at line 160 of file SpecialWatchlist.php.
References $dbr, ChangesListSpecialPage\getFilterGroup(), SpecialPage\getHookRunner(), SpecialPage\getUser(), isChangeEffectivelySeen(), ChangesListSpecialPage\isStructuredFilterUiEnabled(), LIST_AND, LIST_OR, ChangesListStringOptionsFilterGroup\NONE, RC_LOG, and ChangesListSpecialPage\registerFilterGroup().
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.
FormOptions | $opts |
Reimplemented from ChangesListSpecialPage.
Definition at line 812 of file SpecialWatchlist.php.
References FormOptions\getChangedValues(), and getUser().
|
protected |
Definition at line 862 of file SpecialWatchlist.php.
|
protected |
Transforms filter definition to prepare it for constructor.See overrides of this method as well.
array | $filterDefinition | Original filter definition |
Reimplemented from ChangesListSpecialPage.
Definition at line 148 of file SpecialWatchlist.php.
|
staticprotected |
Definition at line 38 of file SpecialWatchlist.php.
|
staticprotected |
Definition at line 36 of file SpecialWatchlist.php.
|
private |
Watchlist Expiry flag.
Definition at line 47 of file SpecialWatchlist.php.
|
staticprotected |
Definition at line 37 of file SpecialWatchlist.php.
|
private |
Definition at line 41 of file SpecialWatchlist.php.
|
staticprotected |
Definition at line 35 of file SpecialWatchlist.php.
|
private |
Definition at line 44 of file SpecialWatchlist.php.