MediaWiki master
MediaWiki\Revision\RevisionRenderer Class Reference

The RevisionRenderer service provides access to rendered output for revisions. More...

Public Member Functions

 __construct (ILoadBalancer $loadBalancer, SlotRoleRegistry $roleRegistry, ContentRenderer $contentRenderer, $dbDomain=false)
 
 getRenderedRevision (RevisionRecord $rev, ?ParserOptions $options=null, ?Authority $forPerformer=null, array $hints=[])
 
 setLogger (LoggerInterface $saveParseLogger)
 

Detailed Description

The RevisionRenderer service provides access to rendered output for revisions.

It does so by acting as a factory for RenderedRevision instances, which in turn provide lazy access to ParserOutput objects.

One key responsibility of RevisionRenderer is implementing the layout used to combine the output of multiple slots.

Since
1.32

Definition at line 45 of file RevisionRenderer.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Revision\RevisionRenderer::__construct ( ILoadBalancer $loadBalancer,
SlotRoleRegistry $roleRegistry,
ContentRenderer $contentRenderer,
$dbDomain = false )
Parameters
ILoadBalancer$loadBalancer
SlotRoleRegistry$roleRegistry
ContentRenderer$contentRenderer
string | false$dbDomainDB domain of the relevant wiki or false for the current one

Definition at line 68 of file RevisionRenderer.php.

Member Function Documentation

◆ getRenderedRevision()

MediaWiki\Revision\RevisionRenderer::getRenderedRevision ( RevisionRecord $rev,
?ParserOptions $options = null,
?Authority $forPerformer = null,
array $hints = [] )
Parameters
RevisionRecord$rev
ParserOptions | null$options
Authority | null$forPerformerUser for privileged access. Default is unprivileged (public) access, unless the 'audience' hint is set to something else RevisionRecord::RAW.
array{use-master?:bool,audience?:int,known-revision-output?:ParserOutput,causeAction?:?string,previous-output?:?ParserOutput}$hints Hints given as an associative array. Known keys:
  • 'use-master' Use primary DB when rendering for the parser cache during save. Default is to use a replica.
  • 'audience' the audience to use for content access. Default is RevisionRecord::FOR_PUBLIC if $forUser is not set, RevisionRecord::FOR_THIS_USER if $forUser is set. Can be set to RevisionRecord::RAW to disable audience checks.
  • 'known-revision-output' a combined ParserOutput for the revision, perhaps from some cache. the caller is responsible for ensuring that the ParserOutput indeed matched the $rev and $options. This mechanism is intended as a temporary stop-gap, for the time until caches have been changed to store RenderedRevision states instead of ParserOutput objects.
  • 'previous-output' A previously-rendered ParserOutput for this page. This can be used by Parsoid for selective updates.
  • 'causeAction' the reason for rendering. This should be informative, for used for logging and debugging.
Returns
RenderedRevision|null The rendered revision, or null if the audience checks fails.
Exceptions
BadRevisionException
RevisionAccessException

Definition at line 116 of file RevisionRenderer.php.

References MediaWiki\Revision\RevisionRecord\audienceCan(), DB_PRIMARY, DB_REPLICA, MediaWiki\Revision\RevisionRecord\DELETED_TEXT, MediaWiki\Revision\RevisionRecord\FOR_PUBLIC, MediaWiki\Revision\RevisionRecord\FOR_THIS_USER, MediaWiki\Revision\RevisionRecord\getId(), MediaWiki\Revision\RevisionRecord\getTimestamp(), MediaWiki\Revision\RevisionRecord\getWikiId(), and MediaWiki\Revision\RenderedRevision\setSaveParseLogger().

◆ setLogger()

MediaWiki\Revision\RevisionRenderer::setLogger ( LoggerInterface $saveParseLogger)
Parameters
LoggerInterface$saveParseLogger

Definition at line 84 of file RevisionRenderer.php.


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