MediaWiki
REL1_39
SlotDiffRenderer.php
Go to the documentation of this file.
1
<?php
23
use Wikimedia\Assert\Assert;
24
40
abstract
class
SlotDiffRenderer
{
41
50
abstract
public
function
getDiff
(
Content
$oldContent =
null
,
Content
$newContent =
null
);
51
57
public
function
addModules
(
OutputPage
$output ) {
58
}
59
65
public
function
getExtraCacheKeys
() {
66
return
[];
67
}
68
78
protected
function
normalizeContents
(
79
Content
&$oldContent =
null
,
Content
&$newContent =
null
, $allowedClasses =
null
80
) {
81
if
( !$oldContent && !$newContent ) {
82
throw
new
InvalidArgumentException(
'$oldContent and $newContent cannot both be null'
);
83
}
84
85
if
( $allowedClasses ) {
86
if
( !is_array( $allowedClasses ) ) {
87
$allowedClasses = explode(
'|'
, $allowedClasses );
88
}
89
$allowedClasses[] =
'null'
;
90
Assert::parameterType( $allowedClasses, $oldContent,
'$oldContent'
);
91
Assert::parameterType( $allowedClasses, $newContent,
'$newContent'
);
92
}
93
94
if
( !$oldContent ) {
95
$oldContent = $newContent->getContentHandler()->makeEmptyContent();
96
} elseif ( !$newContent ) {
97
$newContent = $oldContent->getContentHandler()->makeEmptyContent();
98
}
99
}
100
101
}
OutputPage
This is one of the Core classes and should be read at least once by any new developers.
Definition
OutputPage.php:54
SlotDiffRenderer
Renders a diff for a single slot (that is, a diff between two content objects).
Definition
SlotDiffRenderer.php:40
SlotDiffRenderer\addModules
addModules(OutputPage $output)
Add modules needed for correct styling/behavior of the diff.
Definition
SlotDiffRenderer.php:57
SlotDiffRenderer\getExtraCacheKeys
getExtraCacheKeys()
Return any extra keys to split the diff cache by.
Definition
SlotDiffRenderer.php:65
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:78
Content
Base interface for content objects.
Definition
Content.php:35
includes
diff
SlotDiffRenderer.php
Generated on Mon Dec 23 2024 06:23:10 for MediaWiki by
1.10.0