MediaWiki
1.34.0
|
RenderedRevision represents the rendered representation of a revision. More...
Public Member Functions | |
__construct (Title $title, RevisionRecord $revision, ParserOptions $options, callable $combineOutput, $audience=RevisionRecord::FOR_PUBLIC, User $forUser=null) | |
getOptions () | |
getRevision () | |
getRevisionParserOutput (array $hints=[]) | |
getSlotParserOutput ( $role, array $hints=[]) | |
isContentDeleted () | |
setRevisionParserOutput (ParserOutput $output) | |
Sets a ParserOutput to be returned by getRevisionParserOutput(). More... | |
setSaveParseLogger (LoggerInterface $saveParseLogger) | |
updateRevision (RevisionRecord $rev) | |
Updates the RevisionRecord after the revision has been saved. More... | |
Private Member Functions | |
getSlotParserOutputUncached (Content $content, $withHtml) | |
outputVariesOnRevisionMetaData (ParserOutput $out, $actualPageId, $actualRevId, $actualRevTimestamp) | |
pruneRevisionSensitiveOutput ( $actualPageId, $actualRevId, $actualRevTimestamp) | |
Prune any output that depends on the revision ID. More... | |
setRevisionInternal (RevisionRecord $revision) | |
Private Attributes | |
int | $audience = RevisionRecord::FOR_PUBLIC |
Audience to check when accessing content. More... | |
callable | $combineOutput |
Callback for combining slot output into revision output. More... | |
User null | $forUser = null |
The user to use for audience checks during content access. More... | |
ParserOptions | $options |
RevisionRecord | $revision |
ParserOutput null | $revisionOutput = null |
The combined ParserOutput for the revision, initialized lazily by getRevisionParserOutput(). More... | |
LoggerInterface | $saveParseLogger |
For profiling ParserOutput re-use. More... | |
ParserOutput[] | $slotsOutput = [] |
The ParserOutput for each slot, initialized lazily by getSlotParserOutput(). More... | |
Title | $title |
RenderedRevision represents the rendered representation of a revision.
It acts as a lazy provider of ParserOutput objects for the revision's individual slots, as well as a combined ParserOutput of all slots.
Definition at line 44 of file RenderedRevision.php.
Revision\RenderedRevision::__construct | ( | Title | $title, |
RevisionRecord | $revision, | ||
ParserOptions | $options, | ||
callable | $combineOutput, | ||
$audience = RevisionRecord::FOR_PUBLIC , |
|||
User | $forUser = null |
||
) |
Title | $title | |
RevisionRecord | $revision | The revision to render. The content for rendering will be taken from this RevisionRecord. However, if the RevisionRecord is not complete according isReadyForInsertion(), but a revision ID is known, the parser may load the revision from the database if it needs revision meta data to handle magic words like {{REVISIONUSER}}. |
ParserOptions | $options | |
callable | $combineOutput | Callback for combining slot output into revision output. Signature: function ( RenderedRevision $this ): ParserOutput. |
int | $audience | Use RevisionRecord::FOR_PUBLIC, FOR_THIS_USER, or RAW. |
User | null | $forUser | Required if $audience is FOR_THIS_USER. |
Definition at line 108 of file RenderedRevision.php.
References Revision\RenderedRevision\$audience, Revision\RenderedRevision\$combineOutput, Revision\RenderedRevision\$forUser, Revision\RenderedRevision\$options, Revision\RenderedRevision\$title, Revision\RevisionRecord\FOR_THIS_USER, and Revision\RenderedRevision\setRevisionInternal().
Revision\RenderedRevision::getOptions | ( | ) |
Definition at line 158 of file RenderedRevision.php.
References Revision\RenderedRevision\$options.
Referenced by Revision\RevisionRenderer\combineSlotOutput().
Revision\RenderedRevision::getRevision | ( | ) |
Definition at line 151 of file RenderedRevision.php.
References Revision\RenderedRevision\$revision.
Referenced by Revision\RevisionRenderer\combineSlotOutput().
Revision\RenderedRevision::getRevisionParserOutput | ( | array | $hints = [] | ) |
array | $hints | Hints given as an associative array. Known keys:
|
Definition at line 192 of file RenderedRevision.php.
References $output, and Revision\RenderedRevision\$revisionOutput.
Revision\RenderedRevision::getSlotParserOutput | ( | $role, | |
array | $hints = [] |
||
) |
string | $role | |
array | $hints | Hints given as an associative array. Known keys:
|
SuppressedDataException | if the content is not accessible for the audience specified in the constructor. |
Implements Revision\SlotRenderingProvider.
Definition at line 222 of file RenderedRevision.php.
References $content, $output, and Revision\RenderedRevision\getSlotParserOutputUncached().
Referenced by Revision\RevisionRenderer\combineSlotOutput().
|
private |
Content | $content | |
bool | $withHtml |
Definition at line 262 of file RenderedRevision.php.
References $content, and Revision\RenderedRevision\$options.
Referenced by Revision\RenderedRevision\getSlotParserOutput().
Revision\RenderedRevision::isContentDeleted | ( | ) |
Definition at line 144 of file RenderedRevision.php.
References Revision\RevisionRecord\DELETED_TEXT.
|
private |
ParserOutput | $out | |
int | bool | $actualPageId | The actual page id, to check the used speculative page ID against; false, to not purge on vary-page-id; true, to purge on vary-page-id unconditionally. |
int | bool | $actualRevId | The actual rev id, to check the used speculative rev ID against,; false, to not purge on vary-revision-id; true, to purge on vary-revision-id unconditionally. |
string | bool | $actualRevTimestamp | The actual rev timestamp, to check against the parser output revision timestamp; false, to not purge on vary-revision-timestamp; true, to purge on vary-revision-timestamp unconditionally. |
Definition at line 411 of file RenderedRevision.php.
References MediaWiki\$context, Revision\RenderedRevision\$saveParseLogger, ParserOutput\getFlag(), ParserOutput\getRevisionTimestampUsed(), ParserOutput\getRevisionUsedSha1Base36(), ParserOutput\getSpeculativePageIdUsed(), and ParserOutput\getSpeculativeRevIdUsed().
Referenced by Revision\RenderedRevision\pruneRevisionSensitiveOutput().
|
private |
Prune any output that depends on the revision ID.
int | bool | $actualPageId | The actual page id, to check the used speculative page ID against; false, to not purge on vary-page-id; true, to purge on vary-page-id unconditionally. |
int | bool | $actualRevId | The actual rev id, to check the used speculative rev ID against,; false, to not purge on vary-revision-id; true, to purge on vary-revision-id unconditionally. |
string | bool | $actualRevTimestamp | The actual rev timestamp, to check against the parser output revision timestamp; false, to not purge on vary-revision-timestamp; true, to purge on vary-revision-timestamp unconditionally. |
Definition at line 316 of file RenderedRevision.php.
References $output, and Revision\RenderedRevision\outputVariesOnRevisionMetaData().
Referenced by Revision\RenderedRevision\updateRevision().
|
private |
RevisionRecord | $revision |
Definition at line 349 of file RenderedRevision.php.
References Revision\RenderedRevision\$revision, Revision\RenderedRevision\$title, and Title\equals().
Referenced by Revision\RenderedRevision\__construct(), and Revision\RenderedRevision\updateRevision().
Revision\RenderedRevision::setRevisionParserOutput | ( | ParserOutput | $output | ) |
Sets a ParserOutput to be returned by getRevisionParserOutput().
Definition at line 172 of file RenderedRevision.php.
References $output, and Revision\SlotRecord\MAIN.
Revision\RenderedRevision::setSaveParseLogger | ( | LoggerInterface | $saveParseLogger | ) |
LoggerInterface | $saveParseLogger |
Definition at line 137 of file RenderedRevision.php.
References Revision\RenderedRevision\$saveParseLogger.
Referenced by Revision\RevisionRenderer\getRenderedRevision().
Revision\RenderedRevision::updateRevision | ( | RevisionRecord | $rev | ) |
Updates the RevisionRecord after the revision has been saved.
This can be used to discard and cached ParserOutput so parser functions like {{REVISIONTIMESTAMP}} or {{REVISIONID}} are re-evaluated.
RevisionRecord | $rev |
Definition at line 280 of file RenderedRevision.php.
References Revision\RevisionRecord\getId(), Revision\RevisionRecord\getSlots(), Revision\RenderedRevision\pruneRevisionSensitiveOutput(), and Revision\RenderedRevision\setRevisionInternal().
|
private |
Audience to check when accessing content.
Definition at line 62 of file RenderedRevision.php.
Referenced by Revision\RenderedRevision\__construct().
|
private |
Callback for combining slot output into revision output.
Signature: function ( RenderedRevision $this ): ParserOutput.
Definition at line 85 of file RenderedRevision.php.
Referenced by Revision\RenderedRevision\__construct().
|
private |
The user to use for audience checks during content access.
Definition at line 67 of file RenderedRevision.php.
Referenced by Revision\RenderedRevision\__construct().
|
private |
Definition at line 57 of file RenderedRevision.php.
Referenced by Revision\RenderedRevision\__construct(), Revision\RenderedRevision\getOptions(), and Revision\RenderedRevision\getSlotParserOutputUncached().
|
private |
Definition at line 52 of file RenderedRevision.php.
Referenced by Revision\RenderedRevision\getRevision(), and Revision\RenderedRevision\setRevisionInternal().
|
private |
The combined ParserOutput for the revision, initialized lazily by getRevisionParserOutput().
Definition at line 73 of file RenderedRevision.php.
Referenced by Revision\RenderedRevision\getRevisionParserOutput().
|
private |
For profiling ParserOutput re-use.
Definition at line 90 of file RenderedRevision.php.
Referenced by Revision\RenderedRevision\outputVariesOnRevisionMetaData(), and Revision\RenderedRevision\setSaveParseLogger().
|
private |
The ParserOutput for each slot, initialized lazily by getSlotParserOutput().
Definition at line 79 of file RenderedRevision.php.
|
private |
Definition at line 49 of file RenderedRevision.php.
Referenced by Revision\RenderedRevision\__construct(), and Revision\RenderedRevision\setRevisionInternal().