MediaWiki REL1_33
|
Renders a slot diff by doing a text diff on the native representation. More...
Public Member Functions | |
getDiff (Content $oldContent=null, Content $newContent=null) | |
@inheritDoc | |
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) | |
setWikiDiff2MovedParagraphDetectionCutoff ( $cutoff) | |
Public Member Functions inherited from SlotDiffRenderer | |
addModules (OutputPage $output) | |
Add modules needed for correct styling/behavior of the diff. | |
getExtraCacheKeys () | |
Return any extra keys to split the diff cache by. | |
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. | |
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 |
int | $wikiDiff2MovedParagraphDetectionCutoff = 0 |
Number of paragraph moves the algorithm should attempt to detect. | |
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 74 of file TextSlotDiffRenderer.php.
References CONTENT_MODEL_TEXT.
@inheritDoc
Reimplemented from SlotDiffRenderer.
Definition at line 119 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 |
Definition at line 134 of file TextSlotDiffRenderer.php.
References $result, $time, and(), 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 188 of file TextSlotDiffRenderer.php.
References $externalEngine, and(), language(), 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 103 of file TextSlotDiffRenderer.php.
References $type, and(), ENGINE_EXTERNAL, ENGINE_PHP, and ENGINE_WIKIDIFF2.
TextSlotDiffRenderer::setLanguage | ( | Language | $language | ) |
Definition at line 85 of file TextSlotDiffRenderer.php.
References $language, and language().
TextSlotDiffRenderer::setStatsdDataFactory | ( | IBufferingStatsdDataFactory | $statsdDataFactory | ) |
Definition at line 81 of file TextSlotDiffRenderer.php.
References $statsdDataFactory.
TextSlotDiffRenderer::setWikiDiff2MovedParagraphDetectionCutoff | ( | $cutoff | ) |
|
private |
One of the ENGINE_* constants.
Definition at line 63 of file TextSlotDiffRenderer.php.
|
private |
Path to an executable to be used as the diff engine.
Definition at line 66 of file TextSlotDiffRenderer.php.
Referenced by getTextDiffInternal().
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().
|
private |
Number of paragraph moves the algorithm should attempt to detect.
Only used with the wikidiff2 engine.
Definition at line 60 of file TextSlotDiffRenderer.php.
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(), TextSlotDiffRendererTest\getTextSlotDiffRenderer(), 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().