MediaWiki REL1_33
DifferenceEngineSlotDiffRenderer.php
Go to the documentation of this file.
1<?php
32
35
37 $this->differenceEngine = clone $differenceEngine;
38
39 // Set state to loaded. This should not matter to any of the methods invoked by
40 // the adapter, but just in case a load does get triggered somehow, make sure it's a no-op.
41 $fakeContent = ContentHandler::getForModelID( CONTENT_MODEL_WIKITEXT )->makeEmptyContent();
42 $this->differenceEngine->setContent( $fakeContent, $fakeContent );
43
44 $this->differenceEngine->markAsSlotDiffRenderer();
45 }
46
48 public function getDiff( Content $oldContent = null, Content $newContent = null ) {
49 $this->normalizeContents( $oldContent, $newContent );
50 return $this->differenceEngine->generateContentDiffBody( $oldContent, $newContent );
51 }
52
53 public function addModules( OutputPage $output ) {
54 $oldContext = null;
55 if ( $output !== $this->differenceEngine->getOutput() ) {
56 $oldContext = $this->differenceEngine->getContext();
57 $newContext = new DerivativeContext( $oldContext );
58 $newContext->setOutput( $output );
59 $this->differenceEngine->setContext( $newContext );
60 }
61 $this->differenceEngine->showDiffStyle();
62 if ( $oldContext ) {
63 $this->differenceEngine->setContext( $oldContext );
64 }
65 }
66
67 public function getExtraCacheKeys() {
68 return $this->differenceEngine->getExtraCacheKeys();
69 }
70
71}
An IContextSource implementation which will inherit context from another source but allow individual ...
B/C adapter for turning a DifferenceEngine into a SlotDiffRenderer.
addModules(OutputPage $output)
Add modules needed for correct styling/behavior of the diff.
__construct(DifferenceEngine $differenceEngine)
getDiff(Content $oldContent=null, Content $newContent=null)
@inheritDoc
getExtraCacheKeys()
Return any extra keys to split the diff cache by.
DifferenceEngine is responsible for rendering the difference between two revisions as HTML.
This class should be covered by a general architecture document which does not exist as of January 20...
Renders a diff for a single slot (that is, a diff between two content objects).
normalizeContents(Content &$oldContent=null, Content &$newContent=null, $allowedClasses=null)
Helper method to normalize the input of getDiff().
static configuration should be added through ResourceLoaderGetConfigVars instead can be used to get the real title e g db for database replication lag or jobqueue for job queue size converted to pseudo seconds It is possible to add more fields and they will be returned to the user in the API response after the basic globals have been set but before ordinary actions take place $output
Definition hooks.txt:2272
const CONTENT_MODEL_WIKITEXT
Definition Defines.php:244
Base interface for content objects.
Definition Content.php:34