MediaWiki
REL1_34
SlotDiffRenderer.php
Go to the documentation of this file.
1
<?php
23
use Wikimedia\Assert\Assert;
24
39
abstract
class
SlotDiffRenderer
{
40
49
abstract
public
function
getDiff
(
Content
$oldContent =
null
,
Content
$newContent =
null
);
50
55
public
function
addModules
(
OutputPage
$output ) {
56
}
57
62
public
function
getExtraCacheKeys
() {
63
return
[];
64
}
65
75
protected
function
normalizeContents
(
76
Content
&$oldContent =
null
,
Content
&$newContent =
null
, $allowedClasses =
null
77
) {
78
if
( !$oldContent && !$newContent ) {
79
throw
new
InvalidArgumentException(
'$oldContent and $newContent cannot both be null'
);
80
}
81
82
if
( $allowedClasses ) {
83
if
( is_array( $allowedClasses ) ) {
84
$allowedClasses = implode(
'|'
, $allowedClasses );
85
}
86
Assert::parameterType( $allowedClasses .
'|null'
, $oldContent,
'$oldContent'
);
87
Assert::parameterType( $allowedClasses .
'|null'
, $newContent,
'$newContent'
);
88
}
89
90
if
( !$oldContent ) {
91
$oldContent = $newContent->getContentHandler()->makeEmptyContent();
92
} elseif ( !$newContent ) {
93
$newContent = $oldContent->getContentHandler()->makeEmptyContent();
94
}
95
}
96
97
}
OutputPage
This is one of the Core classes and should be read at least once by any new developers.
Definition
OutputPage.php:46
SlotDiffRenderer
Renders a diff for a single slot (that is, a diff between two content objects).
Definition
SlotDiffRenderer.php:39
SlotDiffRenderer\addModules
addModules(OutputPage $output)
Add modules needed for correct styling/behavior of the diff.
Definition
SlotDiffRenderer.php:55
SlotDiffRenderer\getExtraCacheKeys
getExtraCacheKeys()
Return any extra keys to split the diff cache by.
Definition
SlotDiffRenderer.php:62
SlotDiffRenderer\getDiff
getDiff(Content $oldContent=null, Content $newContent=null)
Get a diff between two content objects.
SlotDiffRenderer\normalizeContents
normalizeContents(Content &$oldContent=null, Content &$newContent=null, $allowedClasses=null)
Helper method to normalize the input of getDiff().
Definition
SlotDiffRenderer.php:75
Content
Base interface for content objects.
Definition
Content.php:34
includes
diff
SlotDiffRenderer.php
Generated on Mon Nov 25 2024 16:05:05 for MediaWiki by
1.10.0