/**
* Page on which we're performing the action
+ * @since 1.17
* @var WikiPage|Article|ImagePage|CategoryPage|Page $page
*/
protected $page;
/**
* IContextSource if specified; otherwise we'll use the Context from the Page
+ * @since 1.17
* @var IContextSource $context
*/
protected $context;
/**
* The fields used to create the HTMLForm
+ * @since 1.17
* @var array $fields
*/
protected $fields;
/**
* Get an appropriate Action subclass for the given action
+ * @since 1.17
* @param string $action
* @param Page $page
* @param IContextSource $context
/**
* Check if a given action is recognised, even if it's disabled
+ * @since 1.17
*
* @param string $name Name of an action
* @return bool
/**
* Get the IContextSource in use here
+ * @since 1.17
* @return IContextSource
*/
final public function getContext() {
/**
* Get the WebRequest being used for this instance
+ * @since 1.17
*
* @return WebRequest
*/
/**
* Get the OutputPage being used for this instance
+ * @since 1.17
*
* @return OutputPage
*/
/**
* Shortcut to get the User being used for this instance
+ * @since 1.17
*
* @return User
*/
/**
* Shortcut to get the Skin being used for this instance
+ * @since 1.17
*
* @return Skin
*/
/**
* Shortcut to get the Title object from the page
+ * @since 1.17
+ *
* @return Title
*/
final public function getTitle() {
/**
* Return the name of the action this object responds to
+ * @since 1.17
+ *
* @return string Lowercase name
*/
abstract public function getName();
/**
* Get the permission required to perform this action. Often, but not always,
* the same as the action name
+ * @since 1.17
+ *
* @return string|null
*/
public function getRestriction() {
* 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
*
* @param User $user The user to check, or null to use the context user
* @throws UserBlockedError|ReadOnlyError|PermissionsError
/**
* Whether this action requires the wiki not to be locked
+ * @since 1.17
+ *
* @return bool
*/
public function requiresWrite() {
/**
* Whether this action can still be executed by a blocked user
+ * @since 1.17
+ *
* @return bool
*/
public function requiresUnblock() {
/**
* Set output headers for noindexing etc. This function will not be called through
* the execute() entry point, so only put UI-related stuff in here.
+ * @since 1.17
*/
protected function setHeaders() {
$out = $this->getOutput();
/**
* Returns the description that goes below the \<h1\> tag
+ * @since 1.17
*
* @return string
*/
* The main action entry point. Do all output for display and send it to the context
* output. Do not use globals $wgOut, $wgRequest, etc, in implementations; use
* $this->getOutput(), etc.
+ * @since 1.17
+ *
* @throws ErrorPageError
*/
abstract public function show();