MediaWiki
1.34.0
|
Renders a slot diff by doing a text diff on the native representation. More...
Public Member Functions | |
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 removed), but both cannot be. $newContent (or if it's null then $oldContent) must have the same content model that was used to obtain this diff renderer.
| |
getTextDiff ( $oldText, $newText) | |
Diff the text representations of two content objects (or just two pieces of text in general). More... | |
setEngine ( $type, $executable=null) | |
Set which diff engine to use. More... | |
setLanguage (Language $language) | |
setStatsdDataFactory (IBufferingStatsdDataFactory $statsdDataFactory) | |
Public Member Functions inherited from SlotDiffRenderer | |
addModules (OutputPage $output) | |
Add modules needed for correct styling/behavior of the diff. More... | |
getExtraCacheKeys () | |
Return any extra keys to split the diff cache by. More... | |
Static Public Member Functions | |
static | diff ( $oldText, $newText) |
Convenience helper to use getTextDiff without an instance. More... | |
Public Attributes | |
const | ENGINE_EXTERNAL = 'external' |
Use an external executable. More... | |
const | ENGINE_PHP = 'php' |
Use the PHP diff implementation (DiffEngine). More... | |
const | ENGINE_WIKIDIFF2 = 'wikidiff2' |
Use the wikidiff2 PHP module. More... | |
Protected Member Functions | |
getTextDiffInternal ( $oldText, $newText) | |
Diff the text representations of two content objects (or just two pieces of text in general). More... | |
Protected Member Functions inherited from SlotDiffRenderer | |
normalizeContents (Content &$oldContent=null, Content &$newContent=null, $allowedClasses=null) | |
Helper method to normalize the input of getDiff(). More... | |
Private Attributes | |
string | $engine = self::ENGINE_PHP |
One of the ENGINE_* constants. More... | |
string | $externalEngine |
Path to an executable to be used as the diff engine. More... | |
Language null | $language |
The language this content is in. More... | |
IBufferingStatsdDataFactory null | $statsdDataFactory |
Renders a slot diff by doing a text diff on the native representation.
If you want to use this without content objects (to call getTextDiff() on some non-content-related texts), obtain an instance with ContentHandler::getForModelID( CONTENT_MODEL_TEXT ) ->getSlotDiffRenderer( RequestContext::getMain() )
Definition at line 37 of file TextSlotDiffRenderer.php.
|
static |
Convenience helper to use getTextDiff without an instance.
string | $oldText | |
string | $newText |
Definition at line 66 of file TextSlotDiffRenderer.php.
References CONTENT_MODEL_TEXT, ContentHandler\getForModelID(), and RequestContext\getMain().
Get a diff between two content objects.One of them might be null (meaning a slot was created or removed), but both cannot be. $newContent (or if it's null then $oldContent) must have the same content model that was used to obtain this diff renderer.
Reimplemented from SlotDiffRenderer.
Definition at line 103 of file TextSlotDiffRenderer.php.
References getTextDiff(), and SlotDiffRenderer\normalizeContents().
TextSlotDiffRenderer::getTextDiff | ( | $oldText, | |
$newText | |||
) |
Diff the text representations of two content objects (or just two pieces of text in general).
string | $oldText | |
string | $newText |
tags.
Definition at line 118 of file TextSlotDiffRenderer.php.
References $status, and getTextDiffInternal().
Referenced by getDiff().
|
protected |
Diff the text representations of two content objects (or just two pieces of text in general).
This does the actual diffing, getTextDiff() wraps it with logging and resource limiting.
string | $oldText | |
string | $newText |
Exception |
Definition at line 172 of file TextSlotDiffRenderer.php.
References $externalEngine, wfEscapeWikiText(), and wfTempDir().
Referenced by getTextDiff().
TextSlotDiffRenderer::setEngine | ( | $type, | |
$executable = null |
|||
) |
Set which diff engine to use.
string | $type | One of the ENGINE_* constants. |
string | null | $executable | Path to an external exectable, only when type is ENGINE_EXTERNAL. |
Definition at line 87 of file TextSlotDiffRenderer.php.
References $type, ENGINE_EXTERNAL, ENGINE_PHP, and ENGINE_WIKIDIFF2.
TextSlotDiffRenderer::setLanguage | ( | Language | $language | ) |
Definition at line 78 of file TextSlotDiffRenderer.php.
References $language.
TextSlotDiffRenderer::setStatsdDataFactory | ( | IBufferingStatsdDataFactory | $statsdDataFactory | ) |
Definition at line 74 of file TextSlotDiffRenderer.php.
References $statsdDataFactory.
|
private |
One of the ENGINE_* constants.
Definition at line 55 of file TextSlotDiffRenderer.php.
|
private |
Path to an executable to be used as the diff engine.
Definition at line 58 of file TextSlotDiffRenderer.php.
Referenced by getTextDiffInternal().
|
private |
The language this content is in.
Definition at line 52 of file TextSlotDiffRenderer.php.
Referenced by setLanguage().
|
private |
Definition at line 49 of file TextSlotDiffRenderer.php.
Referenced by setStatsdDataFactory().
const TextSlotDiffRenderer::ENGINE_EXTERNAL = 'external' |
Use an external executable.
Definition at line 46 of file TextSlotDiffRenderer.php.
Referenced by ContentHandler\getSlotDiffRendererInternal(), and setEngine().
const TextSlotDiffRenderer::ENGINE_PHP = 'php' |
Use the PHP diff implementation (DiffEngine).
Definition at line 40 of file TextSlotDiffRenderer.php.
Referenced by ContentHandler\getSlotDiffRendererInternal(), and setEngine().
const TextSlotDiffRenderer::ENGINE_WIKIDIFF2 = 'wikidiff2' |
Use the wikidiff2 PHP module.
Definition at line 43 of file TextSlotDiffRenderer.php.
Referenced by ContentHandler\getSlotDiffRendererInternal(), and setEngine().