MediaWiki  REL1_24
SpecialBlock Class Reference

A special page that allows users with 'block' right to block users from editing pages and other actions. More...

Inheritance diagram for SpecialBlock:
Collaboration diagram for SpecialBlock:

List of all members.

Public Member Functions

 __construct ()
 onSubmit (array $data)
 Process the form on POST submission.
 onSuccess ()
 Do something exciting on successful processing of the form, most likely to show a confirmation message.

Static Public Member Functions

static canBlockEmail ($user)
 Can we do an email block?
static checkUnblockSelf ($user, User $performer)
 bug 15810: blocked admins should not be able to block/unblock others, and probably shouldn't be able to unblock themselves either.
static getSuggestedDurations ($lang=null)
 Get an array of suggested block durations from MediaWiki:Ipboptions.
static getTargetAndType ($par, WebRequest $request=null)
 Determine the target of the block, and the type of target.
static parseExpiryInput ($expiry)
 Convert a submitted expiry time, which may be relative ("2 weeks", etc) or absolute ("24 May 2034", etc), into an absolute timestamp we can put into the database.
static processForm (array $data, IContextSource $context)
 Given the form data, actually implement a block.
static processUIForm (array $data, HTMLForm $form)
 Submit callback for an HTMLForm object, will simply pass.
static validateTarget ($value, User $user)
 Validate a block target.
static validateTargetField ($value, $alldata, $form)
 HTMLForm field validation-callback for Target field.

Protected Member Functions

 alterForm (HTMLForm $form)
 Customizes the HTMLForm a bit.
 checkExecutePermissions (User $user)
 Checks that the user can unblock themselves if they are trying to do so.
 getFormFields ()
 Get the HTMLForm descriptor array for the block form.
 getGroupName ()
 Under which header this special page is listed in Special:SpecialPages See messages 'specialpages-group-*' for valid names This method defaults to group 'other'.
 maybeAlterFormDefaults (&$fields)
 If the user has already been blocked with similar settings, load that block and change the defaults for the form fields to match the existing settings.
 postText ()
 Add footer elements to the form.
 preText ()
 Add header elements like block log entries, etc.
 setParameter ($par)
 Handle some magic here.

Static Protected Member Functions

static blockLogFlags (array $data, $type)
 Return a comma-delimited list of "flags" to be passed to the log reader for this block, to provide more information in the logs.
static getTargetUserTitle ($target)
 Get a user page target for things like logs.

Protected Attributes

bool $alreadyBlocked
 *
array $preErrors = array()
 *
User string $previousTarget
 The previous block target *.
bool $requestedHideUser
 Whether the previous submission of the form asked for HideUser *.
 $target
int $type
 Block::TYPE_ constant *.

Detailed Description

A special page that allows users with 'block' right to block users from editing pages and other actions.

Definition at line 30 of file SpecialBlock.php.


Constructor & Destructor Documentation

Definition at line 45 of file SpecialBlock.php.


Member Function Documentation

SpecialBlock::alterForm ( HTMLForm form) [protected]

Customizes the HTMLForm a bit.

Parameters:
HTMLForm$form

Reimplemented from FormSpecialPage.

Definition at line 92 of file SpecialBlock.php.

static SpecialBlock::blockLogFlags ( array data,
type 
) [static, protected]

Return a comma-delimited list of "flags" to be passed to the log reader for this block, to provide more information in the logs.

Parameters:
array$dataFrom HTMLForm data
int$typeBlock::TYPE_ constant (USER, RANGE, or IP)
Returns:
string

Definition at line 910 of file SpecialBlock.php.

static SpecialBlock::canBlockEmail ( user) [static]

Can we do an email block?

Parameters:
User$userThe sysop wanting to make a block
Returns:
bool

Definition at line 862 of file SpecialBlock.php.

Referenced by ApiBlock\execute().

Checks that the user can unblock themselves if they are trying to do so.

Parameters:
User$user
Exceptions:
ErrorPageError

Reimplemented from FormSpecialPage.

Definition at line 55 of file SpecialBlock.php.

static SpecialBlock::checkUnblockSelf ( user,
User performer 
) [static]

bug 15810: blocked admins should not be able to block/unblock others, and probably shouldn't be able to unblock themselves either.

Parameters:
User | int | string$user
User$performerUser doing the request
Returns:
bool|string True or error message key

Definition at line 876 of file SpecialBlock.php.

Referenced by ApiUnblock\execute(), ApiBlock\execute(), and SpecialUnblock\processUnblock().

SpecialBlock::getFormFields ( ) [protected]

Get the HTMLForm descriptor array for the block form.

Returns:
array

Reimplemented from FormSpecialPage.

Definition at line 117 of file SpecialBlock.php.

References array(), getSuggestedDurations(), SpecialPage\getUser(), global, User\isAllowed(), User\isLoggedIn(), maybeAlterFormDefaults(), SpecialPage\msg(), text, and wfRunHooks().

SpecialBlock::getGroupName ( ) [protected]

Under which header this special page is listed in Special:SpecialPages See messages 'specialpages-group-*' for valid names This method defaults to group 'other'.

Returns:
string
Since:
1.21

Reimplemented from SpecialPage.

Definition at line 970 of file SpecialBlock.php.

static SpecialBlock::getSuggestedDurations ( lang = null) [static]

Get an array of suggested block durations from MediaWiki:Ipboptions.

Todo:
FIXME: This uses a rather odd syntax for the options, should it be converted to the standard "**<duration>|<displayname>" format?
Parameters:
Language | null$langThe language to get the durations in, or null to use the wiki's content language
Returns:
array

Definition at line 808 of file SpecialBlock.php.

Referenced by getFormFields().

static SpecialBlock::getTargetAndType ( par,
WebRequest request = null 
) [static]

Determine the target of the block, and the type of target.

Todo:
Should be in Block.php?
Parameters:
string$parSubpage parameter passed to setup, or data value from the HTMLForm
WebRequest$requestOptionally try and get data from a request too
Returns:
array( User|string|null, Block::TYPE_ constant|null )

Definition at line 457 of file SpecialBlock.php.

Referenced by SpecialUnblock\execute(), ApiBlock\execute(), and SpecialUnblock\processUnblock().

static SpecialBlock::getTargetUserTitle ( target) [static, protected]

Get a user page target for things like logs.

This handles account and IP range targets.

Parameters:
User | string$target
Returns:
Title|null

Definition at line 439 of file SpecialBlock.php.

SpecialBlock::maybeAlterFormDefaults ( &$  fields) [protected]

If the user has already been blocked with similar settings, load that block and change the defaults for the form fields to match the existing settings.

Parameters:
array$fieldsHTMLForm descriptor array
Returns:
bool Whether fields were altered (that is, whether the target is already blocked)

Definition at line 227 of file SpecialBlock.php.

Referenced by getFormFields().

Process the form on POST submission.

Parameters:
array$data
Returns:
bool|array True for success, false for didn't-try, array of errors on failure

Reimplemented from FormSpecialPage.

Definition at line 955 of file SpecialBlock.php.

Do something exciting on successful processing of the form, most likely to show a confirmation message.

Reimplemented from FormSpecialPage.

Definition at line 964 of file SpecialBlock.php.

static SpecialBlock::parseExpiryInput ( expiry) [static]

Convert a submitted expiry time, which may be relative ("2 weeks", etc) or absolute ("24 May 2034", etc), into an absolute timestamp we can put into the database.

Parameters:
string$expiryWhatever was typed into the form
Returns:
string Timestamp or "infinity" string for the DB implementation

Definition at line 836 of file SpecialBlock.php.

Referenced by ApiQueryLogEvents\addLogParams().

SpecialBlock::postText ( ) [protected]

Add footer elements to the form.

Returns:
string

Reimplemented from FormSpecialPage.

Definition at line 344 of file SpecialBlock.php.

References $out, array(), SpecialPage\getTitleFor(), User\isAllowed(), Linker\link(), Linker\linkKnown(), Title\makeTitle(), Html\rawElement(), LogEventsList\showLogExtract(), and wfEscapeWikiText().

SpecialBlock::preText ( ) [protected]

Add header elements like block log entries, etc.

Returns:
string

Reimplemented from FormSpecialPage.

Definition at line 304 of file SpecialBlock.php.

References $link, $s, array(), as, Html\rawElement(), and wfRunHooks().

static SpecialBlock::processForm ( array data,
IContextSource context 
) [static]

Given the form data, actually implement a block.

Parameters:
array$data
IContextSource$context
Returns:
bool|string

Definition at line 597 of file SpecialBlock.php.

Referenced by ApiBlock\execute().

static SpecialBlock::processUIForm ( array data,
HTMLForm form 
) [static]

Submit callback for an HTMLForm object, will simply pass.

Parameters:
array$data
HTMLForm$form
Returns:
bool|string

Definition at line 587 of file SpecialBlock.php.

SpecialBlock::setParameter ( par) [protected]

Handle some magic here.

Parameters:
string$par

Reimplemented from FormSpecialPage.

Definition at line 70 of file SpecialBlock.php.

static SpecialBlock::validateTarget ( value,
User user 
) [static]

Validate a block target.

Since:
1.21
Parameters:
string$valueBlock target to check
User$userPerformer of the block
Returns:
Status

Definition at line 527 of file SpecialBlock.php.

static SpecialBlock::validateTargetField ( value,
alldata,
form 
) [static]

HTMLForm field validation-callback for Target field.

Since:
1.18
Parameters:
string$value
array$alldata
HTMLForm$form
Returns:
Message

Definition at line 508 of file SpecialBlock.php.


Member Data Documentation

bool SpecialBlock::$alreadyBlocked [protected]

*

Definition at line 41 of file SpecialBlock.php.

array SpecialBlock::$preErrors = array() [protected]

*

Definition at line 43 of file SpecialBlock.php.

User string SpecialBlock::$previousTarget [protected]

The previous block target *.

Definition at line 37 of file SpecialBlock.php.

bool SpecialBlock::$requestedHideUser [protected]

Whether the previous submission of the form asked for HideUser *.

Definition at line 39 of file SpecialBlock.php.

SpecialBlock::$target [protected]

Definition at line 33 of file SpecialBlock.php.

int SpecialBlock::$type [protected]

Block::TYPE_ constant *.

Definition at line 35 of file SpecialBlock.php.


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