MediaWiki
1.34.0
DifferenceEngineSlotDiffRenderer.php
Go to the documentation of this file.
1
<?php
31
class
DifferenceEngineSlotDiffRenderer
extends
SlotDiffRenderer
{
32
34
private
$differenceEngine
;
35
36
public
function
__construct
(
DifferenceEngine
$differenceEngine
) {
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
}
ContentHandler\getForModelID
static getForModelID( $modelId)
Returns the ContentHandler singleton for the given model ID.
Definition:
ContentHandler.php:254
DifferenceEngineSlotDiffRenderer\$differenceEngine
DifferenceEngine $differenceEngine
Definition:
DifferenceEngineSlotDiffRenderer.php:34
CONTENT_MODEL_WIKITEXT
const CONTENT_MODEL_WIKITEXT
Definition:
Defines.php:215
SlotDiffRenderer\normalizeContents
normalizeContents(Content &$oldContent=null, Content &$newContent=null, $allowedClasses=null)
Helper method to normalize the input of getDiff().
Definition:
SlotDiffRenderer.php:75
DerivativeContext
An IContextSource implementation which will inherit context from another source but allow individual ...
Definition:
DerivativeContext.php:30
DifferenceEngineSlotDiffRenderer\getDiff
getDiff(Content $oldContent=null, Content $newContent=null)
Get a diff between two content objects.One of them might be null (meaning a slot was created or remov...
Definition:
DifferenceEngineSlotDiffRenderer.php:48
$output
$output
Definition:
SyntaxHighlight.php:335
DifferenceEngineSlotDiffRenderer\addModules
addModules(OutputPage $output)
Add modules needed for correct styling/behavior of the diff.
Definition:
DifferenceEngineSlotDiffRenderer.php:53
DifferenceEngineSlotDiffRenderer\getExtraCacheKeys
getExtraCacheKeys()
Return any extra keys to split the diff cache by.
Definition:
DifferenceEngineSlotDiffRenderer.php:67
Content
Base interface for content objects.
Definition:
Content.php:34
DifferenceEngineSlotDiffRenderer\__construct
__construct(DifferenceEngine $differenceEngine)
Definition:
DifferenceEngineSlotDiffRenderer.php:36
SlotDiffRenderer
Renders a diff for a single slot (that is, a diff between two content objects).
Definition:
SlotDiffRenderer.php:39
DifferenceEngine
DifferenceEngine is responsible for rendering the difference between two revisions as HTML.
Definition:
DifferenceEngine.php:51
DifferenceEngineSlotDiffRenderer
B/C adapter for turning a DifferenceEngine into a SlotDiffRenderer.
Definition:
DifferenceEngineSlotDiffRenderer.php:31
includes
diff
DifferenceEngineSlotDiffRenderer.php
Generated on Thu Dec 19 2019 14:54:16 for MediaWiki by
1.8.16