MediaWiki REL1_32
McrUndoAction Class Reference

Temporary action for MCR undos. More...

Inheritance diagram for McrUndoAction:
Collaboration diagram for McrUndoAction:

Public Member Functions

 getDescription ()
 Returns the description that goes below the \<h1\> tag.
 
 getName ()
 Return the name of the action this object responds to.
 
 onSubmit ( $data)
 Process the form on POST submission.
 
 onSuccess ()
 Do something exciting on successful processing of the form.
 
 show ()
 The basic pattern for actions is to display some sort of HTMLForm UI, maybe with some stuff underneath (history etc); to do some processing on submission of that form (delete, protect, etc) and to do something exciting on 'success', be that display something new or redirect to somewhere.
 
- Public Member Functions inherited from FormAction
 doesWrites ()
 Indicates whether this action may perform database writes.
 
- Public Member Functions inherited from Action
 __construct (Page $page, IContextSource $context=null)
 Only public since 1.21.
 
 addHelpLink ( $to, $overrideBaseUrl=false)
 Adds help link with an icon via page indicators.
 
 getContext ()
 Get the IContextSource in use here.
 
 getLanguage ()
 Shortcut to get the user Language being used for this instance.
 
 getOutput ()
 Get the OutputPage being used for this instance.
 
 getRequest ()
 Get the WebRequest being used for this instance.
 
 getRestriction ()
 Get the permission required to perform this action.
 
 getSkin ()
 Shortcut to get the Skin being used for this instance.
 
 getTitle ()
 Shortcut to get the Title object from the page.
 
 getUser ()
 Shortcut to get the User being used for this instance.
 
 msg ( $key)
 Get a Message object with context set Parameters are the same as wfMessage()
 
 requiresUnblock ()
 Whether this action can still be executed by a blocked user.
 
 requiresWrite ()
 Whether this action requires the wiki not to be locked.
 

Protected Member Functions

 addStatePropagationFields (HTMLForm $form)
 
 alterForm (HTMLForm $form)
 Play with the HTMLForm if you need to more substantially.
 
 checkCanExecute (User $user)
 Checks if the given user (identified by an object) can perform this action.
 
 getFormFields ()
 Get an HTMLForm descriptor array.
 
 initFromParameters ()
 
 preText ()
 Add pre- or post-text to the form.
 
 usesOOUI ()
 Whether the form should use OOUI.
 
- Protected Member Functions inherited from FormAction
 getForm ()
 Get the HTMLForm to control behavior.
 
 postText ()
 
- Protected Member Functions inherited from Action
 getPageTitle ()
 Returns the name that goes in the \<h1\> page title.
 
 setHeaders ()
 Set output headers for noindexing etc.
 
 useTransactionalTimeLimit ()
 Call wfTransactionalTimeLimit() if this request was POSTed.
 

Protected Attributes

 $cur = 0
 
 $curRev = null
 
 $undo = 0
 
 $undoafter = 0
 
- Protected Attributes inherited from Action
 $context
 IContextSource if specified; otherwise we'll use the Context from the Page.
 
 $fields
 The fields used to create the HTMLForm.
 
 $page
 Page on which we're performing the action.
 

Private Member Functions

 generateDiffOrPreview ()
 
 getNewRevision ()
 
 showPreview (RevisionRecord $rev)
 

Additional Inherited Members

- Static Public Member Functions inherited from Action
static exists ( $name)
 Check if a given action is recognised, even if it's disabled.
 
static factory ( $action, Page $page, IContextSource $context=null)
 Get an appropriate Action subclass for the given action.
 
static getActionName (IContextSource $context)
 Get the action that will be executed, not necessarily the one passed passed through the "action" request parameter.
 

Detailed Description

Temporary action for MCR undos.

This is intended to go away when real MCR support is added to EditPage and the standard undo-with-edit behavior can be implemented there instead.

If this were going to be kept, we'd probably want to figure out a good way to reuse the same code for generating the headers, summary box, and buttons on EditPage and here, and to better share the diffing and preview logic between the two. But doing that now would require much of the rewriting of EditPage that we're trying to put off by doing this instead.

Since
1.32
Deprecated
since 1.32

Definition at line 29 of file McrUndoAction.php.

Member Function Documentation

◆ addStatePropagationFields()

McrUndoAction::addStatePropagationFields ( HTMLForm $form)
protected

Reimplemented in McrRestoreAction.

Definition at line 422 of file McrUndoAction.php.

References HTMLForm\addHiddenField(), and undo.

Referenced by alterForm().

◆ alterForm()

McrUndoAction::alterForm ( HTMLForm $form)
protected

Play with the HTMLForm if you need to more substantially.

Parameters
HTMLForm$form

Reimplemented from FormAction.

Reimplemented in McrRestoreAction.

Definition at line 395 of file McrUndoAction.php.

References HTMLForm\addButton(), addStatePropagationFields(), Action\getTitle(), and Linker\tooltipAndAccesskeyAttribs().

◆ checkCanExecute()

McrUndoAction::checkCanExecute ( User $user)
protected

Checks if the given user (identified by an object) can perform this action.

Can be overridden by sub-classes with more complicated permissions schemes. Failures here must throw subclasses of ErrorPageError

Since
1.17
Parameters
User$userThe user to check, or null to use the context user
Exceptions
UserBlockedError|ReadOnlyError|PermissionsError

Reimplemented from Action.

Definition at line 109 of file McrUndoAction.php.

References initFromParameters(), and undo.

◆ generateDiffOrPreview()

McrUndoAction::generateDiffOrPreview ( )
private

Definition at line 226 of file McrUndoAction.php.

References $newRev, getNewRevision(), Action\getRequest(), and showPreview().

Referenced by getFormFields().

◆ getDescription()

McrUndoAction::getDescription ( )

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

Since
1.17
Returns
string HTML

Reimplemented from Action.

Reimplemented in McrRestoreAction.

Definition at line 40 of file McrUndoAction.php.

◆ getFormFields()

McrUndoAction::getFormFields ( )
protected

Get an HTMLForm descriptor array.

Returns
array

Reimplemented from FormAction.

Definition at line 353 of file McrUndoAction.php.

References $request, $ret, Linker\commentBlock(), generateDiffOrPreview(), Action\getRequest(), and MIGRATION_OLD.

◆ getName()

McrUndoAction::getName ( )

Return the name of the action this object responds to.

Since
1.17
Returns
string Lowercase name

Reimplemented from Action.

Reimplemented in McrRestoreAction.

Definition at line 36 of file McrUndoAction.php.

◆ getNewRevision()

McrUndoAction::getNewRevision ( )
private
Returns
MutableRevisionRecord

Definition at line 132 of file McrUndoAction.php.

References $curRev, $newRev, and undo.

Referenced by generateDiffOrPreview(), and onSubmit().

◆ initFromParameters()

McrUndoAction::initFromParameters ( )
protected

Reimplemented in McrRestoreAction.

Definition at line 93 of file McrUndoAction.php.

References $curRev, Action\getRequest(), and undo.

Referenced by checkCanExecute().

◆ onSubmit()

McrUndoAction::onSubmit ( $data)

Process the form on POST submission.

If you don't want to do anything with the form, just return false here.

This method will be passed to the HTMLForm as a submit callback (see HTMLForm::setSubmitCallback) and must return as documented for HTMLForm::trySubmit.

See also
HTMLForm::setSubmitCallback()
HTMLForm::trySubmit()
Parameters
array$data
Returns
bool|string|array|Status Must return as documented for HTMLForm::trySubmit

Reimplemented from FormAction.

Definition at line 298 of file McrUndoAction.php.

References $curRev, $newRev, $wgUseRCPatrol, EDIT_AUTOSUMMARY, EDIT_UPDATE, getNewRevision(), Action\getRequest(), Action\getTitle(), Action\getUser(), and undo.

◆ onSuccess()

McrUndoAction::onSuccess ( )

Do something exciting on successful processing of the form.

This might be to show a confirmation message (watch, rollback, etc) or to redirect somewhere else (edit, protect, etc).

Reimplemented from FormAction.

Definition at line 428 of file McrUndoAction.php.

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

◆ preText()

McrUndoAction::preText ( )
protected

Add pre- or post-text to the form.

Returns
string HTML which will be sent to $form->addPreText()

Reimplemented from FormAction.

Definition at line 432 of file McrUndoAction.php.

◆ show()

McrUndoAction::show ( )

The basic pattern for actions is to display some sort of HTMLForm UI, maybe with some stuff underneath (history etc); to do some processing on submission of that form (delete, protect, etc) and to do something exciting on 'success', be that display something new or redirect to somewhere.

Some actions have more exotic behavior, but that's what subclassing is for :D

Reimplemented from FormAction.

Definition at line 44 of file McrUndoAction.php.

References $out, Action\getContext(), Action\getOutput(), Action\getRequest(), Action\getTitle(), Action\useTransactionalTimeLimit(), wfReadOnly(), and wfReadOnlyReason().

◆ showPreview()

McrUndoAction::showPreview ( RevisionRecord $rev)
private

Definition at line 248 of file McrUndoAction.php.

References $attribs, $out, $rev, Action\getOutput(), and Action\getTitle().

Referenced by generateDiffOrPreview().

◆ usesOOUI()

McrUndoAction::usesOOUI ( )
protected

Whether the form should use OOUI.

Returns
bool

Reimplemented from FormAction.

Definition at line 349 of file McrUndoAction.php.

Member Data Documentation

◆ $cur

McrUndoAction::$cur = 0
protected

Definition at line 31 of file McrUndoAction.php.

Referenced by McrRestoreAction\initFromParameters().

◆ $curRev

McrUndoAction::$curRev = null
protected
Parameters
RevisionRecord|null

Definition at line 34 of file McrUndoAction.php.

Referenced by getNewRevision(), McrRestoreAction\initFromParameters(), initFromParameters(), and onSubmit().

◆ $undo

McrUndoAction::$undo = 0
protected

Definition at line 31 of file McrUndoAction.php.

◆ $undoafter

McrUndoAction::$undoafter = 0
protected

Definition at line 31 of file McrUndoAction.php.


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