MediaWiki master
MediaWiki\Actions\WatchAction Class Reference

Page addition to a user's watchlist. More...

Inherits MediaWiki\Actions\FormAction.

Inherited by MediaWiki\Actions\UnwatchAction.

Collaboration diagram for MediaWiki\Actions\WatchAction:

Public Member Functions

 __construct (Article $article, IContextSource $context, WatchlistManager $watchlistManager, WatchedItemStoreInterface $watchedItemStore, UserOptionsLookup $userOptionsLookup)
 Only public since 1.21.
 
 doesWrites ()
 
Stability: stable
to override
Returns
bool

 
 getName ()
 Return the name of the action this object responds to.
Since
1.17
Returns
string Lowercase name

 
 getRestriction ()
 Get the permission required to perform this action.Often, but not always, the same as the action nameImplementations of this methods must always return the same value, regardless of parameters passed to the constructor or system state.
Since
1.17
Stability: stable
to override
Returns
string|null

 
 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

 
 onSuccess ()
 Show one of 8 possible success messages.
 
 requiresUnblock ()
 Whether this action can still be executed by a blocked user.Implementations of this methods must always return the same value, regardless of parameters passed to the constructor or system state.
Since
1.17
Stability: stable
to override
Returns
bool

 
- Public Member Functions inherited from MediaWiki\Actions\FormAction
 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 MediaWiki\Actions\Action
 __construct (Article $article, IContextSource $context)
 Only public since 1.21.
 
 addHelpLink ( $to, $overrideBaseUrl=false)
 Adds help link with an icon via page indicators.
 
 getArticle ()
 Get a Article object.
 
 getAuthority ()
 Shortcut to get the Authority executing this instance.
 
 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.
 
 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.
 
 getWikiPage ()
 Get a WikiPage object.
 
 msg ( $key,... $params)
 Get a Message object with context set Parameters are the same as wfMessage()
 
 needsReadRights ()
 Indicates whether this action requires read rights.
 
 requiresWrite ()
 Indicates whether this action page write access to the wiki.
 
 setHookContainer (HookContainer $hookContainer)
 

Static Public Member Functions

static getExpiryOptions (MessageLocalizer $msgLocalizer, $watchedItem, string $defaultExpiry='infinite')
 Get options and default for a watchlist expiry select list.
 
static getExpiryOptionsFromMessage (MessageLocalizer $msgLocalizer, ?string $lang=null)
 Parse expiry options message.
 
- Static Public Member Functions inherited from MediaWiki\Actions\Action
static factory (string $action, Article $article, ?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.
 

Protected Member Functions

 alterForm (HTMLForm $form)
 Play with the HTMLForm if you need to more substantially.
 
 checkCanExecute (User $user)
 
 getDescription ()
 Returns the description that goes below the <h1> element.
Since
1.17
Stability: stable
to override
Returns
string HTML

 
 getFormFields ()
 Get an HTMLForm descriptor array.
Stability: stable
to override
Returns
array

 
 makeSuccessMessage (string $submittedExpiry)
 
 usesOOUI ()
 Whether the form should use OOUI.
Stability: stable
to override
Returns
bool

 
- Protected Member Functions inherited from MediaWiki\Actions\FormAction
 getForm ()
 Get the HTMLForm to control behavior.
 
 postText ()
 
 preText ()
 Add pre- or post-text to the form.
 
- Protected Member Functions inherited from MediaWiki\Actions\Action
 getHookContainer ()
 
 getHookRunner ()
 
 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

string $expiryFormFieldName = 'expiry'
 
false WatchedItem $watchedItem = false
 
bool $watchlistExpiry
 The value of the $wgWatchlistExpiry configuration variable.
 
- Protected Attributes inherited from MediaWiki\Actions\Action
IContextSource null $context
 IContextSource if specified; otherwise we'll use the Context from the Page.
 
array $fields
 The fields used to create the HTMLForm.
 

Detailed Description

Page addition to a user's watchlist.

Definition at line 36 of file WatchAction.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Actions\WatchAction::__construct ( Article $article,
IContextSource $context,
WatchlistManager $watchlistManager,
WatchedItemStoreInterface $watchedItemStore,
UserOptionsLookup $userOptionsLookup )

Only public since 1.21.

Parameters
Article$article
IContextSource$context
WatchlistManager$watchlistManager
WatchedItemStoreInterface$watchedItemStore
UserOptionsLookup$userOptionsLookup

Definition at line 59 of file WatchAction.php.

References MediaWiki\Actions\Action\$context, MediaWiki\Actions\Action\getContext(), MediaWiki\Actions\Action\getTitle(), MediaWiki\Actions\Action\getUser(), MediaWiki\Watchlist\WatchedItemStoreInterface\getWatchedItem(), and MediaWiki\MainConfigNames\WatchlistExpiry.

Member Function Documentation

◆ alterForm()

MediaWiki\Actions\WatchAction::alterForm ( HTMLForm $form)
protected

Play with the HTMLForm if you need to more substantially.

Stability: stable
to override
Parameters
HTMLForm$form

Reimplemented from MediaWiki\Actions\FormAction.

Reimplemented in MediaWiki\Actions\UnwatchAction.

Definition at line 234 of file WatchAction.php.

References MediaWiki\HTMLForm\HTMLForm\setSubmitTextMsg(), MediaWiki\HTMLForm\HTMLForm\setTokenSalt(), and MediaWiki\HTMLForm\HTMLForm\setWrapperLegendMsg().

◆ checkCanExecute()

MediaWiki\Actions\WatchAction::checkCanExecute ( User $user)
protected
Exceptions
UserNotLoggedIn
PermissionsError
ReadOnlyError
UserBlockedError

Reimplemented from MediaWiki\Actions\Action.

Definition at line 114 of file WatchAction.php.

References MediaWiki\User\User\isAllowed(), MediaWiki\User\User\isRegistered(), and MediaWiki\User\User\isTemp().

◆ doesWrites()

MediaWiki\Actions\WatchAction::doesWrites ( )

Stability: stable
to override
Returns
bool

Reimplemented from MediaWiki\Actions\FormAction.

Reimplemented in MediaWiki\Actions\UnwatchAction.

Definition at line 291 of file WatchAction.php.

◆ getDescription()

MediaWiki\Actions\WatchAction::getDescription ( )
protected

Returns the description that goes below the <h1> element.

Since
1.17
Stability: stable
to override
Returns
string HTML

Reimplemented from MediaWiki\Actions\Action.

Definition at line 90 of file WatchAction.php.

◆ getExpiryOptions()

static MediaWiki\Actions\WatchAction::getExpiryOptions ( MessageLocalizer $msgLocalizer,
$watchedItem,
string $defaultExpiry = 'infinite' )
static

Get options and default for a watchlist expiry select list.

If an expiry time is provided, it will be added to the top of the list as 'x days left'.

Since
1.35
Todo
Move this somewhere better when it's being used in more than just this action.
Parameters
MessageLocalizer$msgLocalizer
WatchedItem | false$watchedItem
string$defaultExpiryThe default expiry time to use if $watchedItem isn't already on a watchlist.
Returns
mixed[] With keys options (string[]) and default (string).

Definition at line 173 of file WatchAction.php.

References MediaWiki\Actions\WatchAction\$watchedItem, MediaWiki\Watchlist\WatchedItem\getExpiry(), MediaWiki\Watchlist\WatchedItem\getExpiryInDaysText(), and MediaWiki\Actions\WatchAction\getExpiryOptionsFromMessage().

◆ getExpiryOptionsFromMessage()

static MediaWiki\Actions\WatchAction::getExpiryOptionsFromMessage ( MessageLocalizer $msgLocalizer,
?string $lang = null )
static

Parse expiry options message.

Fallback to english options if translated options are invalid or broken

Parameters
MessageLocalizer$msgLocalizer
string | null$lang
Returns
string[]
Since
1.45 Method is public

Definition at line 209 of file WatchAction.php.

Referenced by MediaWiki\Actions\WatchAction\getExpiryOptions().

◆ getFormFields()

MediaWiki\Actions\WatchAction::getFormFields ( )
protected

Get an HTMLForm descriptor array.

Stability: stable
to override
Returns
array

Reimplemented from MediaWiki\Actions\FormAction.

Reimplemented in MediaWiki\Actions\UnwatchAction.

Definition at line 135 of file WatchAction.php.

References MediaWiki\Actions\Action\getContext(), MediaWiki\Actions\Action\getUser(), and MediaWiki\Actions\Action\msg().

◆ getName()

MediaWiki\Actions\WatchAction::getName ( )

Return the name of the action this object responds to.

Since
1.17
Returns
string Lowercase name

Reimplemented from MediaWiki\Actions\Action.

Reimplemented in MediaWiki\Actions\UnwatchAction.

Definition at line 80 of file WatchAction.php.

◆ getRestriction()

MediaWiki\Actions\WatchAction::getRestriction ( )

Get the permission required to perform this action.Often, but not always, the same as the action nameImplementations of this methods must always return the same value, regardless of parameters passed to the constructor or system state.

Since
1.17
Stability: stable
to override
Returns
string|null

Reimplemented from MediaWiki\Actions\Action.

Definition at line 125 of file WatchAction.php.

◆ makeSuccessMessage()

MediaWiki\Actions\WatchAction::makeSuccessMessage ( string $submittedExpiry)
protected

◆ onSubmit()

MediaWiki\Actions\WatchAction::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 MediaWiki\Actions\FormAction.

Reimplemented in MediaWiki\Actions\UnwatchAction.

Definition at line 95 of file WatchAction.php.

References MediaWiki\Actions\Action\getAuthority(), MediaWiki\Actions\Action\getRequest(), and MediaWiki\Actions\Action\getTitle().

◆ onSuccess()

MediaWiki\Actions\WatchAction::onSuccess ( )

Show one of 8 possible success messages.

The messages are:

  1. addedwatchtext
  2. addedwatchtext-talk
  3. addedwatchindefinitelytext
  4. addedwatchindefinitelytext-talk
  5. addedwatchexpirytext
  6. addedwatchexpirytext-talk
  7. addedwatchexpiryhours
  8. addedwatchexpiryhours-talk

Reimplemented from MediaWiki\Actions\FormAction.

Reimplemented in MediaWiki\Actions\UnwatchAction.

Definition at line 254 of file WatchAction.php.

◆ requiresUnblock()

MediaWiki\Actions\WatchAction::requiresUnblock ( )

Whether this action can still be executed by a blocked user.Implementations of this methods must always return the same value, regardless of parameters passed to the constructor or system state.

Since
1.17
Stability: stable
to override
Returns
bool

Reimplemented from MediaWiki\Actions\Action.

Definition at line 85 of file WatchAction.php.

◆ usesOOUI()

MediaWiki\Actions\WatchAction::usesOOUI ( )
protected

Whether the form should use OOUI.

Stability: stable
to override
Returns
bool

Reimplemented from MediaWiki\Actions\FormAction.

Definition at line 130 of file WatchAction.php.

Member Data Documentation

◆ $expiryFormFieldName

string MediaWiki\Actions\WatchAction::$expiryFormFieldName = 'expiry'
protected

Definition at line 42 of file WatchAction.php.

◆ $watchedItem

false WatchedItem MediaWiki\Actions\WatchAction::$watchedItem = false
protected

Definition at line 45 of file WatchAction.php.

Referenced by MediaWiki\Actions\WatchAction\getExpiryOptions().

◆ $watchlistExpiry

bool MediaWiki\Actions\WatchAction::$watchlistExpiry
protected

The value of the $wgWatchlistExpiry configuration variable.

Definition at line 39 of file WatchAction.php.


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