MediaWiki REL1_32
TextContentHandler Class Reference

Base content handler implementation for flat text contents. More...

Inheritance diagram for TextContentHandler:
Collaboration diagram for TextContentHandler:

Public Member Functions

 __construct ( $modelId=CONTENT_MODEL_TEXT, $formats=[CONTENT_FORMAT_TEXT])
 Constructor, initializing the ContentHandler instance with its model ID and a list of supported formats.
 
 getDataForSearchIndex (WikiPage $page, ParserOutput $output, SearchEngine $engine)
 Return fields to be indexed by search engine as representation of this document.
 
 getFieldsForSearchIndex (SearchEngine $engine)
 Get fields definition for search index.
 
 makeEmptyContent ()
 Creates an empty TextContent object.
 
 merge3 (Content $oldContent, Content $myContent, Content $yourContent)
 Attempts to merge differences between three versions.
 
 serializeContent (Content $content, $format=null)
 Returns the content's text as-is.
 
 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 on 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).
 
 getActionOverrides ()
 Returns overrides for action handlers.
 
 getAutoDeleteReason (Title $title, &$hasHistory)
 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.
 
 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.
 
 getParserOutputForIndexing (WikiPage $page, ParserCache $cache=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)
 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 ( $current, $undo, $undoafter, $undoIsLatest=false)
 Get the Content object that needs to be saved in order to undo all revisions between $undo and $undoafter.
 
 importTransform ( $blob, $format=null)
 Apply import transformation (per default, returns $blob unchanged).
 
 isParserCacheSupported ()
 Returns true for content models that support caching using the ParserCache mechanism.
 
 isSupportedFormat ( $format)
 Returns true if $format is a serialization format supported by this ContentHandler, and false otherwise.
 
 makeParserOptions ( $context)
 Get parser options suitable for rendering and caching the article.
 
 makeRedirectContent (Title $destination, $text='')
 Creates a new Content object that acts as a redirect to the given page, or null if redirects are not supported by this content model.
 
 supportsCategories ()
 Returns true if this content model supports categories.
 
 supportsDirectApiEditing ()
 Whether or not this content model supports direct editing via ApiEditPage.
 
 supportsRedirects ()
 Returns true if this content model supports redirects.
 
 supportsSections ()
 Returns true if this content model supports sections.
 

Protected Member Functions

 getContentClass ()
 Returns the name of the associated Content class, to be used when creating new objects.
 
- 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)
 
 getDiffEngineClass ()
 Returns the name of the diff engine to use.
 
 getSlotDiffRendererInternal (IContextSource $context)
 Return the SlotDiffRenderer appropriate for this content handler.
 

Additional Inherited Members

- Static Public Member Functions inherited from ContentHandler
static cleanupHandlersCache ()
 Clean up handlers cache.
 
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 getForTitle (Title $title)
 Returns the appropriate ContentHandler singleton for the given title.
 
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
 
- Static Protected Attributes inherited from ContentHandler
static array $handlers
 A Cache of ContentHandler instances by model id.
 

Detailed Description

Base content handler implementation for flat text contents.

Definition at line 31 of file TextContentHandler.php.

Constructor & Destructor Documentation

◆ __construct()

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.

Values for the parameters are typically provided as literals by subclass's constructors.

Parameters
string$modelId(use CONTENT_MODEL_XXX constants).
string[]$formatsList for supported serialization formats (typically as MIME types)

Reimplemented from ContentHandler.

Definition at line 33 of file TextContentHandler.php.

Member Function Documentation

◆ getContentClass()

TextContentHandler::getContentClass ( )
protected

Returns the name of the associated Content class, to be used when creating new objects.

Override expected by subclasses.

Since
1.24
Returns
string

Reimplemented in GadgetDefinitionContentHandler, CodeContentHandler, CssContentHandler, JavaScriptContentHandler, JsonContentHandler, and WikitextContentHandler.

Definition at line 101 of file TextContentHandler.php.

Referenced by makeEmptyContent(), and unserializeContent().

◆ getDataForSearchIndex()

TextContentHandler::getDataForSearchIndex ( WikiPage $page,
ParserOutput $output,
SearchEngine $engine )

Return fields to be indexed by search engine as representation of this document.

Overriding class should call parent function or take care of calling the SearchDataForIndex hook.

Parameters
WikiPage$pagePage to index
ParserOutput$output
SearchEngine$engineSearch engine for which we are indexing
Returns
array Map of name=>value for fields
Since
1.28

Reimplemented from ContentHandler.

Reimplemented in FileContentHandler, and WikitextContentHandler.

Definition at line 151 of file TextContentHandler.php.

References $engine, $output, and ContentHandler\getPageLanguage().

◆ getFieldsForSearchIndex()

TextContentHandler::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)
Parameters
SearchEngine$engine
Returns
SearchIndexField[] List of fields this content handler can provide.
Since
1.28

Reimplemented from ContentHandler.

Reimplemented in FileContentHandler, and WikitextContentHandler.

Definition at line 143 of file TextContentHandler.php.

References $engine, and SearchIndexField\INDEX_TYPE_KEYWORD.

◆ makeEmptyContent()

TextContentHandler::makeEmptyContent ( )

Creates an empty TextContent object.

Since
1.21
Returns
Content A new TextContent object with empty text.

Reimplemented from ContentHandler.

Reimplemented in GadgetDefinitionContentHandler, JsonContentHandler, and RevisionTestModifyableContentHandler.

Definition at line 129 of file TextContentHandler.php.

References getContentClass().

Referenced by merge3().

◆ merge3()

TextContentHandler::merge3 ( Content $oldContent,
Content $myContent,
Content $yourContent )

Attempts to merge differences between three versions.

Returns a new Content object for a clean merge and false for failure or a conflict.

All three Content objects passed as parameters must have the same content model.

This text-based implementation uses wfMerge().

Parameters
Content$oldContentThe page's previous content.
Content$myContentOne of the page's conflicting contents.
Content$yourContentOne of the page's conflicting contents.
Returns
Content|bool

Reimplemented from ContentHandler.

Definition at line 66 of file TextContentHandler.php.

References ContentHandler\checkModelID(), ContentHandler\getDefaultFormat(), Content\getModel(), makeEmptyContent(), serializeContent(), unserializeContent(), and wfMerge().

◆ serializeContent()

TextContentHandler::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 ContentHandler.

Definition at line 45 of file TextContentHandler.php.

References $content, and ContentHandler\checkFormat().

Referenced by merge3().

◆ supportsDirectEditing()

TextContentHandler::supportsDirectEditing ( )
See also
ContentHandler::supportsDirectEditing
Returns
bool Default is true for TextContent and derivatives.

Reimplemented from ContentHandler.

Definition at line 139 of file TextContentHandler.php.

◆ unserializeContent()

TextContentHandler::unserializeContent ( $text,
$format = null )

Unserializes a Content object of the type supported by this ContentHandler.

Since
1.21
Parameters
string$textSerialized form of the content
string | null$formatThe format used for serialization
Returns
Content The TextContent object wrapping $text

Reimplemented from ContentHandler.

Reimplemented in RevisionTestModifyableContentHandler.

Definition at line 115 of file TextContentHandler.php.

References ContentHandler\checkFormat(), and getContentClass().

Referenced by merge3().


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