MediaWiki  master
RevisionDeleter Class Reference

General controller for RevDel, used by both SpecialRevisiondelete and ApiRevisionDelete. More...

Static Public Member Functions

static createList ( $typeName, IContextSource $context, PageIdentity $page, array $ids)
 Instantiate the appropriate list class for a given list of IDs. More...
 
static extractBitfield (array $bitPars, $oldfield)
 Put together a rev_deleted bitfield. More...
 
static getCanonicalTypeName ( $typeName)
 Gets the canonical type name, if any. More...
 
static getChanges ( $n, $o)
 Gets an array of message keys describing the changes made to the visibility of the revision. More...
 
static getRelationType ( $typeName)
 Get DB field name for URL param... More...
 
static getRestriction ( $typeName)
 Get the user right required for the RevDel type. More...
 
static getRevdelConstant ( $typeName)
 Get the revision deletion constant for the RevDel type. More...
 
static getTypes ()
 Lists the valid possible types for revision deletion. More...
 
static suggestTarget ( $typeName, $target, array $ids)
 Suggest a target for the revision deletion. More...
 

Static Protected Member Functions

static checkItem ( $desc, $field, $diff, $new, &$arr)
 Checks for a change in the bitfield for a certain option and updates the provided array accordingly. More...
 

Detailed Description

General controller for RevDel, used by both SpecialRevisiondelete and ApiRevisionDelete.

Definition at line 34 of file RevisionDeleter.php.

Member Function Documentation

◆ checkItem()

static RevisionDeleter::checkItem (   $desc,
  $field,
  $diff,
  $new,
$arr 
)
staticprotected

Checks for a change in the bitfield for a certain option and updates the provided array accordingly.

Parameters
string$descDescription to add to the array if the option was enabled / disabled.
int$fieldThe bitmask describing the single option.
int$diffThe xor of the old and new bitfields.
int$newThe new bitfield
array&$arrThe array to update.

Definition at line 158 of file RevisionDeleter.php.

Referenced by getChanges().

◆ createList()

static RevisionDeleter::createList (   $typeName,
IContextSource  $context,
PageIdentity  $page,
array  $ids 
)
static

Instantiate the appropriate list class for a given list of IDs.

Since
1.22
Parameters
string$typeNameRevDel type, see RevisionDeleter::getTypes()
IContextSource$context
PageIdentity$page
array$ids
Returns
RevDelList
Exceptions
MWException

Definition at line 128 of file RevisionDeleter.php.

References getCanonicalTypeName().

Referenced by ApiRevisionDelete\execute(), and MediaWiki\Specials\SpecialRevisionDelete\getList().

◆ extractBitfield()

static RevisionDeleter::extractBitfield ( array  $bitPars,
  $oldfield 
)
static

Put together a rev_deleted bitfield.

Since
1.22
Parameters
array$bitParsExtractBitParams() params
int$oldfieldCurrent bitfield
Returns
int

Definition at line 272 of file RevisionDeleter.php.

Referenced by RevDelList\setVisibility().

◆ getCanonicalTypeName()

static RevisionDeleter::getCanonicalTypeName (   $typeName)
static

Gets the canonical type name, if any.

Since
1.22
Parameters
string$typeName
Returns
string|null

Definition at line 110 of file RevisionDeleter.php.

Referenced by createList(), MediaWiki\Specials\SpecialRevisionDelete\execute(), getRelationType(), getRestriction(), getRevdelConstant(), and suggestTarget().

◆ getChanges()

static RevisionDeleter::getChanges (   $n,
  $o 
)
static

Gets an array of message keys describing the changes made to the visibility of the revision.

If the resulting array is $arr, then $arr[0] will contain an array of keys describing the items that were hidden, $arr[1] will contain an array of keys describing the items that were unhidden, and $arr[2] will contain an array with a single message key, which can be one of "revdelete-restricted", "revdelete-unrestricted" indicating (un)suppression or null to indicate nothing in particular. You can turn the keys in $arr[0] and $arr[1] into message keys by appending -hid and -unhid to the keys respectively.

Parameters
int$nThe new bitfield.
int$oThe old bitfield.
Returns
array An array as described above.
Since
1.19 public

Definition at line 182 of file RevisionDeleter.php.

References checkItem().

Referenced by DeleteLogFormatter\getMessageParameters().

◆ getRelationType()

static RevisionDeleter::getRelationType (   $typeName)
static

Get DB field name for URL param...

Future code for other things may also track other types of revision-specific changes.

Parameters
string$typeName
Returns
string|null One of log_id/rev_id/fa_id/ar_timestamp/oi_archive_name

Definition at line 209 of file RevisionDeleter.php.

References getCanonicalTypeName().

Referenced by MediaWiki\Specials\SpecialRevisionDelete\getLogQueryCond().

◆ getRestriction()

static RevisionDeleter::getRestriction (   $typeName)
static

Get the user right required for the RevDel type.

Since
1.22
Parameters
string$typeName
Returns
string|null User right

Definition at line 223 of file RevisionDeleter.php.

References getCanonicalTypeName().

Referenced by MediaWiki\Specials\SpecialRevisionDelete\execute(), and ApiRevisionDelete\execute().

◆ getRevdelConstant()

static RevisionDeleter::getRevdelConstant (   $typeName)
static

Get the revision deletion constant for the RevDel type.

Since
1.22
Parameters
string$typeName
Returns
int|null RevDel constant

Definition at line 237 of file RevisionDeleter.php.

References getCanonicalTypeName().

Referenced by MediaWiki\Specials\SpecialRevisionDelete\execute(), and ApiRevisionDelete\execute().

◆ getTypes()

static RevisionDeleter::getTypes ( )
static

Lists the valid possible types for revision deletion.

Since
1.22
Returns
array

Definition at line 99 of file RevisionDeleter.php.

Referenced by ApiRevisionDelete\getAllowedParams().

◆ suggestTarget()

static RevisionDeleter::suggestTarget (   $typeName,
  $target,
array  $ids 
)
static

Suggest a target for the revision deletion.

Since
1.22
Parameters
string$typeName
Title | null$targetUser-supplied target
array$ids
Returns
Title|null

Definition at line 253 of file RevisionDeleter.php.

References getCanonicalTypeName().

Referenced by MediaWiki\Specials\SpecialEditTags\execute(), MediaWiki\Specials\SpecialRevisionDelete\execute(), and ApiRevisionDelete\execute().


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