MediaWiki master
WikitextContentHandler Class Reference

Content handler for wiki text pages. More...

Inherits TextContentHandler.

Inherited by FileContentHandler.

Collaboration diagram for WikitextContentHandler:

Public Member Functions

 __construct (string $modelId, TitleFactory $titleFactory, ParserFactory $parserFactory, GlobalIdGenerator $globalIdGenerator, LanguageNameUtils $languageNameUtils, LinkRenderer $linkRenderer, MagicWordFactory $magicWordFactory, ParsoidParserFactory $parsoidParserFactory)
 
 extractRedirectTargetAndText (WikitextContent $content)
 Extract the redirect target and the remaining text on the page.
 
 getDataForSearchIndex (WikiPage $page, ParserOutput $parserOutput, SearchEngine $engine, ?RevisionRecord $revision=null)
 
 getFieldsForSearchIndex (SearchEngine $engine)
 Get fields definition for search index.
 
 isParserCacheSupported ()
 Returns true, because wikitext supports caching using the ParserCache mechanism.
 
 makeRedirectContent (Title $destination, $text='')
 Returns a WikitextContent object representing a redirect to the given destination page.
 
 preloadTransform (Content $content, PreloadTransformParams $pltParams)
 Returns a Content object with preload transformations applied (or this object if no transformations apply).
 
 preSaveTransform (Content $content, PreSaveTransformParams $pstParams)
 Returns a $content object with pre-save transformations applied (or the same object if no transformations apply).
 
 serializeContent (Content $content, $format=null)
 Returns the content's text as-is.
 
 supportsPreloadContent ()
 If a non-existing page can be created with the contents from another (arbitrary) page being preloaded in the editor, see {.
See also
EditPage::getContentObject}. Only makes sense together with {
supportsDirectEditing}.
Stability: stable
to override
Since
1.39
Returns
bool

 
 supportsRedirects ()
 Returns true because wikitext supports redirects.
 
 supportsSections ()
 Returns true because wikitext supports sections.
 
- Public Member Functions inherited from TextContentHandler
 __construct ( $modelId=CONTENT_MODEL_TEXT, $formats=[CONTENT_FORMAT_TEXT])
 Constructor, initializing the ContentHandler instance with its model ID and a list of supported formats.
 
 makeEmptyContent ()
 Creates an empty TextContent object.
 
 merge3 (Content $oldContent, Content $myContent, Content $yourContent)
 Attempts to merge differences between three versions.
 
 supportsDirectEditing ()
 
 unserializeContent ( $text, $format=null)
 Unserializes a Content object of the type supported by this ContentHandler.
 
- Public Member Functions inherited from ContentHandler
 canBeUsedOn (Title $title)
 Determines whether the content type handled by this ContentHandler can be used for the main slot of the given page.
 
 createDifferenceEngine (IContextSource $context, $old=0, $new=0, $rcid=0, $refreshCache=false, $unhide=false)
 Factory for creating an appropriate DifferenceEngine for this content model.
 
 exportTransform ( $blob, $format=null)
 Applies transformations on export (returns the blob unchanged per default).
 
 fillParserOutputInternal (Content $content, ContentParseParams $cpoParams, ParserOutput &$output)
 A temporary layer to move AbstractContent::fillParserOutput to ContentHandler::fillParserOutput.
 
 generateHTMLOnEdit ()
 Whether an edit on the content should trigger an HTML render and ParserCache entry.
 
 getActionOverrides ()
 Returns overrides for action handlers.
 
 getAutoDeleteReason (Title $title, &$hasHistory=false)
 Auto-generates a deletion reason.
 
 getAutosummary (Content $oldContent=null, Content $newContent=null, $flags=0)
 Return an applicable auto-summary if one exists for the given edit.
 
 getChangeTag (Content $oldContent=null, Content $newContent=null, $flags=0)
 Return an applicable tag if one exists for the given edit or return null.
 
 getDataForSearchIndex (WikiPage $page, ParserOutput $output, SearchEngine $engine, RevisionRecord $revision=null)
 Return fields to be indexed by search engine as representation of this document.
 
 getDefaultFormat ()
 The format used for serialization/deserialization by default by this ContentHandler.
 
 getDeletionUpdates (Title $title, $role)
 Returns a list of DeferrableUpdate objects for removing information about content in some secondary data store.
 
 getModelID ()
 Returns the model id that identifies the content model this ContentHandler can handle.
 
 getPageLanguage (Title $title, Content $content=null)
 Get the language in which the content of the given page is written.
 
 getPageViewLanguage (Title $title, Content $content=null)
 Get the language in which the content of this page is written when viewed by user.
 
 getParserOutput (Content $content, ContentParseParams $cpoParams)
 Returns a ParserOutput object containing information derived from this content.
 
 getParserOutputForIndexing (WikiPage $page, ParserCache $cache=null, RevisionRecord $revision=null)
 Produce page output suitable for indexing.
 
 getSecondaryDataUpdates (Title $title, Content $content, $role, SlotRenderingProvider $slotOutput)
 Returns a list of DeferrableUpdate objects for recording information about the given Content in some secondary data store.
 
 getSlotDiffRenderer (IContextSource $context, array $options=[])
 Get an appropriate SlotDiffRenderer for this content model.
 
 getSupportedFormats ()
 Returns a list of serialization formats supported by the serializeContent() and unserializeContent() methods of this ContentHandler.
 
 getUndoContent (Content $currentContent, Content $undoContent, Content $undoAfterContent, $undoIsLatest=false)
 Get the Content object that needs to be saved in order to undo all changes between $undo and $undoafter.
 
 importTransform ( $blob, $format=null)
 Apply import transformation (per default, returns $blob unchanged).
 
 isSupportedFormat ( $format)
 Returns true if $format is a serialization format supported by this ContentHandler, and false otherwise.
 
 supportsCategories ()
 Returns true if this content model supports categories.
 
 supportsDirectApiEditing ()
 Whether or not this content model supports direct editing via ApiEditPage.
 
 validateSave (Content $content, ValidationParams $validationParams)
 Validate content for saving it.
 

Protected Member Functions

 fillParserOutput (Content $content, ContentParseParams $cpoParams, ParserOutput &$parserOutput)
 Returns a ParserOutput object resulting from parsing the content's text using the global Parser service.
 
 getContentClass ()
 
 getFileHandler ()
 
- Protected Member Functions inherited from ContentHandler
 addSearchField (&$fields, SearchEngine $engine, $name, $type)
 Add new field definition to array.
 
 checkFormat ( $format)
 Convenient for checking whether a format provided as a parameter is actually supported.
 
 checkModelID ( $model_id)
 
 createTextSlotDiffRenderer (array $options=[])
 Create a TextSlotDiffRenderer and inject dependencies.
 
 getDiffEngineClass ()
 Returns the name of the diff engine to use.
 
 getSlotDiffRendererInternal (IContextSource $context)
 Return the SlotDiffRenderer appropriate for this content handler.
 
 getSlotDiffRendererWithOptions (IContextSource $context, $options=[])
 Return the SlotDiffRenderer appropriate for this content handler.
 
 latestRevision (WikiPage $page)
 Get the latest revision of the given $page, fetching it from the primary if necessary.
 

Additional Inherited Members

- Static Public Member Functions inherited from ContentHandler
static getAllContentFormats ()
 
static getContentModels ()
 
static getContentText (Content $content=null)
 Convenience function for getting flat text from a Content object.
 
static getDefaultModelFor (Title $title)
 Returns the name of the default content model to be used for the page with the given title.
 
static getForContent (Content $content)
 Returns the appropriate ContentHandler singleton for the given Content object.
 
static getForModelID ( $modelId)
 Returns the ContentHandler singleton for the given model ID.
 
static getLocalizedName ( $name, Language $lang=null)
 Returns the localized name for a given content model.
 
static makeContent ( $text, Title $title=null, $modelId=null, $format=null)
 Convenience function for creating a Content object from a given textual representation.
 
- Protected Attributes inherited from ContentHandler
string $mModelID
 
string[] $mSupportedFormats
 

Detailed Description

Content handler for wiki text pages.

Definition at line 46 of file WikitextContentHandler.php.

Constructor & Destructor Documentation

◆ __construct()

WikitextContentHandler::__construct ( string $modelId,
TitleFactory $titleFactory,
ParserFactory $parserFactory,
GlobalIdGenerator $globalIdGenerator,
LanguageNameUtils $languageNameUtils,
LinkRenderer $linkRenderer,
MagicWordFactory $magicWordFactory,
ParsoidParserFactory $parsoidParserFactory )

Definition at line 56 of file WikitextContentHandler.php.

References CONTENT_FORMAT_WIKITEXT.

Member Function Documentation

◆ extractRedirectTargetAndText()

WikitextContentHandler::extractRedirectTargetAndText ( WikitextContent $content)

Extract the redirect target and the remaining text on the page.

Since
1.41 (used to be a method on WikitextContent since 1.23)
Returns
array List of two elements: LinkTarget|null and WikitextContent object.

Definition at line 303 of file WikitextContentHandler.php.

◆ fillParserOutput()

WikitextContentHandler::fillParserOutput ( Content $content,
ContentParseParams $cpoParams,
ParserOutput & $parserOutput )
protected

◆ getContentClass()

WikitextContentHandler::getContentClass ( )
protected
Returns
class-string<WikitextContent>

Reimplemented from TextContentHandler.

Definition at line 80 of file WikitextContentHandler.php.

Referenced by makeRedirectContent().

◆ getDataForSearchIndex()

WikitextContentHandler::getDataForSearchIndex ( WikiPage $page,
ParserOutput $parserOutput,
SearchEngine $engine,
?RevisionRecord $revision = null )

Reimplemented from TextContentHandler.

Reimplemented in FileContentHandler.

Definition at line 197 of file WikitextContentHandler.php.

References WikiPage\getTitle(), and NS_FILE.

◆ getFieldsForSearchIndex()

WikitextContentHandler::getFieldsForSearchIndex ( SearchEngine $engine)

Get fields definition for search index.

Todo
Expose title, redirect, namespace, text, source_text, text_bytes field mappings here. (see T142670 and T143409)
Stability: stable
to override
Parameters
SearchEngine$engine
Returns
SearchIndexField[] List of fields this content handler can provide.
Since
1.28

Reimplemented from TextContentHandler.

Reimplemented in FileContentHandler.

Definition at line 178 of file WikitextContentHandler.php.

References SearchEngine\makeSearchFieldMapping().

◆ getFileHandler()

WikitextContentHandler::getFileHandler ( )
protected
Returns
FileContentHandler

Definition at line 165 of file WikitextContentHandler.php.

◆ isParserCacheSupported()

WikitextContentHandler::isParserCacheSupported ( )

Returns true, because wikitext supports caching using the ParserCache mechanism.

Since
1.21
Returns
bool Always true.
See also
ContentHandler::isParserCacheSupported

Reimplemented from ContentHandler.

Definition at line 153 of file WikitextContentHandler.php.

◆ makeRedirectContent()

WikitextContentHandler::makeRedirectContent ( Title $destination,
$text = '' )

Returns a WikitextContent object representing a redirect to the given destination page.

Parameters
Title$destinationThe page to redirect to.
string$textText to include in the redirect, if possible.
Returns
Content
See also
ContentHandler::makeRedirectContent

Reimplemented from ContentHandler.

Definition at line 94 of file WikitextContentHandler.php.

References getContentClass(), MediaWiki\Title\Title\getFullText(), MediaWiki\Title\Title\getInterwiki(), MediaWiki\Title\Title\getNamespace(), and NS_CATEGORY.

◆ preloadTransform()

WikitextContentHandler::preloadTransform ( Content $content,
PreloadTransformParams $pltParams )

Returns a Content object with preload transformations applied (or this object if no transformations apply).

Parameters
Content$content
PreloadTransformParams$pltParams
Returns
Content

Reimplemented from ContentHandler.

Definition at line 278 of file WikitextContentHandler.php.

◆ preSaveTransform()

WikitextContentHandler::preSaveTransform ( Content $content,
PreSaveTransformParams $pstParams )

Returns a $content object with pre-save transformations applied (or the same object if no transformations apply).

Note
Not stable to call other then from ContentHandler hierarchy. Callers need to use ContentTransformer::preSaveTransform.
Stability: stable
to override
Since
1.37
Parameters
Content$content
PreSaveTransformParams$pstParams
Returns
Content

Reimplemented from TextContentHandler.

Definition at line 244 of file WikitextContentHandler.php.

◆ serializeContent()

WikitextContentHandler::serializeContent ( Content $content,
$format = null )

Returns the content's text as-is.

Parameters
Content$content
string | null$formatThe serialization format to check
Returns
mixed

Reimplemented from TextContentHandler.

Definition at line 232 of file WikitextContentHandler.php.

◆ supportsPreloadContent()

WikitextContentHandler::supportsPreloadContent ( )

If a non-existing page can be created with the contents from another (arbitrary) page being preloaded in the editor, see {.

See also
EditPage::getContentObject}. Only makes sense together with {
supportsDirectEditing}.
Stability: stable
to override
Since
1.39
Returns
bool

Reimplemented from ContentHandler.

Definition at line 158 of file WikitextContentHandler.php.

◆ supportsRedirects()

WikitextContentHandler::supportsRedirects ( )

Returns true because wikitext supports redirects.

Returns
bool Always true.
See also
ContentHandler::supportsRedirects

Reimplemented from ContentHandler.

Definition at line 128 of file WikitextContentHandler.php.

◆ supportsSections()

WikitextContentHandler::supportsSections ( )

Returns true because wikitext supports sections.

Returns
bool Always true.
See also
ContentHandler::supportsSections

Reimplemented from ContentHandler.

Definition at line 139 of file WikitextContentHandler.php.


The documentation for this class was generated from the following file: