MediaWiki REL1_35
|
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.
| |
getExtraCacheKeys () | |
Return any extra keys to split the diff cache by.Stable to override
| |
getTextDiff ( $oldText, $newText) | |
Diff the text representations of two content objects (or just two pieces of text in general). | |
setEngine ( $type, $executable=null) | |
Set which diff engine to use. | |
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. | |
Static Public Member Functions | |
static | diff ( $oldText, $newText) |
Convenience helper to use getTextDiff without an instance. | |
Public Attributes | |
const | ENGINE_EXTERNAL = 'external' |
Use an external executable. | |
const | ENGINE_PHP = 'php' |
Use the PHP diff implementation (DiffEngine). | |
const | ENGINE_WIKIDIFF2 = 'wikidiff2' |
Use the wikidiff2 PHP module. | |
const | ENGINE_WIKIDIFF2_INLINE = 'wikidiff2inline' |
Use the wikidiff2 PHP module. | |
Protected Member Functions | |
getTextDiffInternal ( $oldText, $newText) | |
Diff the text representations of two content objects (or just two pieces of text in general). | |
Protected Member Functions inherited from SlotDiffRenderer | |
normalizeContents (Content &$oldContent=null, Content &$newContent=null, $allowedClasses=null) | |
Helper method to normalize the input of getDiff(). | |
Private Attributes | |
string | $engine = self::ENGINE_PHP |
One of the ENGINE_* constants. | |
string | $externalEngine |
Path to an executable to be used as the diff engine. | |
Language null | $language |
The language this content is in. | |
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 38 of file TextSlotDiffRenderer.php.
|
static |
Convenience helper to use getTextDiff without an instance.
string | $oldText | |
string | $newText |
Definition at line 81 of file TextSlotDiffRenderer.php.
References CONTENT_MODEL_TEXT.
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 121 of file TextSlotDiffRenderer.php.
References getTextDiff(), and SlotDiffRenderer\normalizeContents().
TextSlotDiffRenderer::getExtraCacheKeys | ( | ) |
Return any extra keys to split the diff cache by.Stable to override
Reimplemented from SlotDiffRenderer.
Definition at line 68 of file TextSlotDiffRenderer.php.
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 136 of file TextSlotDiffRenderer.php.
References 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 190 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 104 of file TextSlotDiffRenderer.php.
References $type, ENGINE_EXTERNAL, ENGINE_PHP, ENGINE_WIKIDIFF2, and ENGINE_WIKIDIFF2_INLINE.
TextSlotDiffRenderer::setLanguage | ( | Language | $language | ) |
Definition at line 95 of file TextSlotDiffRenderer.php.
References $language.
TextSlotDiffRenderer::setStatsdDataFactory | ( | IBufferingStatsdDataFactory | $statsdDataFactory | ) |
Definition at line 91 of file TextSlotDiffRenderer.php.
References $statsdDataFactory.
|
private |
One of the ENGINE_* constants.
Definition at line 59 of file TextSlotDiffRenderer.php.
|
private |
Path to an executable to be used as the diff engine.
Definition at line 62 of file TextSlotDiffRenderer.php.
Referenced by getTextDiffInternal().
|
private |
The language this content is in.
Definition at line 56 of file TextSlotDiffRenderer.php.
Referenced by setLanguage().
|
private |
Definition at line 53 of file TextSlotDiffRenderer.php.
Referenced by setStatsdDataFactory().
const TextSlotDiffRenderer::ENGINE_EXTERNAL = 'external' |
Use an external executable.
Definition at line 50 of file TextSlotDiffRenderer.php.
Referenced by ContentHandler\getSlotDiffRendererWithOptions(), and setEngine().
const TextSlotDiffRenderer::ENGINE_PHP = 'php' |
Use the PHP diff implementation (DiffEngine).
Definition at line 41 of file TextSlotDiffRenderer.php.
Referenced by ContentHandler\getSlotDiffRendererWithOptions(), and setEngine().
const TextSlotDiffRenderer::ENGINE_WIKIDIFF2 = 'wikidiff2' |
Use the wikidiff2 PHP module.
Definition at line 44 of file TextSlotDiffRenderer.php.
Referenced by ContentHandler\getSlotDiffRendererWithOptions(), and setEngine().
const TextSlotDiffRenderer::ENGINE_WIKIDIFF2_INLINE = 'wikidiff2inline' |
Use the wikidiff2 PHP module.
Definition at line 47 of file TextSlotDiffRenderer.php.
Referenced by ContentHandler\getSlotDiffRendererWithOptions(), and setEngine().