MediaWiki  master
HistoryAction Class Reference

This class handles printing the history page for an article. More...

Inheritance diagram for HistoryAction:
Collaboration diagram for HistoryAction:

Public Member Functions

 getName ()
 Return the name of the action this object responds to. More...
 
 onView ()
 Print the history page for an article. More...
 
 requiresUnblock ()
 Whether this action can still be executed by a blocked user. More...
 
 requiresWrite ()
 Whether this action requires the wiki not to be locked. More...
 
- Public Member Functions inherited from FormlessAction
 show ()
 Stable to override. More...
 
- Public Member Functions inherited from Action
 __construct (Page $page, IContextSource $context=null)
 Only public since 1.21. More...
 
 addHelpLink ( $to, $overrideBaseUrl=false)
 Adds help link with an icon via page indicators. More...
 
 doesWrites ()
 Indicates whether this action may perform database writes. More...
 
 getArticle ()
 Get a Article object. More...
 
 getContext ()
 Get the IContextSource in use here. More...
 
 getLanguage ()
 Shortcut to get the user Language being used for this instance. More...
 
 getOutput ()
 Get the OutputPage being used for this instance. More...
 
 getRequest ()
 Get the WebRequest being used for this instance. More...
 
 getRestriction ()
 Get the permission required to perform this action. More...
 
 getSkin ()
 Shortcut to get the Skin being used for this instance. More...
 
 getTitle ()
 Shortcut to get the Title object from the page. More...
 
 getUser ()
 Shortcut to get the User being used for this instance. More...
 
 getWikiPage ()
 Get a WikiPage object. More...
 
 msg ( $key,... $params)
 Get a Message object with context set Parameters are the same as wfMessage() More...
 

Public Attributes

array $message
 Array of message keys and strings. More...
 

Protected Member Functions

 getDescription ()
 Returns the description that goes below the \<h1\> tag. More...
 
 getPageTitle ()
 Returns the name that goes in the \<h1\> page title. More...
 
- Protected Member Functions inherited from Action
 checkCanExecute (User $user)
 Checks if the given user (identified by an object) can perform this action. More...
 
 getHookContainer ()
 
 getHookRunner ()
 
 setHeaders ()
 Set output headers for noindexing etc. More...
 
 useTransactionalTimeLimit ()
 Call wfTransactionalTimeLimit() if this request was POSTed. More...
 

Private Member Functions

 feed ( $type)
 Output a subscription feed listing recent edits to this page. More...
 
 feedEmpty ()
 
 feedItem ( $row)
 Generate a FeedItem object from a given revision table row Borrows Recent Changes' feed generation functions for formatting; includes a diff to the previous revision (if any). More...
 
 fetchRevisions ( $limit, $offset, $direction)
 Fetch an array of revisions, specified by a given limit, offset and direction. More...
 
 getTimestampFromRequest (WebRequest $request)
 
 hasUnseenRevisionMarkers ()
 
 preCacheMessages ()
 As we use the same small set of messages in various methods and that they are called often, we call them once and save them in $this->message. More...
 

Private Attributes

const DIR_NEXT = 1
 
const DIR_PREV = 0
 

Additional Inherited Members

- Static Public Member Functions inherited from Action
static exists (string $name)
 Check if a given action is recognised, even if it's disabled. More...
 
static factory (?string $action, Page $article, IContextSource $context=null)
 Get an appropriate Action subclass for the given action. More...
 
static getActionName (IContextSource $context)
 Get the action that will be executed, not necessarily the one passed passed through the "action" request parameter. More...
 
- Protected Attributes inherited from Action
IContextSource $context
 IContextSource if specified; otherwise we'll use the Context from the Page. More...
 
array $fields
 The fields used to create the HTMLForm. More...
 
WikiPage Article ImagePage CategoryPage Page $page
 Page on which we're performing the action. More...
 

Detailed Description

This class handles printing the history page for an article.

In order to be efficient, it uses timestamps rather than offsets for paging, to avoid costly LIMIT,offset queries.

Construct it by passing in an Article, and call $h->history() to print the history.

Definition at line 38 of file HistoryAction.php.

Member Function Documentation

◆ feed()

HistoryAction::feed (   $type)
private

Output a subscription feed listing recent edits to this page.

Parameters
string$typeFeed type

Definition at line 375 of file HistoryAction.php.

References $type, FeedUtils\checkFeedOutput(), feedEmpty(), feedItem(), fetchRevisions(), Action\getRequest(), Action\getTitle(), and Action\msg().

Referenced by onView().

◆ feedEmpty()

HistoryAction::feedEmpty ( )
private

Definition at line 412 of file HistoryAction.php.

References Action\getTitle(), Action\msg(), and wfTimestamp().

Referenced by feed().

◆ feedItem()

HistoryAction::feedItem (   $row)
private

Generate a FeedItem object from a given revision table row Borrows Recent Changes' feed generation functions for formatting; includes a diff to the previous revision (if any).

Parameters
stdClass | array$rowDatabase row
Returns
FeedItem

Definition at line 431 of file HistoryAction.php.

References $title, FeedUtils\formatDiffRow(), Action\getTitle(), Action\msg(), and FeedItem\stripComment().

Referenced by feed().

◆ fetchRevisions()

HistoryAction::fetchRevisions (   $limit,
  $offset,
  $direction 
)
private

Fetch an array of revisions, specified by a given limit, offset and direction.

This is now only used by the feeds. It was previously used by the main UI but that's now handled by the pager.

Parameters
int$limitThe limit number of revisions to get
int$offset
int$directionEither self::DIR_PREV or self::DIR_NEXT
Returns
IResultWrapper

Definition at line 333 of file HistoryAction.php.

References $dbr, $dirs, $revQuery, DB_REPLICA, Action\exists(), Action\getTitle(), Action\getWikiPage(), and wfGetDB().

Referenced by feed().

◆ getDescription()

HistoryAction::getDescription ( )
protected

Returns the description that goes below the \<h1\> tag.

Since
1.17 Stable to override
Returns
string HTML

Reimplemented from Action.

Definition at line 61 of file HistoryAction.php.

References Action\getContext(), Action\getHookRunner(), Action\getLanguage(), Action\getTitle(), SpecialPage\getTitleFor(), Action\msg(), and Html\rawElement().

◆ getName()

HistoryAction::getName ( )

Return the name of the action this object responds to.

Since
1.17
Returns
string Lowercase name

Reimplemented from Action.

Definition at line 45 of file HistoryAction.php.

◆ getPageTitle()

HistoryAction::getPageTitle ( )
protected

Returns the name that goes in the \<h1\> page title.

Stable to override

Returns
string

Reimplemented from Action.

Definition at line 57 of file HistoryAction.php.

References Action\getTitle(), and Action\msg().

◆ getTimestampFromRequest()

HistoryAction::getTimestampFromRequest ( WebRequest  $request)
private
Parameters
WebRequest$request
Returns
string

Definition at line 103 of file HistoryAction.php.

References WebRequest\getInt(), MWTimestamp\getLocalInstance(), and WebRequest\getVal().

Referenced by onView().

◆ hasUnseenRevisionMarkers()

HistoryAction::hasUnseenRevisionMarkers ( )
private
Returns
bool Page is watched by and has unseen revision for the user

Definition at line 316 of file HistoryAction.php.

References Action\getContext(), Action\getTitle(), and Action\getUser().

Referenced by onView().

◆ onView()

◆ preCacheMessages()

HistoryAction::preCacheMessages ( )
private

As we use the same small set of messages in various methods and that they are called often, we call them once and save them in $this->message.

Definition at line 88 of file HistoryAction.php.

References Action\msg().

Referenced by onView().

◆ requiresUnblock()

HistoryAction::requiresUnblock ( )

Whether this action can still be executed by a blocked user.

Since
1.17 Stable to override
Returns
bool

Reimplemented from Action.

Definition at line 53 of file HistoryAction.php.

◆ requiresWrite()

HistoryAction::requiresWrite ( )

Whether this action requires the wiki not to be locked.

Since
1.17 Stable to override
Returns
bool

Reimplemented from Action.

Definition at line 49 of file HistoryAction.php.

Member Data Documentation

◆ $message

array HistoryAction::$message

Array of message keys and strings.

Definition at line 43 of file HistoryAction.php.

◆ DIR_NEXT

const HistoryAction::DIR_NEXT = 1
private

Definition at line 40 of file HistoryAction.php.

◆ DIR_PREV

const HistoryAction::DIR_PREV = 0
private

Definition at line 39 of file HistoryAction.php.


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