MediaWiki  REL1_19
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 TODO: should be in Block.php?
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 validateTargetField ($value, $alldata, $form)
 HTMLForm field validation-callback for Target field.

Public Attributes

const HIDEUSER_CONTRIBLIMIT = 1000
 The maximum number of edits a user can have and still be hidden TODO: config setting?

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.
 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.

Protected Attributes

 $alreadyBlocked
 $preErrors = array()
 $previousTarget
 $requestedHideUser
 $target
 $type

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 54 of file SpecialBlock.php.


Member Function Documentation

SpecialBlock::alterForm ( HTMLForm form) [protected]

Customizes the HTMLForm a bit.

Parameters:
$formHTMLForm

Reimplemented from FormSpecialPage.

Definition at line 100 of file SpecialBlock.php.

References HTMLForm\addHeaderText(), HTMLForm\formatErrors(), SpecialPage\getRequest(), Html\rawElement(), HTMLForm\setHeaderText(), HTMLForm\setSubmitCallback(), HTMLForm\setSubmitTextMsg(), and HTMLForm\setWrapperLegendMsg().

Here is the call graph for this function:

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:
$dataArray from HTMLForm data
$typeBlock::TYPE_ constant (USER, RANGE, or IP)
Returns:
array

Definition at line 841 of file SpecialBlock.php.

References $wgBlockAllowsUTEdit, and Block\TYPE_USER.

static SpecialBlock::canBlockEmail ( user) [static]

Can we do an email block?

Parameters:
$userUser: the sysop wanting to make a block
Returns:
Boolean

Definition at line 793 of file SpecialBlock.php.

References $user, $wgEnableUserEmail, and $wgSysopEmailBans.

Referenced by ApiBlock\execute().

Here is the caller graph for this function:

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 64 of file SpecialBlock.php.

References checkUnblockSelf().

Here is the call graph for this function:

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:
$userUser|Int|String
$performerUser user doing the request
Returns:
Bool|String true or error message key

Definition at line 807 of file SpecialBlock.php.

References $user, User\blockedBy(), User\getId(), User\getName(), User\isAllowed(), User\isBlocked(), User\newFromId(), and User\newFromName().

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

Here is the call graph for this function:

Here is the caller graph for this function:

SpecialBlock::getFormFields ( ) [protected]

Get the HTMLForm descriptor array for the block form.

Returns:
Array

Reimplemented from FormSpecialPage.

Definition at line 125 of file SpecialBlock.php.

References $user, $wgBlockAllowsUTEdit, SpecialPage\getUser(), maybeAlterFormDefaults(), and SpecialPage\msg().

Here is the call graph for this function:

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:
$langLanguage|null the language to get the durations in, or null to use the wiki's content language
Returns:
Array

Definition at line 739 of file SpecialBlock.php.

References wfMessage().

Referenced by Language\translateBlockExpiry().

Here is the call graph for this function:

Here is the caller graph for this function:

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:
$parString subpage parameter passed to setup, or data value from the HTMLForm
$requestWebRequest optionally try and get data from a request too
Returns:
array( User|string|null, Block::TYPE_ constant|null )

Definition at line 437 of file SpecialBlock.php.

References Block\parseTarget().

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

Here is the call graph for this function:

Here is the caller graph for this function:

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:
$fieldsArray HTMLForm descriptor array
Returns:
Bool whether fields were altered (that is, whether the target is already blocked)

Definition at line 230 of file SpecialBlock.php.

References SpecialPage\exists(), SpecialPage\getRequest(), Block\newFromTarget(), and wfTimestamp().

Referenced by getFormFields().

Here is the call graph for this function:

Here is the caller graph for this function:

SpecialBlock::onSubmit ( array $  data)

Process the form on POST submission.

Parameters:
$dataArray
Returns:
Bool|Array true for success, false for didn't-try, array of errors on failure

Reimplemented from FormSpecialPage.

Definition at line 885 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 894 of file SpecialBlock.php.

References $out.

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:
$expiryString: whatever was typed into the form
Returns:
String: timestamp or "infinity" string for the DB implementation

Definition at line 767 of file SpecialBlock.php.

References wfGetDB(), and wfTimestamp().

Referenced by ApiQueryLogEvents\addLogParams().

Here is the call graph for this function:

Here is the caller graph for this function:

SpecialBlock::postText ( ) [protected]

Add footer elements to the form.

Returns:
string

Reimplemented from FormSpecialPage.

Definition at line 345 of file SpecialBlock.php.

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

Here is the call graph for this function:

SpecialBlock::preText ( ) [protected]

Add header elements like block log entries, etc.

Reimplemented from FormSpecialPage.

Definition at line 307 of file SpecialBlock.php.

References Html\rawElement(), and wfRunHooks().

Here is the call graph for this function:

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

Given the form data, actually implement a block.

Parameters:
$dataArray
$contextIContextSource
Returns:
Bool|String

Definition at line 554 of file SpecialBlock.php.

References $user, $wgBlockAllowsUTEdit, IContextSource\getUser(), Title\makeTitle(), Block\newFromTarget(), RevisionDeleteUser\suppressUserName(), Block\TYPE_IP, Block\TYPE_RANGE, Block\TYPE_USER, RevisionDeleteUser\unsuppressUserName(), and wfRunHooks().

Referenced by ApiBlock\execute().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Submit callback for an HTMLForm object, will simply pass.

Parameters:
$dataarray
$formHTMLForm
Returns:
Bool|String

Definition at line 544 of file SpecialBlock.php.

References ContextSource\getContext().

Here is the call graph for this function:

SpecialBlock::setParameter ( par) [protected]

Handle some magic here.

Parameters:
$parString

Reimplemented from FormSpecialPage.

Definition at line 79 of file SpecialBlock.php.

References SpecialPage\getRequest(), SpecialPage\getSkin(), getTargetAndType(), and Block\parseTarget().

Here is the call graph for this function:

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

HTMLForm field validation-callback for Target field.

Since:
1.18
Parameters:
$valueString
$alldataArray
$formHTMLForm
Returns:
Message

Definition at line 488 of file SpecialBlock.php.

References $wgBlockCIDRLimit, IP\isIPv4(), IP\isIPv6(), Block\TYPE_IP, Block\TYPE_RANGE, Block\TYPE_USER, and wfEscapeWikiText().

Here is the call graph for this function:


Member Data Documentation

SpecialBlock::$alreadyBlocked [protected]

Definition at line 49 of file SpecialBlock.php.

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

Definition at line 52 of file SpecialBlock.php.

SpecialBlock::$previousTarget [protected]

Definition at line 43 of file SpecialBlock.php.

SpecialBlock::$requestedHideUser [protected]

Definition at line 46 of file SpecialBlock.php.

SpecialBlock::$target [protected]

Definition at line 37 of file SpecialBlock.php.

SpecialBlock::$type [protected]

Definition at line 40 of file SpecialBlock.php.

The maximum number of edits a user can have and still be hidden TODO: config setting?

Definition at line 33 of file SpecialBlock.php.


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