MediaWiki master
|
Base class for lists of recent changes shown on special pages. More...
Inherits MediaWiki\Context\ContextSource.
Inherited by MediaWiki\RecentChanges\EnhancedChangesList, and MediaWiki\RecentChanges\OldChangesList.
Public Member Functions | |
__construct ( $context, array $filterGroups=[]) | |
beginRecentChangesList () | |
Returns text for the start of the tabular part of RC. | |
endRecentChangesList () | |
Returns text for the end of RC. | |
formatCharacterDifference (RecentChange $old, ?RecentChange $new=null) | |
Format the character difference of one or several changes. | |
getArticleLink (&$rc, $unpatrolled, $watched) | |
Get the HTML link to the changed page, possibly with a prefix from hook handlers, and a suffix for temporarily watched items. | |
getRollback (RecentChange $rc) | |
getTags (RecentChange $rc, array &$classes) | |
getTimestamp ( $rc) | |
Get the timestamp from $rc formatted with current user's settings and a separator. | |
getWatchlistExpiry (RecentChange $recentChange) | |
Get HTML to display the clock icon for watched items that have a watchlist expiry time. | |
initChangesListRows ( $rows) | |
insertComment ( $rc) | |
Insert a formatted comment. | |
insertDateHeader (&$s, $rc_timestamp) | |
insertDiffHist (&$s, &$rc, $unpatrolled=null) | |
insertExtra (&$s, &$rc, &$classes) | |
insertLog (&$s, $title, $logtype, $useParentheses=true) | |
insertLogEntry ( $rc) | |
Insert a formatted action. | |
insertRollback (&$s, &$rc) | |
Insert a rollback link. | |
insertTags (&$s, &$rc, &$classes) | |
insertTimestamp (&$s, $rc) | |
Insert time timestamp string from $rc into $s. | |
insertUserRelatedLinks (&$s, &$rc) | |
Insert links to user page, user talk page and eventually a blocking link. | |
isWatchlist () | |
recentChangesFlags ( $flags, $nothing="\u{00A0}") | |
Returns the appropriate flags for new page, minor change and patrolling. | |
recentChangesLine (&$rc, $watched=false, $linenumber=null) | |
Format a line. | |
setChangeLinePrefixer (callable $prefixer) | |
Sets the callable that generates a change line prefix added to the beginning of each line. | |
setWatchlistDivs ( $value=true) | |
Sets the list to use a "<li class='watchlist-(namespace)-(page)'>" tag. | |
![]() | |
canUseWikiPage () | |
Check whether a WikiPage object can be get with getWikiPage(). | |
exportSession () | |
Export the resolved user IP, HTTP headers, user ID, and session ID. | |
getActionName () | |
Get the action name for the current web request. | |
getAuthority () | |
getConfig () | |
getContext () | |
Get the base IContextSource object. | |
getCsrfTokenSet () | |
Get a repository to obtain and match CSRF tokens. | |
getLanguage () | |
getLanguageCode () | |
getOutput () | |
getRequest () | |
getSkin () | |
getTiming () | |
getTitle () | |
getUser () | |
getWikiPage () | |
Get the WikiPage object. | |
msg ( $key,... $params) | |
Get a Message object with context set Parameters are the same as wfMessage() | |
setContext (IContextSource $context) | |
Static Public Member Functions | |
static | flag ( $flag, ?IContextSource $context=null) |
Make an "<abbr>" element for a given change flag. | |
static | isDeleted ( $rc, $field) |
Determine if said field of a revision is hidden. | |
static | isUnpatrolled ( $rc, User $user) |
static | newFromContext (IContextSource $context, array $groups=[]) |
Fetch an appropriate changes list class for the specified context Some users might want to use an enhanced list format, for instance. | |
static | revDateLink (RevisionRecord $rev, Authority $performer, Language $lang, $title=null, $className='') |
Render the date and time of a revision in the current user language based on whether the user is able to view this information or not. | |
static | showCharacterDifference ( $old, $new, ?IContextSource $context=null) |
Show formatted char difference. | |
static | userCan ( $rc, $field, ?Authority $performer=null) |
Determine if the current user is allowed to view a particular field of this revision, if it's marked as deleted. | |
Public Attributes | |
const | CSS_CLASS_PREFIX = 'mw-changeslist-' |
Protected Member Functions | |
getDataAttributes (RecentChange $rc) | |
Get recommended data attributes for a change line. | |
getHighlightsContainerDiv () | |
Get the container for highlights that are used in the new StructuredFilters system. | |
getHTMLClasses ( $rc, $watched) | |
Get an array of default HTML class attributes for the change. | |
getHTMLClassesForFilters ( $rc) | |
Get an array of CSS classes attributed to filters for this row. | |
isCategorizationWithoutRevision ( $rcObj) | |
Determines whether a revision is linked to this change; this may not be the case when the categorization wasn't done by an edit but a conditional parser function. | |
maybeWatchedLink ( $link, $watched=false) | |
numberofWatchingusers ( $count) | |
Returns the string which indicates the number of watching users. | |
showAsUnpatrolled (RecentChange $rc) | |
Protected Attributes | |
callable | $changeLinePrefixer |
RowCommentFormatter | $commentFormatter |
ChangesListFilterGroup[] | $filterGroups |
string[] | $formattedComments |
Comments indexed by rc_id. | |
string | $lastdate |
LinkRenderer | $linkRenderer |
string[] | $message |
array | $rc_cache |
int | $rcCacheIndex |
bool | $rclistOpen |
int | $rcMoveIndex |
MapCacheLRU | $tagsCache |
MapCacheLRU | $userLinkCache |
UserLinkRenderer | $userLinkRenderer |
bool | $watchlist = false |
MapCacheLRU | $watchMsgCache |
Base class for lists of recent changes shown on special pages.
This is used via ChangesListSpecialPage by recent changes (SpecialRecentChanges), related changes (SpecialRecentChangesLinked), and watchlist (SpecialWatchlist).
Definition at line 65 of file ChangesList.php.
MediaWiki\RecentChanges\ChangesList::__construct | ( | $context, | |
array | $filterGroups = [] ) |
IContextSource | $context | |
ChangesListFilterGroup[] | $filterGroups | Array of ChangesListFilterGroup objects (currently optional) |
Reimplemented in MediaWiki\RecentChanges\EnhancedChangesList.
Definition at line 129 of file ChangesList.php.
References MediaWiki\RecentChanges\ChangesList\$filterGroups, MediaWiki\MediaWikiServices\getInstance(), and MediaWiki\Context\ContextSource\setContext().
MediaWiki\RecentChanges\ChangesList::beginRecentChangesList | ( | ) |
Returns text for the start of the tabular part of RC.
Reimplemented in MediaWiki\RecentChanges\EnhancedChangesList.
Definition at line 369 of file ChangesList.php.
References MediaWiki\Context\ContextSource\getOutput().
MediaWiki\RecentChanges\ChangesList::endRecentChangesList | ( | ) |
Returns text for the end of RC.
Reimplemented in MediaWiki\RecentChanges\EnhancedChangesList.
Definition at line 484 of file ChangesList.php.
|
static |
Make an "<abbr>" element for a given change flag.
The flag indicating a new page, minor edit, bot edit, or unpatrolled edit. In English it typically contains "N", "m", "b", or "!".
Styling for these flags is provided through mediawiki.interface.helpers.styles.
string | $flag | One key of $wgRecentChangesFlags |
IContextSource | null | $context |
Definition at line 335 of file ChangesList.php.
References MediaWiki\Html\element(), MediaWiki\MediaWikiServices\getInstance(), MediaWiki\MainConfigNames\RecentChangesFlags, MediaWiki\Context\ContextSource\setContext(), and wfMessage().
Referenced by MediaWiki\RecentChanges\ChangesList\recentChangesFlags().
MediaWiki\RecentChanges\ChangesList::formatCharacterDifference | ( | RecentChange | $old, |
?RecentChange | $new = null ) |
Format the character difference of one or several changes.
RecentChange | $old | |
RecentChange | null | $new | Last change to use, if not provided, $old will be used |
Definition at line 464 of file ChangesList.php.
References MediaWiki\Context\ContextSource\getContext(), and MediaWiki\RecentChanges\ChangesList\showCharacterDifference().
Referenced by MediaWiki\RecentChanges\EnhancedChangesList\getLineData(), MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockGroup(), and MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockLine().
MediaWiki\RecentChanges\ChangesList::getArticleLink | ( | & | $rc, |
$unpatrolled, | |||
$watched ) |
Get the HTML link to the changed page, possibly with a prefix from hook handlers, and a suffix for temporarily watched items.
RecentChange | &$rc | |
bool | $unpatrolled | |
bool | $watched |
Definition at line 629 of file ChangesList.php.
References MediaWiki\Context\ContextSource\getLanguage(), and MediaWiki\RecentChanges\ChangesList\getWatchlistExpiry().
Referenced by MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockGroup(), and MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockLine().
|
protected |
Get recommended data attributes for a change line.
RecentChange | $rc |
Definition at line 1068 of file ChangesList.php.
References MediaWiki\RecentChanges\RecentChange\getAttribute(), MediaWiki\RecentChanges\RecentChange\SRC_CATEGORIZE, MediaWiki\RecentChanges\RecentChange\SRC_EDIT, MediaWiki\RecentChanges\RecentChange\SRC_LOG, and MediaWiki\RecentChanges\RecentChange\SRC_NEW.
Referenced by MediaWiki\RecentChanges\EnhancedChangesList\getLineData(), MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockLine(), and MediaWiki\RecentChanges\OldChangesList\recentChangesLine().
|
protected |
Get the container for highlights that are used in the new StructuredFilters system.
Definition at line 193 of file ChangesList.php.
Referenced by MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockLine(), and MediaWiki\RecentChanges\OldChangesList\recentChangesLine().
|
protected |
Get an array of default HTML class attributes for the change.
RecentChange | RCCacheEntry | $rc | |
string | bool | $watched | Optionally timestamp for adding watched class |
Definition at line 272 of file ChangesList.php.
References MediaWiki\RecentChanges\ChangesList\getHTMLClassesForFilters().
Referenced by MediaWiki\RecentChanges\EnhancedChangesList\getLineData(), MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockLine(), and MediaWiki\RecentChanges\OldChangesList\recentChangesLine().
|
protected |
Get an array of CSS classes attributed to filters for this row.
Used for highlighting in the front-end.
RecentChange | $rc |
Definition at line 303 of file ChangesList.php.
References MediaWiki\MediaWikiServices\getInstance().
Referenced by MediaWiki\RecentChanges\ChangesList\getHTMLClasses(), and MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockGroup().
MediaWiki\RecentChanges\ChangesList::getRollback | ( | RecentChange | $rc | ) |
RecentChange | $rc |
Definition at line 967 of file ChangesList.php.
Referenced by MediaWiki\RecentChanges\EnhancedChangesList\getLineData(), and MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockLine().
MediaWiki\RecentChanges\ChangesList::getTags | ( | RecentChange | $rc, |
array & | $classes ) |
RecentChange | $rc | |
string[] | &$classes |
Definition at line 1010 of file ChangesList.php.
Referenced by MediaWiki\RecentChanges\EnhancedChangesList\getLineData(), MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockGroup(), and MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockLine().
MediaWiki\RecentChanges\ChangesList::getTimestamp | ( | $rc | ) |
Get the timestamp from $rc formatted with current user's settings and a separator.
RecentChange | $rc |
Definition at line 708 of file ChangesList.php.
References MediaWiki\Html\element().
MediaWiki\RecentChanges\ChangesList::getWatchlistExpiry | ( | RecentChange | $recentChange | ) |
Get HTML to display the clock icon for watched items that have a watchlist expiry time.
RecentChange | $recentChange |
Definition at line 675 of file ChangesList.php.
Referenced by MediaWiki\RecentChanges\ChangesList\getArticleLink().
MediaWiki\RecentChanges\ChangesList::initChangesListRows | ( | $rows | ) |
IResultWrapper | stdClass[] | $rows |
Definition at line 386 of file ChangesList.php.
MediaWiki\RecentChanges\ChangesList::insertComment | ( | $rc | ) |
Insert a formatted comment.
RecentChange | $rc |
Definition at line 815 of file ChangesList.php.
Referenced by MediaWiki\RecentChanges\EnhancedChangesList\getLineData(), and MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockLine().
MediaWiki\RecentChanges\ChangesList::insertDateHeader | ( | & | $s, |
$rc_timestamp ) |
string | &$s | HTML to update |
mixed | $rc_timestamp |
Definition at line 540 of file ChangesList.php.
References MediaWiki\Html\element(), MediaWiki\Context\ContextSource\getLanguage(), and MediaWiki\Context\ContextSource\getUser().
Referenced by MediaWiki\RecentChanges\OldChangesList\recentChangesLine().
MediaWiki\RecentChanges\ChangesList::insertDiffHist | ( | & | $s, |
& | $rc, | ||
$unpatrolled = null ) |
string | &$s | HTML to update |
RecentChange | &$rc | |
bool | null | $unpatrolled | Unused variable, since 1.27. |
Definition at line 579 of file ChangesList.php.
References MediaWiki\Context\ContextSource\getAuthority(), RC_LOG, and RC_NEW.
MediaWiki\RecentChanges\ChangesList::insertExtra | ( | & | $s, |
& | $rc, | ||
& | $classes ) |
Definition at line 1016 of file ChangesList.php.
MediaWiki\RecentChanges\ChangesList::insertLog | ( | & | $s, |
$title, | |||
$logtype, | |||
$useParentheses = true ) |
string | &$s | HTML to update |
Title | $title | |
string | $logtype | |
bool | $useParentheses | (optional) Wrap log entry in parentheses where needed |
Definition at line 559 of file ChangesList.php.
References MediaWiki\Context\ContextSource\getContext(), and MediaWiki\Context\ContextSource\msg().
MediaWiki\RecentChanges\ChangesList::insertLogEntry | ( | $rc | ) |
Insert a formatted action.
RecentChange | $rc |
Definition at line 782 of file ChangesList.php.
Referenced by MediaWiki\RecentChanges\EnhancedChangesList\getLineData(), and MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockLine().
MediaWiki\RecentChanges\ChangesList::insertRollback | ( | & | $s, |
& | $rc ) |
Insert a rollback link.
string | &$s | |
RecentChange | &$rc |
Definition at line 913 of file ChangesList.php.
MediaWiki\RecentChanges\ChangesList::insertTags | ( | & | $s, |
& | $rc, | ||
& | $classes ) |
string | &$s | |
RecentChange | &$rc | |
string[] | &$classes |
Definition at line 978 of file ChangesList.php.
MediaWiki\RecentChanges\ChangesList::insertTimestamp | ( | & | $s, |
$rc ) |
Insert time timestamp string from $rc into $s.
string | &$s | HTML to update |
RecentChange | $rc |
Definition at line 735 of file ChangesList.php.
References getTimestamp().
MediaWiki\RecentChanges\ChangesList::insertUserRelatedLinks | ( | & | $s, |
& | $rc ) |
Insert links to user page, user talk page and eventually a blocking link.
string | &$s | HTML to update |
RecentChange | &$rc |
Definition at line 745 of file ChangesList.php.
|
protected |
Determines whether a revision is linked to this change; this may not be the case when the categorization wasn't done by an edit but a conditional parser function.
RecentChange | RCCacheEntry | $rcObj |
Definition at line 1058 of file ChangesList.php.
References RC_CATEGORIZE.
Referenced by MediaWiki\RecentChanges\EnhancedChangesList\getLineData(), and MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockLine().
|
static |
Determine if said field of a revision is hidden.
RCCacheEntry | RecentChange | $rc | |
int | $field | One of DELETED_* bitfield constants |
Definition at line 871 of file ChangesList.php.
Referenced by MediaWiki\RecentChanges\RCCacheEntryFactory\newFromRecentChange().
|
static |
stdClass | RecentChange | $rc | Database row from recentchanges or a RecentChange object |
User | $user |
Definition at line 1029 of file ChangesList.php.
References RC_NEW, MediaWiki\User\User\useFilePatrol(), MediaWiki\User\User\useNPPatrol(), and MediaWiki\User\User\useRCPatrol().
Referenced by MediaWiki\RecentChanges\RCCacheEntryFactory\newFromRecentChange().
MediaWiki\RecentChanges\ChangesList::isWatchlist | ( | ) |
Definition at line 224 of file ChangesList.php.
References MediaWiki\RecentChanges\ChangesList\$watchlist.
|
protected |
string | $link | |
bool | $watched |
Definition at line 899 of file ChangesList.php.
Referenced by MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockGroup().
|
static |
Fetch an appropriate changes list class for the specified context Some users might want to use an enhanced list format, for instance.
IContextSource | $context | |
array | $groups | Array of ChangesListFilterGroup objects (currently optional) |
Definition at line 152 of file ChangesList.php.
References MediaWiki\User\Options\UserOptionsLookup\getBoolOption(), MediaWiki\MediaWikiServices\getInstance(), MediaWiki\Context\IContextSource\getRequest(), MediaWiki\Context\IContextSource\getSkin(), and MediaWiki\Context\IContextSource\getUser().
|
protected |
Returns the string which indicates the number of watching users.
int | $count | Number of user watching a page |
Definition at line 846 of file ChangesList.php.
Referenced by MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockGroup(), and MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockLine().
MediaWiki\RecentChanges\ChangesList::recentChangesFlags | ( | $flags, | |
$nothing = "\u{00A0}" ) |
Returns the appropriate flags for new page, minor change and patrolling.
array | $flags | Associative array of 'flag' => Bool |
string | $nothing | To use for empty space |
Definition at line 251 of file ChangesList.php.
References MediaWiki\RecentChanges\ChangesList\flag(), MediaWiki\Context\ContextSource\getConfig(), MediaWiki\Context\ContextSource\getContext(), and MediaWiki\MainConfigNames\RecentChangesFlags.
Referenced by MediaWiki\RecentChanges\EnhancedChangesList\getLineData(), MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockGroup(), and MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockLine().
MediaWiki\RecentChanges\ChangesList::recentChangesLine | ( | & | $rc, |
$watched = false, | |||
$linenumber = null ) |
Format a line.
RecentChange | &$rc | Passed by reference |
bool | $watched | (default false) |
int | null | $linenumber | (default null) |
Reimplemented in MediaWiki\RecentChanges\EnhancedChangesList, and MediaWiki\RecentChanges\OldChangesList.
Definition at line 183 of file ChangesList.php.
|
static |
Render the date and time of a revision in the current user language based on whether the user is able to view this information or not.
RevisionRecord | $rev | |
Authority | $performer | |
Language | $lang | |
Title | null | $title | (optional) where Title does not match the Title associated with the RevisionRecord |
string | $className | (optional) to append to .mw-changelist-date element for access to the associated timestamp string. |
Definition at line 504 of file ChangesList.php.
References MediaWiki\Html\element(), MediaWiki\Language\Language\getDir(), MediaWiki\Revision\RevisionRecord\getId(), MediaWiki\MediaWikiServices\getInstance(), MediaWiki\Revision\RevisionRecord\getPageAsLinkTarget(), MediaWiki\Revision\RevisionRecord\getTimestamp(), MediaWiki\Permissions\Authority\getUser(), MediaWiki\Revision\RevisionRecord\isDeleted(), MediaWiki\Revision\RevisionRecord\userCan(), MediaWiki\Language\Language\userTime(), and MediaWiki\Language\Language\userTimeAndDate().
MediaWiki\RecentChanges\ChangesList::setChangeLinePrefixer | ( | callable | $prefixer | ) |
Sets the callable that generates a change line prefix added to the beginning of each line.
callable | $prefixer | Callable to run that generates the change line prefix. Takes three parameters: a RecentChange object, a ChangesList object, and whether the current entry is a grouped entry. |
Definition at line 1097 of file ChangesList.php.
MediaWiki\RecentChanges\ChangesList::setWatchlistDivs | ( | $value = true | ) |
Sets the list to use a "<li class='watchlist-(namespace)-(page)'>" tag.
bool | $value |
Definition at line 216 of file ChangesList.php.
|
protected |
Definition at line 1020 of file ChangesList.php.
|
static |
Show formatted char difference.
Needs the css module 'mediawiki.special.changeslist' to style output
int | $old | Number of bytes |
int | $new | Number of bytes |
IContextSource | null | $context |
Definition at line 410 of file ChangesList.php.
References MediaWiki\Html\element(), MediaWiki\MainConfigNames\MiserMode, and MediaWiki\MainConfigNames\RCChangedSizeThreshold.
Referenced by MediaWiki\RecentChanges\ChangesList\formatCharacterDifference().
|
static |
Determine if the current user is allowed to view a particular field of this revision, if it's marked as deleted.
RCCacheEntry | RecentChange | $rc | |
int | $field | |
Authority | null | $performer | to check permissions against. If null, the global RequestContext's User is assumed instead. |
Definition at line 884 of file ChangesList.php.
References RC_LOG.
Referenced by MediaWiki\RecentChanges\EnhancedChangesList\getLineData(), and MediaWiki\RecentChanges\RCCacheEntryFactory\newFromRecentChange().
|
protected |
Definition at line 86 of file ChangesList.php.
Referenced by MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockGroup(), and MediaWiki\RecentChanges\EnhancedChangesList\recentChangesBlockLine().
|
protected |
Definition at line 99 of file ChangesList.php.
|
protected |
Definition at line 109 of file ChangesList.php.
Referenced by MediaWiki\RecentChanges\ChangesList\__construct(), and MediaWiki\RecentChanges\EnhancedChangesList\__construct().
|
protected |
Comments indexed by rc_id.
Definition at line 104 of file ChangesList.php.
|
protected |
Definition at line 73 of file ChangesList.php.
|
protected |
Definition at line 94 of file ChangesList.php.
|
protected |
Definition at line 75 of file ChangesList.php.
|
protected |
Definition at line 77 of file ChangesList.php.
|
protected |
Definition at line 79 of file ChangesList.php.
|
protected |
Definition at line 81 of file ChangesList.php.
|
protected |
Definition at line 83 of file ChangesList.php.
|
protected |
Definition at line 114 of file ChangesList.php.
|
protected |
Definition at line 119 of file ChangesList.php.
|
protected |
Definition at line 123 of file ChangesList.php.
|
protected |
Definition at line 71 of file ChangesList.php.
Referenced by MediaWiki\RecentChanges\ChangesList\isWatchlist().
|
protected |
Definition at line 89 of file ChangesList.php.
const MediaWiki\RecentChanges\ChangesList::CSS_CLASS_PREFIX = 'mw-changeslist-' |
Definition at line 68 of file ChangesList.php.
Referenced by MediaWiki\RecentChanges\ChangesListFilter\getCssClass().