X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FRevision%2FRevisionRenderer.php;h=265ad133a47d58d128193caa4332a1d77e766fa2;hb=8c5cb4b1a76cfef9cf4f62aac54ee537d59de560;hp=c937376555cfa7a6966eef8b59c5a0a5ee0f84d3;hpb=9c0eeb1a2d985f77134385975bf611ddc2bb8c7b;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Revision/RevisionRenderer.php b/includes/Revision/RevisionRenderer.php index c937376555..265ad133a4 100644 --- a/includes/Revision/RevisionRenderer.php +++ b/includes/Revision/RevisionRenderer.php @@ -24,8 +24,6 @@ namespace MediaWiki\Revision; use Html; use InvalidArgumentException; -use MediaWiki\Storage\RevisionRecord; -use MediaWiki\Storage\SlotRecord; use ParserOptions; use ParserOutput; use Psr\Log\LoggerInterface; @@ -66,6 +64,13 @@ class RevisionRenderer { $this->saveParseLogger = new NullLogger(); } + /** + * @param LoggerInterface $saveParseLogger + */ + public function setLogger( LoggerInterface $saveParseLogger ) { + $this->saveParseLogger = $saveParseLogger; + } + /** * @param RevisionRecord $rev * @param ParserOptions|null $options @@ -77,6 +82,11 @@ class RevisionRenderer { * - '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. * * @return RenderedRevision|null The rendered revision, or null if the audience checks fails. */ @@ -128,6 +138,10 @@ class RevisionRenderer { $renderedRevision->setSaveParseLogger( $this->saveParseLogger ); + if ( isset( $hints['known-revision-output'] ) ) { + $renderedRevision->setRevisionParserOutput( $hints['known-revision-output'] ); + } + return $renderedRevision; }