MediaWiki  1.23.2
RevisionDeleter Class Reference

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

Static Public Member Functions

static checkRevisionExistence ( $title, $revid)
 Checks if a revision still exists in the revision table. More...
 
static createList ( $typeName, IContextSource $context, Title $title, array $ids)
 Instantiate the appropriate list class for a given list of IDs. More...
 
static extractBitfield ( $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...
 

Static Private Attributes

static $allowedTypes
 List of known revdel types, with their corresponding list classes. More...
 
static $deprecatedTypeMap
 Type map to support old log entries. More...
 

Detailed Description

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

Definition at line 29 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.
$fieldInteger: the bitmask describing the single option.
$diffInteger: the xor of the old and new bitfields.
$newInteger: the new bitfield
array$arrthe array to update.

Definition at line 101 of file RevisionDeleter.php.

Referenced by getChanges().

◆ checkRevisionExistence()

static RevisionDeleter::checkRevisionExistence (   $title,
  $revid 
)
static

Checks if a revision still exists in the revision table.

If it doesn't, returns the corresponding ar_timestamp field so that this key can be used instead.

Parameters
$titleTitle
$revid
Returns
bool|mixed

Definition at line 213 of file RevisionDeleter.php.

References $dbr, $timestamp, $title, array(), DB_SLAVE, and wfGetDB().

◆ createList()

static RevisionDeleter::createList (   $typeName,
IContextSource  $context,
Title  $title,
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
Title$title
array$ids
Returns
RevDel_List

Definition at line 82 of file RevisionDeleter.php.

References $title, and getCanonicalTypeName().

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

◆ extractBitfield()

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

Put together a rev_deleted bitfield.

Since
1.22
Parameters
array$bitParsextractBitParams() params
int$oldfieldcurrent bitfield
Returns
array

Definition at line 237 of file RevisionDeleter.php.

References as.

Referenced by SpecialRevisionDelete\buildCheckBoxes(), and RevDel_List\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 65 of file RevisionDeleter.php.

Referenced by createList(), 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 and -unhid to the keys respectively.

Parameters
$nInteger: the new bitfield.
$oInteger: the old bitfield.
Returns
array An array as described above.
Since
1.19 public

Definition at line 125 of file RevisionDeleter.php.

References $n, $ret, array(), checkItem(), Revision\DELETED_COMMENT, Revision\DELETED_RESTRICTED, Revision\DELETED_TEXT, and Revision\DELETED_USER.

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 One of log_id/rev_id/fa_id/ar_timestamp/oi_archive_name

Definition at line 152 of file RevisionDeleter.php.

References array(), and getCanonicalTypeName().

Referenced by PopulateLogSearch\doDBUpdates(), SpecialRevisionDelete\getLogQueryCond(), and RevDel_List\updateLog().

◆ getRestriction()

static RevisionDeleter::getRestriction (   $typeName)
static

Get the user right required for the RevDel type.

Since
1.22
Parameters
string$typeName
Returns
string User right

Definition at line 166 of file RevisionDeleter.php.

References array(), and getCanonicalTypeName().

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

◆ getRevdelConstant()

static RevisionDeleter::getRevdelConstant (   $typeName)
static

Get the revision deletion constant for the RevDel type.

Since
1.22
Parameters
string$typeName
Returns
int RevDel constant

Definition at line 180 of file RevisionDeleter.php.

References array(), and getCanonicalTypeName().

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

◆ getTypes()

static RevisionDeleter::getTypes ( )
static

Lists the valid possible types for revision deletion.

Since
1.22
Returns
array

Definition at line 54 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$titleUser-supplied target
array$ids
Returns
Title|null

Definition at line 196 of file RevisionDeleter.php.

References array(), and getCanonicalTypeName().

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

Member Data Documentation

◆ $allowedTypes

RevisionDeleter::$allowedTypes
staticprivate
Initial value:
'revision' => 'RevDel_RevisionList',
'archive' => 'RevDel_ArchiveList',
'oldimage' => 'RevDel_FileList',
'filearchive' => 'RevDel_ArchivedFileList',
'logging' => 'RevDel_LogList',
)

List of known revdel types, with their corresponding list classes.

Definition at line 31 of file RevisionDeleter.php.

◆ $deprecatedTypeMap

RevisionDeleter::$deprecatedTypeMap
staticprivate
Initial value:
'oldid' => 'revision',
'artimestamp' => 'archive',
'oldimage' => 'oldimage',
'fileid' => 'filearchive',
'logid' => 'logging',
)

Type map to support old log entries.

Definition at line 40 of file RevisionDeleter.php.


The documentation for this class was generated from the following file:
array
the array() calling protocol came about after MediaWiki 1.4rc1.
List of Api Query prop modules.