MediaWiki REL1_32
|
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 118 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 133 of file TextSlotDiffRenderer.php.
References $result, $time, 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 187 of file TextSlotDiffRenderer.php.
References $externalEngine, language(), wfEscapeWikiText(), wfLogWarning(), wfTempDir(), and wikidiff2_do_diff().
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 102 of file TextSlotDiffRenderer.php.
References $type, 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 | ) |
int | $cutoff |
Definition at line 92 of file TextSlotDiffRenderer.php.
|
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().
|
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().
|
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().