MediaWiki REL1_37
TextContent Class Reference

Content object implementation for representing flat text. More...

Inheritance diagram for TextContent:
Collaboration diagram for TextContent:

Public Member Functions

 __construct ( $text, $model_id=CONTENT_MODEL_TEXT)
 
 convert ( $toModel, $lossy='')
 This implementation provides lossless conversion between content models based on TextContent.
 
 copy ()
 
 diff (Content $that, Language $lang=null)
 Diff this content object with another content object.
 
 getNativeData ()
 Returns the text represented by this Content object, as a string.
 
 getSize ()
 Returns the text's size in bytes.
 
 getText ()
 Returns the text represented by this Content object, as a string.
 
 getTextForSearchIndex ()
 Returns the text represented by this Content object, as a string.
 
 getTextForSummary ( $maxlength=250)
 
 getWikitextForTransclusion ()
 Returns attempts to convert this content object to wikitext, and then returns the text string.
 
 isCountable ( $hasLinks=null)
 Returns true if this content is not a redirect, and $wgArticleCountMethod is "any".
 
- Public Member Functions inherited from AbstractContent
 __construct ( $modelId=null)
 
 addSectionHeader ( $header)
 
 equals (Content $that=null)
 Decides whether two Content objects are equal.
 
 getContentHandler ()
 
 getDefaultFormat ()
 
 getModel ()
 
 getParserOutput (Title $title, $revId=null, ParserOptions $options=null, $generateHtml=true)
 Returns a ParserOutput object containing information derived from this content.
 
 getRedirectChain ()
 
 getRedirectTarget ()
 Subclasses that implement redirects should override this.
 
 getSection ( $sectionId)
 
 getSupportedFormats ()
 
 getUltimateRedirectTarget ()
 
 isEmpty ()
 
 isRedirect ()
 
 isSupportedFormat ( $format)
 
 isValid ()
 Subclasses may override this to implement (light weight) validation.
 
 matchMagicWord (MagicWord $word)
 This default implementation always returns false.
 
 preloadTransform (Title $title, ParserOptions $popts, $params=[])
 
 prepareSave (WikiPage $page, $flags, $parentRevId, User $user)
 
 preSaveTransform (Title $title, User $user, ParserOptions $popts)
 
 replaceSection ( $sectionId, Content $with, $sectionTitle='')
 
 serialize ( $format=null)
 
 updateRedirect (Title $target)
 This default implementation always returns $this.
 

Static Public Member Functions

static normalizeLineEndings ( $text)
 Do a "\\r\\n" -> "\\n" and "\\r" -> "\\n" transformation as well as trim trailing whitespace.
 

Protected Member Functions

 fillParserOutput (Title $title, $revId, ParserOptions $options, $generateHtml, ParserOutput &$output)
 Fills the provided ParserOutput object with information derived from the content.
 
 getHtml ()
 Generates an HTML version of the content, for display.
 
- Protected Member Functions inherited from AbstractContent
 checkFormat ( $format)
 
 checkModelID ( $modelId)
 
 equalsInternal (Content $that)
 Checks whether $that is logically equal to this Content object.
 
 getContentHandlerFactory ()
 

Protected Attributes

string $mText
 
- Protected Attributes inherited from AbstractContent
string $model_id
 Name of the content model this Content object represents.
 

Detailed Description

Content object implementation for representing flat text.

TextContent instances are immutable

@newable

Stability: stable
to extend

Definition at line 39 of file TextContent.php.

Constructor & Destructor Documentation

◆ __construct()

TextContent::__construct (   $text,
  $model_id = CONTENT_MODEL_TEXT 
)
Stability: stable
to call
Parameters
string$text
string$model_id
Exceptions
MWException

Reimplemented in CssContent, JavaScriptContent, and JsonContent.

Definition at line 52 of file TextContent.php.

References AbstractContent\$model_id, and wfWarn().

Member Function Documentation

◆ convert()

TextContent::convert (   $toModel,
  $lossy = '' 
)

This implementation provides lossless conversion between content models based on TextContent.

Stability: stable
to override
Parameters
string$toModelThe desired content model, use the CONTENT_MODEL_XXX flags.
string$lossyFlag, set to "lossy" to allow lossy conversion. If lossy conversion is not allowed, full round-trip conversion is expected to work without losing information.
Returns
Content|bool A content object with the content model $toModel, or false if that conversion is not supported.
Exceptions
MWUnknownContentModelException
See also
Content::convert()

Reimplemented from AbstractContent.

Definition at line 314 of file TextContent.php.

References AbstractContent\getContentHandlerFactory(), and getText().

Referenced by getWikitextForTransclusion().

◆ copy()

TextContent::copy ( )
Note
Mutable subclasses MUST override this to return a copy!
Returns
Content $this

Implements Content.

Definition at line 74 of file TextContent.php.

Referenced by WikitextContent\replaceSection().

◆ diff()

TextContent::diff ( Content  $that,
Language  $lang = null 
)

Diff this content object with another content object.

Stability: stable
to override
Since
1.21
Parameters
Content$thatThe other content object to compare this content object to.
Language | null$langThe language object to use for text segmentation. If not given, the content language is used.
Returns
Diff A diff representing the changes that would have to be made to this content object to make it equal to $that.

Definition at line 220 of file TextContent.php.

References $lang, AbstractContent\checkModelID(), Content\getModel(), and getText().

◆ fillParserOutput()

TextContent::fillParserOutput ( Title  $title,
  $revId,
ParserOptions  $options,
  $generateHtml,
ParserOutput $output 
)
protected

Fills the provided ParserOutput object with information derived from the content.

Unless $generateHtml was false, this includes an HTML representation of the content provided by getHtml().

For content models listed in $wgTextModelsToParse, this method will call the MediaWiki wikitext parser on the text to extract any (wikitext) links, magic words, etc.

Subclasses may override this to provide custom content processing. For custom HTML generation alone, it is sufficient to override getHtml().

Stability: stable
to override
Parameters
Title$titleContext title for parsing
int$revIdRevision ID (for {{REVISIONID}})
ParserOptions$options
bool$generateHtmlWhether or not to generate HTML
ParserOutput&$outputThe output object to fill (reference).

Reimplemented from AbstractContent.

Reimplemented in JsonContent, and WikitextContent.

Definition at line 261 of file TextContent.php.

References $title, $wgTextModelsToParse, ParserOutput\clearWrapperDivClass(), getHtml(), AbstractContent\getModel(), getText(), and ParserOutput\setText().

◆ getHtml()

TextContent::getHtml ( )
protected

Generates an HTML version of the content, for display.

Used by fillParserOutput() to provide HTML for the ParserOutput object.

Subclasses may override this to provide a custom HTML rendering. If further information is to be derived from the content (such as categories), the fillParserOutput() method can be overridden instead.

Stability: stable
to override
Returns
string An HTML representation of the content

Reimplemented in CssContent, JavaScriptContent, and WikitextContent.

Definition at line 294 of file TextContent.php.

References getText().

Referenced by fillParserOutput().

◆ getNativeData()

TextContent::getNativeData ( )

Returns the text represented by this Content object, as a string.

Deprecated:
since 1.33 use getText() instead.
Returns
string The raw text. Subclasses may guarantee a specific syntax here.

Implements Content.

Definition at line 139 of file TextContent.php.

References getText().

◆ getSize()

TextContent::getSize ( )

Returns the text's size in bytes.

Stability: stable
to override
Returns
int

Implements Content.

Definition at line 101 of file TextContent.php.

References getText().

◆ getText()

TextContent::getText ( )

Returns the text represented by this Content object, as a string.

Since
1.33
Note
This method should not be overwritten by subclasses. If a subclass find itself in need to override this method, it should probably not be based on TextContent, but should rather extend AbstractContent instead.
Returns
string The raw text.

Definition at line 153 of file TextContent.php.

References $mText.

Referenced by WikitextContent\addSectionHeader(), convert(), diff(), fillParserOutput(), JsonContent\getData(), MediaWiki\Rest\Handler\UpdateHandler\getDiff(), CssContent\getHtml(), JavaScriptContent\getHtml(), getHtml(), getNativeData(), CssContent\getRedirectTarget(), JavaScriptContent\getRedirectTarget(), WikitextContent\getRedirectTargetAndText(), WikitextContent\getSection(), getSize(), getTextForSearchIndex(), getTextForSummary(), WikitextContent\matchMagicWord(), and WikitextContent\replaceSection().

◆ getTextForSearchIndex()

TextContent::getTextForSearchIndex ( )

Returns the text represented by this Content object, as a string.

Stability: stable
to override
Returns
string The raw text.

Implements Content.

Definition at line 164 of file TextContent.php.

References getText().

◆ getTextForSummary()

TextContent::getTextForSummary (   $maxlength = 250)
Stability: stable
to override
Parameters
int$maxlength
Returns
string

Implements Content.

Reimplemented in WikitextContent.

Definition at line 85 of file TextContent.php.

References getText().

◆ getWikitextForTransclusion()

TextContent::getWikitextForTransclusion ( )

Returns attempts to convert this content object to wikitext, and then returns the text string.

The conversion may be lossy.

Stability: stable
to override
Note
this allows any text-based content to be transcluded as if it was wikitext.
Returns
string|bool The raw text, or false if the conversion failed.

Implements Content.

Definition at line 178 of file TextContent.php.

References CONTENT_MODEL_WIKITEXT, and convert().

◆ isCountable()

TextContent::isCountable (   $hasLinks = null)

Returns true if this content is not a redirect, and $wgArticleCountMethod is "any".

Stability: stable
to override
Parameters
bool | null$hasLinksIf it is known whether this content contains links, provide this information here, to avoid redundant parsing to find out.
Returns
bool

Implements Content.

Definition at line 118 of file TextContent.php.

References $wgArticleCountMethod, and AbstractContent\isRedirect().

◆ normalizeLineEndings()

static TextContent::normalizeLineEndings (   $text)
static

Do a "\\r\\n" -> "\\n" and "\\r" -> "\\n" transformation as well as trim trailing whitespace.

This was formerly part of Parser::preSaveTransform, but for non-wikitext content models they probably still want to normalize line endings without all of the other PST changes.

Since
1.28
Parameters
string$text
Returns
string

Definition at line 203 of file TextContent.php.

Member Data Documentation

◆ $mText

string TextContent::$mText
protected

Definition at line 44 of file TextContent.php.


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