MediaWiki  1.23.14
Revision Class Reference
Inheritance diagram for Revision:
Collaboration diagram for Revision:

Public Member Functions

 __construct ( $row)
 Constructor. More...
 
 getComment ( $audience=self::FOR_PUBLIC, User $user=null)
 Fetch revision comment if it's available to the specified audience. More...
 
 getContent ( $audience=self::FOR_PUBLIC, User $user=null)
 Fetch revision content if it's available to the specified audience. More...
 
 getContentFormat ()
 Returns the content format for this revision. More...
 
 getContentHandler ()
 Returns the content handler appropriate for this revision's content model. More...
 
 getContentModel ()
 Returns the content model for this revision. More...
 
 getId ()
 Get revision ID. More...
 
 getNext ()
 Get next revision for this title. More...
 
 getPage ()
 Get the page ID. More...
 
 getParentId ()
 Get parent revision ID (the original previous page revision) More...
 
 getPrevious ()
 Get previous revision for this title. More...
 
 getRawComment ()
 Fetch revision comment without regard for the current user's permissions. More...
 
 getRawText ()
 Fetch revision text without regard for view restrictions. More...
 
 getRawUser ()
 Fetch revision's user id without regard for the current user's permissions. More...
 
 getRawUserText ()
 Fetch revision's username without regard for view restrictions. More...
 
 getRecentChange ()
 Get the RC object belonging to the current revision, if there's one. More...
 
 getSerializedData ()
 Fetch original serialized data without regard for view restrictions. More...
 
 getSha1 ()
 Returns the base36 sha1 of the text in this revision, or null if unknown. More...
 
 getSize ()
 Returns the length of the text in this revision, or null if unknown. More...
 
 getText ( $audience=self::FOR_PUBLIC, User $user=null)
 Fetch revision text if it's available to the specified audience. More...
 
 getTextId ()
 Get text row ID. More...
 
 getTimestamp ()
 
 getTitle ()
 Returns the title of the page associated with this entry or null. More...
 
 getUser ( $audience=self::FOR_PUBLIC, User $user=null)
 Fetch revision's user id if it's available to the specified audience. More...
 
 getUserText ( $audience=self::FOR_PUBLIC, User $user=null)
 Fetch revision's username if it's available to the specified audience. More...
 
 getVisibility ()
 Get the deletion bitfield of the revision. More...
 
 insertOn ( $dbw)
 Insert a new revision into the database, returning the new revision ID number on success and dies horribly on failure. More...
 
 isCurrent ()
 
 isDeleted ( $field)
 
 isMinor ()
 
 isUnpatrolled ()
 
 setId ( $id)
 Set the revision ID. More...
 
 setTitle ( $title)
 Set the title of the revision. More...
 
 userCan ( $field, User $user=null)
 Determine if the current user is allowed to view a particular field of this revision, if it's marked as deleted. More...
 

Static Public Member Functions

static base36Sha1 ( $text)
 Get the base 36 SHA-1 value for a string of text. More...
 
static compressRevisionText (&$text)
 If $wgCompressRevisions is enabled, we will compress data. More...
 
static countByPageId ( $db, $id)
 Get count of revisions per page...not very efficient. More...
 
static countByTitle ( $db, $title)
 Get count of revisions per page...not very efficient. More...
 
static decompressRevisionText ( $text, $flags)
 Re-converts revision text according to it's flags. More...
 
static fetchRevision ( $title)
 Return a wrapper for a series of database rows to fetch all of a given page's revisions in turn. More...
 
static getParentLengths ( $db, array $revIds)
 Do a batched query to get the parent revision lengths. More...
 
static getRevisionText ( $row, $prefix='old_', $wiki=false)
 Get revision text associated with an old or archive row $row is usually an object from wfFetchRow(), both the flags and the text field must be included. More...
 
static getTimestampFromId ( $title, $id)
 Get rev_timestamp from rev_id, without loading the rest of the row. More...
 
static loadFromId ( $db, $id)
 Load a page revision from a given revision ID number. More...
 
static loadFromPageId ( $db, $pageid, $id=0)
 Load either the current, or a specified, revision that's attached to a given page. More...
 
static loadFromTimestamp ( $db, $title, $timestamp)
 Load the revision for the given title with the given timestamp. More...
 
static loadFromTitle ( $db, $title, $id=0)
 Load either the current, or a specified, revision that's attached to a given page. More...
 
static newFromArchiveRow ( $row, $overrides=array())
 Make a fake revision object from an archive table row. More...
 
static newFromId ( $id, $flags=0)
 Load a page revision from a given revision ID number. More...
 
static newFromPageId ( $pageId, $revId=0, $flags=0)
 Load either the current, or a specified, revision that's attached to a given page ID. More...
 
static newFromRow ( $row)
 
static newFromTitle ( $title, $id=0, $flags=0)
 Load either the current, or a specified, revision that's attached to a given title. More...
 
static newNullRevision ( $dbw, $pageId, $summary, $minor)
 Create a new null-revision for insertion into a page's history. More...
 
static pageJoinCond ()
 Return the value of a select() page conds array for the page table. More...
 
static selectArchiveFields ()
 Return the list of revision fields that should be selected to create a new revision from an archive row. More...
 
static selectFields ()
 Return the list of revision fields that should be selected to create a new revision. More...
 
static selectPageFields ()
 Return the list of page fields that should be selected from page table. More...
 
static selectTextFields ()
 Return the list of text fields that should be selected to read the revision text. More...
 
static selectUserFields ()
 Return the list of user fields that should be selected from user table. More...
 
static userCanBitfield ( $bitfield, $field, User $user=null)
 Determine if the current user is allowed to view a particular field of this revision, if it's marked as deleted. More...
 
static userJoinCond ()
 Return the value of a select() JOIN conds array for the user table. More...
 
static userWasLastToEdit ( $db, $pageId, $userId, $since)
 Check if no edits were made by other users since the time a user started editing the page. More...
 

Public Attributes

const DELETED_COMMENT = 2
 
const DELETED_RESTRICTED = 8
 
const DELETED_TEXT = 1
 
const DELETED_USER = 4
 
const FOR_PUBLIC = 1
 
const FOR_THIS_USER = 2
 
const RAW = 3
 
const SUPPRESSED_USER = 12
 
- Public Attributes inherited from IDBAccessObject
const READ_LATEST = 1
 
const READ_LOCKING = 3
 
const READ_NONE = -1
 
const READ_NORMAL = 0
 

Protected Member Functions

 checkContentModel ()
 
 getContentInternal ()
 Gets the content object for the revision (or null on failure). More...
 
 loadText ()
 Lazy-load the revision's text. More...
 

Protected Attributes

 $mComment
 
Content null bool $mContent
 
 $mContentFormat
 
null ContentHandler $mContentHandler
 
 $mContentModel
 
 $mCurrent
 
 $mDeleted
 
 $mId
 
 $mMinorEdit
 
 $mOrigUserText
 
int null $mPage
 
 $mParentId
 
int $mQueryFlags = 0
 
 $mSha1
 
 $mSize
 
 $mText
 
 $mTextRow
 
 $mTimestamp
 
null Title $mTitle
 
 $mUser
 
 $mUserText
 

Private Member Functions

 getPreviousRevisionId ( $db)
 Get previous revision Id for this page_id This is used to populate rev_parent_id on save. More...
 

Static Private Member Functions

static fetchFromConds ( $db, $conditions, $flags=0)
 Given a set of conditions, return a ResultWrapper which will return matching database rows with the fields necessary to build Revision objects. More...
 
static loadFromConds ( $db, $conditions, $flags=0)
 Given a set of conditions, fetch a revision from the given database connection. More...
 
static newFromConds ( $conditions, $flags=0)
 Given a set of conditions, fetch a revision. More...
 

Detailed Description

Todo:
document

Definition at line 26 of file Revision.php.

Constructor & Destructor Documentation

◆ __construct()

Revision::__construct (   $row)

Constructor.

Parameters
$rowMixed: either a database row or an array
Exceptions
MWException
Access:\n private

Definition at line 527 of file Revision.php.

References $mPage, $wgUser, base36Sha1(), getContentFormat(), getContentHandler(), getContentModel(), global, needed(), Title\newFromRow(), on, wfDebug(), and wfTimestampNow().

Member Function Documentation

◆ base36Sha1()

static Revision::base36Sha1 (   $text)
static

Get the base 36 SHA-1 value for a string of text.

Parameters
$textString
Returns
String

Definition at line 1479 of file Revision.php.

References wfBaseConvert().

Referenced by __construct(), RevisionTest\dataGetSha1(), insertOn(), PopulateRevisionSha1\upgradeLegacyArchiveRow(), and PopulateRevisionSha1\upgradeRow().

◆ checkContentModel()

Revision::checkContentModel ( )
protected

◆ compressRevisionText()

static Revision::compressRevisionText ( $text)
static

If $wgCompressRevisions is enabled, we will compress data.

The input string is modified in place. Return value is the flags field: contains 'gzip' if the data is compressed, and 'utf-8' if we're saving in UTF-8 mode.

Parameters
$textMixed: reference to a text
Returns
String

Definition at line 1261 of file Revision.php.

References $flags, array(), global, and wfDebug().

Referenced by CheckStorage\importRevision(), insertOn(), RevisionTest\testCompressRevisionTextUtf8(), and RevisionTest\testCompressRevisionTextUtf8Gzip().

◆ countByPageId()

static Revision::countByPageId (   $db,
  $id 
)
static

Get count of revisions per page...not very efficient.

Parameters
$dbDatabaseBase
$idInteger: page id
Returns
Integer

Definition at line 1692 of file Revision.php.

References array().

Referenced by countByTitle().

◆ countByTitle()

static Revision::countByTitle (   $db,
  $title 
)
static

Get count of revisions per page...not very efficient.

Parameters
$dbDatabaseBase
$titleTitle
Returns
Integer

Definition at line 1708 of file Revision.php.

References $title, and countByPageId().

◆ decompressRevisionText()

static Revision::decompressRevisionText (   $text,
  $flags 
)
static

Re-converts revision text according to it's flags.

Parameters
$textMixed: reference to a text
$flagsarray: compression flags
Returns
String|bool decompressed text, or false on failure

Definition at line 1287 of file Revision.php.

References $flags, $wgContLang, and global.

Referenced by getRevisionText().

◆ fetchFromConds()

static Revision::fetchFromConds (   $db,
  $conditions,
  $flags = 0 
)
staticprivate

Given a set of conditions, return a ResultWrapper which will return matching database rows with the fields necessary to build Revision objects.

Parameters
$dbDatabaseBase
$conditionsArray
$flagsinteger (optional)
Returns
ResultWrapper

Definition at line 360 of file Revision.php.

References $flags, $options, and array().

Referenced by fetchRevision(), and loadFromConds().

◆ fetchRevision()

static Revision::fetchRevision (   $title)
static

Return a wrapper for a series of database rows to fetch all of a given page's revisions in turn.

Each row can be fed to the constructor to get objects.

Parameters
$titleTitle
Returns
ResultWrapper

Definition at line 339 of file Revision.php.

References $title, array(), DB_SLAVE, fetchFromConds(), and wfGetDB().

Referenced by RevisionStorageTest\testFetchRevision().

◆ getComment()

Revision::getComment (   $audience = self::FOR_PUBLIC,
User  $user = null 
)

Fetch revision comment if it's available to the specified audience.

If the specified audience does not have access to the comment, an empty string will be returned.

Parameters
$audienceInteger: one of: Revision::FOR_PUBLIC to be displayed to all users Revision::FOR_THIS_USER to be displayed to the given user Revision::RAW get the text regardless of permissions
$userUser object to check for, only if FOR_THIS_USER is passed to the $audience parameter
Returns
String

Definition at line 884 of file Revision.php.

References $mComment, $user, isDeleted(), and userCan().

◆ getContent()

Revision::getContent (   $audience = self::FOR_PUBLIC,
User  $user = null 
)

Fetch revision content if it's available to the specified audience.

If the specified audience does not have the ability to view this revision, null will be returned.

Parameters
$audienceInteger: one of: Revision::FOR_PUBLIC to be displayed to all users Revision::FOR_THIS_USER to be displayed to $wgUser Revision::RAW get the text regardless of permissions
$userUser object to check for, only if FOR_THIS_USER is passed to the $audience parameter
Since
1.21
Returns
Content|null

Definition at line 999 of file Revision.php.

References $user, getContentInternal(), isDeleted(), and userCan().

Referenced by checkContentModel(), WikiPage\doEditUpdates(), getText(), ContentHandler\getUndoContent(), and BenchmarkParse\runParser().

◆ getContentFormat()

Revision::getContentFormat ( )

Returns the content format for this revision.

If no content format was stored in the database, the default format for this revision's content model is returned.

Returns
String the content format id associated with this revision, see the CONTENT_FORMAT_XXX constants.

Definition at line 1097 of file Revision.php.

References $mContentFormat, and getContentHandler().

Referenced by __construct(), RevisionStorageTest\assertRevEquals(), checkContentModel(), getContentHandler(), getContentInternal(), and insertOn().

◆ getContentHandler()

Revision::getContentHandler ( )

Returns the content handler appropriate for this revision's content model.

Exceptions
MWException
Returns
ContentHandler

Definition at line 1114 of file Revision.php.

References $mContentHandler, getContentFormat(), getContentModel(), and ContentHandler\getForModelID().

Referenced by __construct(), checkContentModel(), getContentFormat(), getContentInternal(), and WikiPage\getUndoContent().

◆ getContentInternal()

Revision::getContentInternal ( )
protected

Gets the content object for the revision (or null on failure).

Note that for mutable Content objects, each call to this method will return a fresh clone.

Since
1.21
Returns
Content|null the Revision's content, or null on failure.

Definition at line 1045 of file Revision.php.

References getContentFormat(), getContentHandler(), and loadText().

Referenced by getContent().

◆ getContentModel()

Revision::getContentModel ( )

Returns the content model for this revision.

If no content model was stored in the database, $this->getTitle()->getContentModel() is used to determine the content model to use. If no title is know, CONTENT_MODEL_WIKITEXT is used as a last resort.

Returns
String the content model id associated with this revision, see the CONTENT_MODEL_XXX constants.

Definition at line 1077 of file Revision.php.

References $mContentModel, $title, CONTENT_MODEL_WIKITEXT, and getTitle().

Referenced by __construct(), RevisionStorageTest\assertRevEquals(), checkContentModel(), getContentHandler(), and insertOn().

◆ getId()

Revision::getId ( )

Get revision ID.

Returns
Integer|null

Definition at line 699 of file Revision.php.

References $mId.

Referenced by RevisionStorageTest\assertRevEquals(), WikiPage\doEditUpdates(), getNext(), getPrevious(), getRecentChange(), and BenchmarkParse\runParser().

◆ getNext()

Revision::getNext ( )

Get next revision for this title.

Returns
Revision or null

Definition at line 1164 of file Revision.php.

References getId(), getTitle(), and newFromTitle().

◆ getPage()

Revision::getPage ( )

Get the page ID.

Returns
Integer|null

Definition at line 795 of file Revision.php.

References $mPage.

Referenced by RevisionStorageTest\assertRevEquals().

◆ getParentId()

Revision::getParentId ( )

Get parent revision ID (the original previous page revision)

Returns
Integer|null

Definition at line 727 of file Revision.php.

References $mParentId.

◆ getParentLengths()

static Revision::getParentLengths (   $db,
array  $revIds 
)
static

Do a batched query to get the parent revision lengths.

Parameters
$dbDatabaseBase
$revIdsArray
Returns
array

Definition at line 503 of file Revision.php.

References $res, array(), as, wfProfileIn(), and wfProfileOut().

Referenced by HistoryPager\doBatchLookups(), ContribsPager\doBatchLookups(), and ApiQueryContributions\execute().

◆ getPrevious()

Revision::getPrevious ( )

Get previous revision for this title.

Returns
Revision|null

Definition at line 1149 of file Revision.php.

References getId(), getTitle(), and newFromTitle().

Referenced by WikiPage\getUndoText().

◆ getPreviousRevisionId()

Revision::getPreviousRevisionId (   $db)
private

Get previous revision Id for this page_id This is used to populate rev_parent_id on save.

Parameters
$dbDatabaseBase
Returns
Integer

Definition at line 1181 of file Revision.php.

References array().

Referenced by insertOn().

◆ getRawComment()

Revision::getRawComment ( )

Fetch revision comment without regard for the current user's permissions.

Returns
String

Definition at line 899 of file Revision.php.

References $mComment.

◆ getRawText()

Revision::getRawText ( )

Fetch revision text without regard for view restrictions.

Returns
String
Deprecated:
since 1.21. Instead, use Revision::getContent( Revision::RAW ) or Revision::getSerializedData() as appropriate.

Definition at line 1017 of file Revision.php.

References ContentHandler\deprecated(), and getText().

◆ getRawUser()

Revision::getRawUser ( )

Fetch revision's user id without regard for the current user's permissions.

Returns
String

Definition at line 827 of file Revision.php.

References $mUser.

◆ getRawUserText()

Revision::getRawUserText ( )

Fetch revision's username without regard for view restrictions.

Returns
String

Definition at line 859 of file Revision.php.

References $mOrigUserText, $mUserText, and User\whoIs().

Referenced by getRecentChange(), and getUserText().

◆ getRecentChange()

Revision::getRecentChange ( )

Get the RC object belonging to the current revision, if there's one.

Since
1.22
Returns
RecentChange|null

Definition at line 932 of file Revision.php.

References $dbr, array(), DB_SLAVE, getId(), getRawUserText(), RecentChange\newFromConds(), and wfGetDB().

Referenced by isUnpatrolled().

◆ getRevisionText()

static Revision::getRevisionText (   $row,
  $prefix = 'old_',
  $wiki = false 
)
static

Get revision text associated with an old or archive row $row is usually an object from wfFetchRow(), both the flags and the text field must be included.

Parameters
stdClass$rowThe text data
string$prefixTable prefix (default 'old_')
string | bool$wikiThe name of the wiki to load the revision text from (same as the the wiki $row was loaded from) or false to indicate the local wiki (this is the default). Otherwise, it must be a symbolic wiki database identifier as understood by the LoadBalancer class.
Returns
string Text the text requested or false on failure

Definition at line 1212 of file Revision.php.

References $flags, array(), decompressRevisionText(), ExternalStore\fetchFromURL(), wfProfileIn(), and wfProfileOut().

Referenced by CompressOld\compressWithConcat(), FetchText\doGetText(), RecompressTracked\doOrphanList(), RecompressTracked\doPage(), ApiQueryDeletedrevs\execute(), TextPassDumper\getTextDb(), PageArchive\getTextFromRow(), MessageCache\loadFromDB(), loadText(), newFromArchiveRow(), RevisionTest\testCompressRevisionTextUtf8(), RevisionTest\testCompressRevisionTextUtf8Gzip(), RevisionTest\testGetRevisionText(), RevisionTest\testGetRevisionTextGzip(), RevisionTest\testGetRevisionTextUtf8Legacy(), RevisionTest\testGetRevisionTextUtf8LegacyGzip(), RevisionTest\testGetRevisionTextUtf8Native(), RevisionTest\testGetRevisionTextUtf8NativeGzip(), and XmlDumpWriter\writeRevision().

◆ getSerializedData()

Revision::getSerializedData ( )

Fetch original serialized data without regard for view restrictions.

Since
1.21
Returns
String

Definition at line 1028 of file Revision.php.

References $mText, and loadText().

◆ getSha1()

Revision::getSha1 ( )

Returns the base36 sha1 of the text in this revision, or null if unknown.

Returns
String|null

Definition at line 745 of file Revision.php.

References $mSha1.

Referenced by RevisionStorageTest\assertRevEquals().

◆ getSize()

Revision::getSize ( )

Returns the length of the text in this revision, or null if unknown.

Returns
Integer|null

Definition at line 736 of file Revision.php.

References $mSize.

◆ getText()

Revision::getText (   $audience = self::FOR_PUBLIC,
User  $user = null 
)

Fetch revision text if it's available to the specified audience.

If the specified audience does not have the ability to view this revision, an empty string will be returned.

Parameters
$audienceInteger: one of: Revision::FOR_PUBLIC to be displayed to all users Revision::FOR_THIS_USER to be displayed to the given user Revision::RAW get the text regardless of permissions
$userUser object to check for, only if FOR_THIS_USER is passed to the $audience parameter
Deprecated:
in 1.21, use getContent() instead
Todo:
Replace usage in core
Returns
String

Definition at line 978 of file Revision.php.

References $user, content, ContentHandler\deprecated(), getContent(), ContentHandler\getContentText(), and text.

Referenced by getRawText().

◆ getTextId()

Revision::getTextId ( )

Get text row ID.

Returns
Integer|null

Definition at line 718 of file Revision.php.

Referenced by loadText().

◆ getTimestamp()

Revision::getTimestamp ( )
Returns
String

Definition at line 1133 of file Revision.php.

References TS_MW, and wfTimestamp().

Referenced by RevisionStorageTest\assertRevEquals(), and WikiPage\setLastEdit().

◆ getTimestampFromId()

static Revision::getTimestampFromId (   $title,
  $id 
)
static

Get rev_timestamp from rev_id, without loading the rest of the row.

Parameters
$titleTitle
$idInteger
Returns
String

Definition at line 1668 of file Revision.php.

References $dbr, $timestamp, $title, array(), DB_MASTER, DB_SLAVE, TS_MW, wfGetDB(), wfGetLB(), and wfTimestamp().

Referenced by ApiSetNotificationTimestamp\execute(), and Skin\lastModified().

◆ getTitle()

Revision::getTitle ( )

Returns the title of the page associated with this entry or null.

Will do a query, when title is not set and id is given.

Returns
Title|null

Definition at line 756 of file Revision.php.

References $dbr, $mTitle, array(), DB_SLAVE, Title\newFromID(), Title\newFromRow(), and wfGetDB().

Referenced by checkContentModel(), getContentModel(), getNext(), getPrevious(), insertOn(), and BenchmarkParse\runParser().

◆ getUser()

Revision::getUser (   $audience = self::FOR_PUBLIC,
User  $user = null 
)

Fetch revision's user id if it's available to the specified audience.

If the specified audience does not have access to it, zero will be returned.

Parameters
$audienceInteger: one of: Revision::FOR_PUBLIC to be displayed to all users Revision::FOR_THIS_USER to be displayed to the given user Revision::RAW get the ID regardless of permissions
$userUser object to check for, only if FOR_THIS_USER is passed to the $audience parameter
Returns
Integer

Definition at line 812 of file Revision.php.

References $mUser, $user, isDeleted(), and userCan().

Referenced by RevisionStorageTest\assertRevEquals().

◆ getUserText()

Revision::getUserText (   $audience = self::FOR_PUBLIC,
User  $user = null 
)

Fetch revision's username if it's available to the specified audience.

If the specified audience does not have access to the username, an empty string will be returned.

Parameters
$audienceInteger: one of: Revision::FOR_PUBLIC to be displayed to all users Revision::FOR_THIS_USER to be displayed to the given user Revision::RAW get the text regardless of permissions
$userUser object to check for, only if FOR_THIS_USER is passed to the $audience parameter
Returns
string

Definition at line 844 of file Revision.php.

References $user, getRawUserText(), isDeleted(), and userCan().

◆ getVisibility()

Revision::getVisibility ( )

Get the deletion bitfield of the revision.

Returns
int

Definition at line 958 of file Revision.php.

References $mDeleted.

◆ insertOn()

Revision::insertOn (   $dbw)

Insert a new revision into the database, returning the new revision ID number on success and dies horribly on failure.

Parameters
$dbwDatabaseBase: (master connection)
Exceptions
MWException
Returns
Integer

Definition at line 1328 of file Revision.php.

References $flags, $mDeleted, $mId, $mParentId, $mSha1, $mSize, $mText, $title, array(), base36Sha1(), checkContentModel(), compressRevisionText(), getContentFormat(), getContentModel(), ContentHandler\getDefaultModelFor(), ContentHandler\getForModelID(), getPreviousRevisionId(), getTitle(), global, ExternalStore\insertToDefault(), wfProfileIn(), wfProfileOut(), and wfRunHooks().

Referenced by WikiPage\doQuickEditContent().

◆ isCurrent()

Revision::isCurrent ( )
Returns
Boolean

Definition at line 1140 of file Revision.php.

References $mCurrent.

Referenced by DifferenceEngine\getParserOutput(), and DifferenceEngine\getRevisionHeader().

◆ isDeleted()

Revision::isDeleted (   $field)
Parameters
int$fieldone of DELETED_* bitfield constants
Returns
Boolean

Definition at line 949 of file Revision.php.

Referenced by getComment(), getContent(), getUser(), and getUserText().

◆ isMinor()

Revision::isMinor ( )
Returns
Boolean

Definition at line 906 of file Revision.php.

References $mMinorEdit.

Referenced by WikiPage\doEditUpdates().

◆ isUnpatrolled()

Revision::isUnpatrolled ( )
Returns
integer rcid of the unpatrolled row, zero if there isn't one

Definition at line 913 of file Revision.php.

References getRecentChange().

◆ loadFromConds()

static Revision::loadFromConds (   $db,
  $conditions,
  $flags = 0 
)
staticprivate

Given a set of conditions, fetch a revision from the given database connection.

Parameters
$dbDatabaseBase
$conditionsArray
$flagsinteger (optional)
Returns
Revision or null

Definition at line 318 of file Revision.php.

References $flags, $res, $ret, and fetchFromConds().

Referenced by loadFromId(), loadFromPageId(), loadFromTimestamp(), loadFromTitle(), newFromConds(), and newFromTitle().

◆ loadFromId()

static Revision::loadFromId (   $db,
  $id 
)
static

Load a page revision from a given revision ID number.

Returns null if no such revision can be found.

Parameters
$dbDatabaseBase
$idInteger
Returns
Revision or null

Definition at line 218 of file Revision.php.

References array(), and loadFromConds().

◆ loadFromPageId()

static Revision::loadFromPageId (   $db,
  $pageid,
  $id = 0 
)
static

Load either the current, or a specified, revision that's attached to a given page.

If not attached to that page, will return null.

Parameters
$dbDatabaseBase
$pageidInteger
$idInteger
Returns
Revision or null

Definition at line 232 of file Revision.php.

References array(), and loadFromConds().

Referenced by Maintenance\updateSearchIndexForPage().

◆ loadFromTimestamp()

static Revision::loadFromTimestamp (   $db,
  $title,
  $timestamp 
)
static

Load the revision for the given title with the given timestamp.

WARNING: Timestamps may in some circumstances not be unique, so this isn't the best key to use.

Parameters
$dbDatabaseBase
$titleTitle
$timestampString
Returns
Revision or null

Definition at line 277 of file Revision.php.

References $timestamp, $title, array(), and loadFromConds().

Referenced by AttachLatest\execute(), User\getNewMessageLinks(), and WikiPage\replaceSectionContent().

◆ loadFromTitle()

static Revision::loadFromTitle (   $db,
  $title,
  $id = 0 
)
static

Load either the current, or a specified, revision that's attached to a given page.

If not attached to that page, will return null.

Parameters
$dbDatabaseBase
$titleTitle
$idInteger
Returns
Revision or null

Definition at line 252 of file Revision.php.

References $title, array(), and loadFromConds().

◆ loadText()

Revision::loadText ( )
protected

Lazy-load the revision's text.

Currently hardcoded to the 'text' table storage engine.

Returns
String|bool the revision's text, or false on failure

Definition at line 1489 of file Revision.php.

References $dbr, $mTextRow, $wgMemc, array(), DB_MASTER, DB_SLAVE, getRevisionText(), getTextId(), global, IDBAccessObject\READ_LOCKING, wfDebug(), wfDebugLog(), wfGetDB(), wfGetLB(), wfMemcKey(), wfProfileIn(), and wfProfileOut().

Referenced by getContentInternal(), and getSerializedData().

◆ newFromArchiveRow()

static Revision::newFromArchiveRow (   $row,
  $overrides = array() 
)
static

Make a fake revision object from an archive table row.

This is queried for permissions or even inserted (as in Special:Undelete)

Todo:
FIXME: Should be a subclass for RevisionDelete. [TS]
Parameters
$row
$overridesarray
Exceptions
MWException
Returns
Revision

Definition at line 159 of file Revision.php.

References $attribs, array(), getRevisionText(), global, and Title\makeTitle().

Referenced by RevDel_ArchiveItem\__construct(), RevDel_ArchivedRevisionItem\__construct(), DifferenceEngine\deletedLink(), SpecialUndelete\formatRevisionRow(), PageArchive\getRevision(), RevisionStorageTest\testNewFromArchiveRow(), PageArchive\undeleteRevisions(), PopulateRevisionSha1\upgradeLegacyArchiveRow(), PopulateRevisionLength\upgradeRow(), and PopulateRevisionSha1\upgradeRow().

◆ newFromConds()

static Revision::newFromConds (   $conditions,
  $flags = 0 
)
staticprivate

Given a set of conditions, fetch a revision.

Parameters
$conditionsArray
$flagsinteger (optional)
Returns
Revision or null

Definition at line 294 of file Revision.php.

References $flags, $rev, DB_MASTER, DB_SLAVE, loadFromConds(), wfGetDB(), and wfGetLB().

Referenced by newFromId(), newFromPageId(), and newFromTitle().

◆ newFromId()

◆ newFromPageId()

static Revision::newFromPageId (   $pageId,
  $revId = 0,
  $flags = 0 
)
static

Load either the current, or a specified, revision that's attached to a given page ID.

Returns null if no such revision can be found.

$flags include: Revision::READ_LATEST : Select the data from the master (since 1.20) Revision::READ_LOCKING : Select & lock the data from the master

Parameters
$revIdInteger
$pageIdInteger (optional)
$flagsInteger Bitfield (optional)
Returns
Revision or null

Definition at line 137 of file Revision.php.

References $flags, array(), and newFromConds().

Referenced by WikiPage\loadLastEdit().

◆ newFromRow()

static Revision::newFromRow (   $row)
static
Since
1.19
Parameters
$row
Returns
Revision

Definition at line 206 of file Revision.php.

Referenced by ApiFeedContributions\feedItem(), WikiPage\getOldestRevision(), and RevisionStorageTest\testNewFromRow().

◆ newFromTitle()

static Revision::newFromTitle (   $title,
  $id = 0,
  $flags = 0 
)
static

◆ newNullRevision()

static Revision::newNullRevision (   $dbw,
  $pageId,
  $summary,
  $minor 
)
static

Create a new null-revision for insertion into a page's history.

This will not re-save the text, but simply refer to the text from the previous version.

Such revisions can for instance identify page rename operations and other such meta-modifications.

Parameters
$dbwDatabaseBase
$pageIdInteger: ID number of the page to read from
string$summaryrevision's summary
$minorBoolean: whether the revision should be considered as minor
Returns
Revision|null on error

Definition at line 1567 of file Revision.php.

References $summary, array(), global, Title\makeTitle(), wfProfileIn(), and wfProfileOut().

Referenced by WikiPage\insertProtectNullRevision(), Title\moveToInternal(), LocalFile\recordUpload2(), ImportReporter\reportPage(), and RevisionStorageTest\testNewNullRevision().

◆ pageJoinCond()

static Revision::pageJoinCond ( )
static

Return the value of a select() page conds array for the page table.

This will assure that the revision(s) are not orphaned from live pages.

Since
1.19
Returns
Array

Definition at line 396 of file Revision.php.

References array().

Referenced by RevDel_RevisionList\doQuery(), RevisionList\doQuery(), and MergeHistoryPager\getQueryInfo().

◆ selectArchiveFields()

static Revision::selectArchiveFields ( )
static

Return the list of revision fields that should be selected to create a new revision from an archive row.

Returns
array

Definition at line 436 of file Revision.php.

References array(), and global.

Referenced by PopulateRevisionLength\doDBUpdates().

◆ selectFields()

◆ selectPageFields()

static Revision::selectPageFields ( )
static

Return the list of page fields that should be selected from page table.

Returns
array

Definition at line 478 of file Revision.php.

References array().

Referenced by ApiQueryRevisions\execute(), and RebuildTextIndex\populateSearchIndex().

◆ selectTextFields()

static Revision::selectTextFields ( )
static

Return the list of text fields that should be selected to read the revision text.

Returns
array

Definition at line 467 of file Revision.php.

References array().

Referenced by ApiQueryRevisions\execute(), and RebuildTextIndex\populateSearchIndex().

◆ selectUserFields()

static Revision::selectUserFields ( )
static

Return the list of user fields that should be selected from user table.

Returns
array

Definition at line 493 of file Revision.php.

References array().

Referenced by RevDel_RevisionList\doQuery(), RevisionList\doQuery(), ApiQueryRevisions\execute(), HistoryPager\getQueryInfo(), and MergeHistoryPager\getQueryInfo().

◆ setId()

Revision::setId (   $id)

Set the revision ID.

Since
1.19
Parameters
$idInteger

Definition at line 709 of file Revision.php.

◆ setTitle()

Revision::setTitle (   $title)

Set the title of the revision.

Parameters
$titleTitle

Definition at line 786 of file Revision.php.

References $title.

◆ userCan()

Revision::userCan (   $field,
User  $user = null 
)

Determine if the current user is allowed to view a particular field of this revision, if it's marked as deleted.

Parameters
$fieldInteger:one of self::DELETED_TEXT, self::DELETED_COMMENT, self::DELETED_USER
$userUser object to check, or null to use $wgUser
Returns
Boolean

Definition at line 1625 of file Revision.php.

References $user, and userCanBitfield().

Referenced by getComment(), getContent(), getUser(), and getUserText().

◆ userCanBitfield()

static Revision::userCanBitfield (   $bitfield,
  $field,
User  $user = null 
)
static

Determine if the current user is allowed to view a particular field of this revision, if it's marked as deleted.

This is used by various classes to avoid duplication.

Parameters
$bitfieldInteger: current field
$fieldInteger: one of self::DELETED_TEXT = File::DELETED_FILE, self::DELETED_COMMENT = File::DELETED_COMMENT, self::DELETED_USER = File::DELETED_USER
$userUser object to check, or null to use $wgUser
Returns
Boolean

Definition at line 1641 of file Revision.php.

References $user, $wgUser, global, and wfDebug().

Referenced by ApiQueryDeletedrevs\execute(), ApiQueryFilearchive\execute(), ApiQueryWatchlist\extractRowInfo(), ApiQueryContributions\extractRowInfo(), ApiQueryRecentChanges\extractRowInfo(), OldLocalFile\userCan(), ChangesList\userCan(), ArchivedFile\userCan(), and userCan().

◆ userJoinCond()

static Revision::userJoinCond ( )
static

Return the value of a select() JOIN conds array for the user table.

This will get user table rows for logged-in users.

Since
1.19
Returns
Array

Definition at line 386 of file Revision.php.

References array().

Referenced by RevDel_RevisionList\doQuery(), RevisionList\doQuery(), ApiQueryRevisions\execute(), HistoryPager\getQueryInfo(), and MergeHistoryPager\getQueryInfo().

◆ userWasLastToEdit()

static Revision::userWasLastToEdit (   $db,
  $pageId,
  $userId,
  $since 
)
static

Check if no edits were made by other users since the time a user started editing the page.

Limit to 50 revisions for the sake of performance.

Since
1.20
Parameters
DatabaseBase | int$dbthe Database to perform the check on. May be given as a Database object or a database identifier usable with wfGetDB.
int$pageIdthe ID of the page in question
int$userIdthe ID of the user in question
string$sincelook at edits since this time
Returns
bool True if the given user was the only one to edit since the given timestamp

Definition at line 1731 of file Revision.php.

References $res, array(), as, and wfGetDB().

Referenced by RevisionStorageTest\testUserWasLastToEdit().

Member Data Documentation

◆ $mComment

Revision::$mComment
protected

Definition at line 41 of file Revision.php.

Referenced by getComment(), and getRawComment().

◆ $mContent

Content null bool Revision::$mContent
protected

Definition at line 54 of file Revision.php.

◆ $mContentFormat

Revision::$mContentFormat
protected

Definition at line 50 of file Revision.php.

Referenced by getContentFormat().

◆ $mContentHandler

null ContentHandler Revision::$mContentHandler
protected

Definition at line 58 of file Revision.php.

Referenced by getContentHandler().

◆ $mContentModel

Revision::$mContentModel
protected

Definition at line 49 of file Revision.php.

Referenced by getContentModel().

◆ $mCurrent

Revision::$mCurrent
protected

Definition at line 48 of file Revision.php.

Referenced by isCurrent().

◆ $mDeleted

Revision::$mDeleted
protected

Definition at line 37 of file Revision.php.

Referenced by getVisibility(), and insertOn().

◆ $mId

Revision::$mId
protected

Definition at line 27 of file Revision.php.

Referenced by getId(), and insertOn().

◆ $mMinorEdit

Revision::$mMinorEdit
protected

Definition at line 35 of file Revision.php.

Referenced by isMinor().

◆ $mOrigUserText

Revision::$mOrigUserText
protected

Definition at line 33 of file Revision.php.

Referenced by getRawUserText().

◆ $mPage

int null Revision::$mPage
protected

Definition at line 31 of file Revision.php.

Referenced by __construct(), and getPage().

◆ $mParentId

Revision::$mParentId
protected

Definition at line 40 of file Revision.php.

Referenced by getParentId(), and insertOn().

◆ $mQueryFlags

int Revision::$mQueryFlags = 0
protected

Definition at line 62 of file Revision.php.

◆ $mSha1

Revision::$mSha1
protected

Definition at line 39 of file Revision.php.

Referenced by getSha1(), and insertOn().

◆ $mSize

Revision::$mSize
protected

Definition at line 38 of file Revision.php.

Referenced by getSize(), and insertOn().

◆ $mText

Revision::$mText
protected

Definition at line 42 of file Revision.php.

Referenced by getSerializedData(), and insertOn().

◆ $mTextRow

Revision::$mTextRow
protected

Definition at line 43 of file Revision.php.

Referenced by loadText().

◆ $mTimestamp

Revision::$mTimestamp
protected

Definition at line 36 of file Revision.php.

◆ $mTitle

null Title Revision::$mTitle
protected

Definition at line 47 of file Revision.php.

Referenced by getTitle().

◆ $mUser

Revision::$mUser
protected

Definition at line 34 of file Revision.php.

Referenced by getRawUser(), and getUser().

◆ $mUserText

Revision::$mUserText
protected

Definition at line 32 of file Revision.php.

Referenced by getRawUserText().

◆ DELETED_COMMENT

◆ DELETED_RESTRICTED

◆ DELETED_TEXT

◆ DELETED_USER

◆ FOR_PUBLIC

const Revision::FOR_PUBLIC = 1

◆ FOR_THIS_USER

◆ RAW

◆ SUPPRESSED_USER

const Revision::SUPPRESSED_USER = 12

Definition at line 69 of file Revision.php.

Referenced by DeletedContribsPager\getQueryInfo().


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